Jump to content


Caspio Evangelist
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by kpcollier

  1. Hi @StigOmenaas, are you talking about something like this? https://howto.caspio.com/tech-tips-and-articles/tech-parameters/how-to-create-a-one-to-many-relational-datapage/
  2. It's smaller for me too (well, the image of the bubble. the clickable area is the same size as before). But, obviously, still in the way of the scrollbar and a bit of the last column on the right.
  3. Yeah, I feel like Caspio doesn't give much thought to the IdeaBox at all.
  4. I'm not too sure how to change the text in the 'Choose File' button. But, you can definitely change the way the element looks. <style> #InsertRecordFIELDNAME { height: 200px; border: 1px dashed; } </style>
  5. Can you share your code? It may make it easier for us. Read up on Media Queries, you can set a class for different sized viewports. This will let you use CSS to disable/hide the scrollbar on specific screen sizes.
  6. @EvSamFwiw, you can already drag a file over to the standard file upload picker/element. Even though it has a button that says 'Choose File', you can still drag a file over to the box and it should work.
  7. I'm looking for a solution for something like this, but for Inline Edit on a Tabular Report. I have the same issue - I need the ability to show one of two different Views depending on the value of the parent field. The Rules solution worked great in getting my forms right, but now I need to cover all my bases for when the user does an update via a report.
  8. I'm having trouble coming up with a solution for a pretty complex report, and I'm hoping I can get some insight from you all. There are two main tables included in this report, which are a one-to-many set up - Job_Table (information about our projects) and TimeEntry_Table (timecard for employees) TimeEntry_Table is where users will select which Job they worked on (from the Job_Table), record the day they worked on that Job, and record how many hours they worked on that job on that day. This table has the Job_ID, Date, Hours fields that I need in my report. I can only have one instance of each Job on my report. I need to be able to filter the report by a Date Range from the Date field in TimeEntry_Table. I also need the ability to hide/not include any Jobs in the report if they have 0/No hours worked in the provided Date Range. I also need to have the Sum of the Hours field for each TimeEntry_Table record in that date range. Pretty much, I need to have a tabular report where I can see a list of my Jobs that have been worked on and how many hours have been worked on them in the date range I provided in the search form. Right now, I am using a report datapage with Job_table as the datasource, using virtual fields in the search form to capture the date range, and using calculated fields that query the TimeEntry_Table to provide the sum of Hours for each job. However, EVERY job is included in this report, even if there are no hours worked. The new Distinct Report feature looked like it may work, but I also need the ability to use Totals & Aggregation to give a sum of all hours worked on all jobs in the date range, and the new Distinct feature removes that ability. I appreciate any help.
  9. Maybe try adding another Calculated Value to the form. Just make the Calculated Value's value to be equal to the Virtual Parameter's value. And use it in place of the cbParamVirtual1 in your anchor tag.
  10. I haven't done anything like this, but I think there's a way with Triggers just like you had described. You could add a text(64000) comment box to your table, and a checkbox just like you had mentioned. Add those to the report. Then your users can add their comments, check the box if they want it to be emailed, and click update. Then you would just run an update trigger. If #inserted.checkbox is checked, send email. Wherever in the email body, just use the field picker to grab the comments box. After the email block, make it so the checkbox is unchecked, and then make the comments box = blank. If you want a running list of replies, you could add two text(64000) fields to your table. The first one will house all the comments/replies, while the other one will be used to update the list of replies on the first one. In this case, use comment box #2 in your report where the user would add a new comment. In your trigger, update the first comment box by adding the the contents of what is already in the 1st comment box (just select #inserted.firstcommentbox) + maybe a line break or two + the 2nd comment box. Then use this first comment box in your email block, and after that clear the 2nd comments box so that it is empty for the next user to reply on the report. This way the 1st comment box will always be updated with each reply, and the 2nd comment box will be a clear slate to make it easier for your users to enter a reply. You could even include the 1st comment box on your report as well if you wanted, just for the users to view all the replies, and have a clean slate to add their own comments next to it. I haven't tried this out but I'm pretty sure it should work. Lol.
  11. I am trying to do something like the original post. I have two different Single Record Update forms for two different departments. The records in my tabular report are in 2 groups - Residential and Commercial. I am trying to have only 1 update 'button' on the tabular report that will redirect to the correct SRU Form - Either Residential SRU or Commercial SRU - depending on the value of a field. I have a Yes/No field named Commercial_Service. If this is checked, it is a Commercial record. If not, it is a Residential record. Hence, if it is checked, I want the button to redirect the user to Commercial SRU form, and if unchecked, redirect to Residential SRU form. Any ideas?
  12. OK. I apologize for the long post. Inventory apps are kinda complex. I'm thinking you need to add a third table. You say you have your Parts table and your Locations table, right? Now you need one to combine the two. In your new table, lets call it Stock_Inventory for now, you would need to add a few different fields. First, you need at least two integer fields for Parts and Locations table foreign keys. The IDs of the records from the Parts Table and Locations Table will go here. Make sure to go to Relationships and give a relationship from your Parts and Locations table ID field to the Stock_Inventory PartsID/LocationID fields. Then you need to add a number field to use as a Stock Level field, to denote how many of the part you have in stock. Self explanatory. One part that is tricky is adding and removing from the stock level, and there is probably a better way than what I am going to try to explain, but this way definitely works. You will add 'Add_To_Stock' and 'Remove_From_Stock' fields to your new Stock_Inventory table as number fields. For this workflow, I created a Single Record Update form that is embedded into a link on my Stock Inventory Report via an HTML block. When you click on the link next to the desired Part, the link will send the ID parameter of the part from Stock_Inventory table to that form, that way we are editing the correct Part. Then we can use the 'Add_To_Stock' and 'Subtract_From_Stock' number fields in this form to edit the Stock Level. Then you need to use a trigger like the one below to either add/subtract from the Stock Level and to reset the Add_To_Stock and Subtract_From_Stock fields. Obviously, to populate this new table, you will need a submission form for it. In this form you will add the PartID and LocationID fields and have them as a dropdown or something with the datasource being a lookup to their respective tables. That way the dropdown for Parts shows only values from your Parts Table, likewise for Locations. Add the Stock Level field to the form to set the initial stock level. Now the users can use this form when part/location combo is not yet listed in the Stock Inventory table. Now you'll run your stock inventory report on your new Stock_Inventory table, that will display the Part Number, the Location it is stored, and how many of it you have. Each line will have a link to the Single Record Update form, where you can either put in a value for Subtracting or for Adding to the stock. You can make the records in the report editable so that you can change the Location field via a dropdown from your Locations_Table. Then, for your other worries, you can create submission forms for your Parts Table and for your Locations Table, add these forms to the report as link somewhere (I use the header). Now the user can use those forms to add a Location to the Location Table or a Part to the Part Table. For some more helpful tools, you can add a 'Desired Stock Level' field for each part, and a 'Restock Level' formula field. This way you can take your current Stock Level and your Desired Stock Level and show as a percent how many you have in stock vs how many you want to be in stock. When this percentage gets low, say to 30%, you know it is about time to order some more.' Some helpful links of things I talked about here: Caspio Link Generator with Parameter Help Triggered Actions Help Database Relationships
  13. Check out the post below.
  14. I don't believe you can do it through a link like that with 1 datapage. It seems the URL is the same for all 3 sections, Search/Report/Details. You could use this workflow https://howto.caspio.com/tech-tips-and-articles/tech-parameters/results-and-details-on-two-separate-web-pages/ With that, you could add the new Details page link to replace your current link on your report, so that would act normally as it does now. Then, you could also use that Details page link for the workflow you want above. Just use the Details page url with the unique identifier and it will take the user straight there. It is a pain having to use another datapage, though.
  15. I do not believe this is possible. Like you mentioned previously, triggered actions only work on insert/update/delete actions, while Tasks can only be run on a set time/date or from clicking "Run Now" from the Bridge. What are you trying to do? Maybe we can help create a workaround to get you to a similar workflow that you had in mind.
  16. Hi @KlisaN137, this workflow is really nice, and seems to be a better way than just 'hiding' the field with CSS. Thank you for the solution! I threw this script into an if statement to only run if my parameter value = 'N'. One issue I am running in to is going back to the Search Form. It is working for the first time I search and see the results report, but the moment I click the 'Search Again' link, I receive an error: Uncaught TypeError: Cannot read properties of null (reading 'parentElement') This prevents the script from working from there on out. If you search again after getting this error, it does not work. I've also tried to add an if condition with appkey, as I don't want this script to mess with any of my other reports on the webpage, and the same error was occuring. Any ideas? *It seems it is hiding a column every single time click search, as well. It is always hiding the 5th column, and not resetting after you go back to the search form. So, it hides the 5th column on first search, then you go back and click search again, and it hides the 5th column again (which was the 6th column the first go around), making 2 columns hidden. document.addEventListener('DataPageReady', function (event) { let label = document.querySelector('table[data-cb-name="cbTable"] th:nth-of-type(5)'); let values = document.querySelectorAll('table[data-cb-name="cbTable"] td:nth-of-type(5)'); var dynLab = [@CS_Label]; if (dynLab == 'N'){ label.parentElement.removeChild(label) values.forEach(el => { el.parentElement.removeChild(el) }); } });
  17. document.querySelector("input[id^='ComboBoxInsertRecordJob_Type_CS_New']").value = '' this will clear the input box where you see the selected values comma delimited, but when you click on the dropdown, it still shows their respective checkboxes still checked.
  18. I have two List - String multi-select dropdowns on my submission form. One of them is always hidden depending on the selection of the Work Type field. If Work Type = New Work, then MultiSelect1 shows and the other is hidden. If Work Type = Repair, then MultiSelect2 shows, and the other one is hidden. I am trying to figure out how to clear the selected values on the MultiSelect that is hidden. Say, a user already started selecting values for MultiSelect1 and noticed they needed to change to MultiSelect2... I would like the values they selected in MultiSelect1 to reset when switching over to MultiSelect2 when the user switches the Work Type value. I know this is difficult because of the way List String fields work. This would be immensely easier and function a lot better if Caspio would just make dynamic List String datatypes, that could use lookup tables. Any help is appreciated.
  19. Try changing the WHERE block. Remove the 'timestamp equals date' logic. Go to the Date tab on the left and select the 'difference in __ between' block and give that a try. Change difference in years to difference in days, then put timestamp, then put date. Something like the image below
  20. Are you talking about when you add a new element or page to the weebly site? Major changes like that would always require a refresh, I would believe. Or, do you mean, if a user updates a record in a report, or submits a form or something, they need to refresh to see the data? If that is the case, you don't have 'Disable AJAX Loading' turned on, on your datapages, do you?
  21. I have a workflow involving a Tabular Report with inline insert and inline edit/grid edit enabled. I need to allow the users to input a value for a couple of fields for inline insert, but make the same fields noneditable for existing records. In other words, I need the field to be editable for inline insert, and noneditable for inline edit and grid edit. Is this possible?
  22. I have been messing around with a date parameter with greater than or equal, and while it does navigate to the correct week, it makes all records previous to that date blank. So, if the date parameter was a Friday, the previous 4 days of the week would be blank to the user. When I add criteria to the Date field and add a 'less than or equal' field to receive the parameter as well, it just opens up to the date of the very first record ever submitted by the user.
  23. I have a weekly calendar datapage that is being accessed through a link in an email. I am trying to send a Date parameter through the link to the weekly calendar datapage, to which the datapage will open up on the week of that date parameter received. In example, if the date parameter received was 10/11/2019, the datapage will open up to the week of 10/11/2019 and show all of the records for that week. I have the datapage receiving a date parameter and it successfully opens up to the correct week, but it filters out all other records besides the date received via parameter. So, the datapage goes to the correct week, but only 1 day is showing record results, with the other dates being blank (even if there are records for that date). Does anyone know how to set a weekly calendar datapage to a specific week in the past, via a parameter?
  • Create New...