I'd love to see Knack recognize an update command in the record rules as an insert command if there's no existing record it would extremely helpful for many scenarios. One given below:
I have a few processes that have about 5 pages of forms with parent-child relationships. This is typically an on-boarding process of some type. Many of the forms need to be filled out at on-boarding, but also there may be times where a new form under that employee/customer needs to be filled out. So I really need a one to many relationship between the employee/customer and the forms. However, I've found that the employees will go back and forth between the forms in the process using the back arrow or crumb trail and it generates multiple records in the database. This causes a lot of problems.
In order to solve the problem I've had to create a one to one relationship to an initial entry form that populates the regular form using the record rules. Because I have to insert a record when they visit the page the first time and update the record every other time they visit that page I have to do some things in record rules that mostly work, but still aren't fail proof. In order to make it work, the form has to detect whether it's the first time they've submitted or an additional time. If it's the first time then it inserts a record into the database object in the record rules. If on the other hand it's the second or latter time it updates the record in the record rules. Since the record rules don't run in any particular order I can't just place a field that says "already been here" and decide whether to insert or update based on that, sometimes it would work, sometimes not. I had to create a second submit button on the page that changes the "already been here" field to "Yes".
This solution has mostly worked, but sometimes fails if people reload the page and change something in the top form before they hit the submit on the second form on that page. It also causes issues sometimes when they enter data and bypass the first submit button accidentally and just push the second submit button. But it's the best I've been able to come up with.