Part of a task assignment rotation program that I'm building includes the ability to add a "skip". A technician can still be in the rotation to be assigned a task.
When the Assign Task button is pressed, the Skips field is decremented by 1. Obviously, this should only happen if the value of the Skips field is greater than zero.
I have a Rule for Field Definition set up, but cannot get it to fire when the form updates.
Something like this maybe
<p><br /></p><ac:structured-macro ac:name="confiform" ac:schema-version="1" ac:macro-id="a5e261dc-0998-4bc3-bd92-3c4bd1b621b0"><ac:parameter ac:name="formName">form</ac:parameter><ac:rich-text-body> <p><ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="85a72a26-0b76-40e0-9ac6-4fdd339f3bda"><ac:parameter ac:name="fieldName">RASTechSkips</ac:parameter><ac:parameter ac:name="fieldLabel">Skips</ac:parameter><ac:parameter ac:name="type">number</ac:parameter><ac:parameter ac:name="separator">true</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="5a24f515-a16c-4f83-be53-1bf2cd974ce1"><ac:parameter ac:name="fieldName">AssignTaskButton</ac:parameter><ac:parameter ac:name="fieldLabel">Assign Task</ac:parameter><ac:parameter ac:name="extras">RASTechLastAssigned=[entry._now]&RASTechSkips=(IF([entry.RASTechSkips]<1, 0, ([entry.RASTechSkips]-1)))</ac:parameter><ac:parameter ac:name="type">action_button</ac:parameter></ac:structured-macro></p> <p><ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="b79061da-c9f2-43d9-aa74-0c3d0afc22fd"><ac:parameter ac:name="fieldName">RASTechLastAssigned</ac:parameter><ac:parameter ac:name="fieldLabel">RASTechLastAssigned</ac:parameter><ac:parameter ac:name="type">datetime</ac:parameter></ac:structured-macro> <ac:structured-macro ac:name="confiform-field-definition-rules" ac:schema-version="1" ac:macro-id="375e6803-a2a8-4d91-a55d-bf676a4ebf68"><ac:parameter ac:name="fieldName">RASTechLastAssigned</ac:parameter><ac:parameter ac:name="action">Hide field</ac:parameter></ac:structured-macro></p><ac:structured-macro ac:name="confiform-ifttt" ac:schema-version="1" ac:macro-id="09ddecb3-3215-4738-afd2-4522503d4e96"><ac:parameter ac:name="condition">RASTechSkips:<0</ac:parameter><ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter><ac:parameter ac:name="event">onCreated</ac:parameter><ac:parameter ac:name="title">entryId=[entry.id]&RASTechSkips=0</ac:parameter><ac:rich-text-body> <p><br /></p></ac:rich-text-body></ac:structured-macro> <p><br /></p><ac:structured-macro ac:name="confiform-entry-register" ac:schema-version="1" ac:macro-id="4ed1ee0f-4bc4-4146-9806-fe9f8e8f0077"><ac:parameter ac:name="type">Embedded</ac:parameter><ac:rich-text-body> <p><br /></p></ac:rich-text-body></ac:structured-macro> <p><br /></p></ac:rich-text-body></ac:structured-macro> <p><br /></p><ac:structured-macro ac:name="confiform-table" ac:schema-version="1" ac:macro-id="8fb32a27-ee57-487d-a590-863334128e7b"><ac:parameter ac:name="formName">form</ac:parameter><ac:rich-text-body> <p><br /></p></ac:rich-text-body></ac:structured-macro> <p><br /></p>
But I would actually move the assignment for the RASTechLastAssigned as a ConfiForms IFTTT macro to update this field ONLY when the RASTechSkips field value changes... as otherwise it will change on each click on the "assign task" button
Alex
Thanks Alex, I'll take a look!
The Last Assigned field is supposed to be updated on each click of the assign task button. The view for those in office is sorted by last assigned, ascending, in order to keep the tech with the longest duration between assigned tasks at the top.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Brillian @Alex Medved _ConfiForms_ worked like a charm. Didn't know you could embed an IF statement into the action!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You see.. the action will still run... adding the IF into the action itself is not practical
That is why I suggested to move RASTechLastAssigned value update to IFTTT that you can make conditional
hasChanged(RASTechSkips):true
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Configuration:
<ac:structured-macro ac:macro-id="bc6f7c03-94c0-43d2-abee-dbe22403cf34" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">AssignTaskButton</ac:parameter>
<ac:parameter ac:name="fieldLabel">Assign Task</ac:parameter>
<ac:parameter ac:name="extras">RASTechLastAssigned=[entry._now]&RASTechSkips=([entry.RASTechSkips]-1)</ac:parameter>
<ac:parameter ac:name="type">action_button</ac:parameter>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="71dbd978-83a6-4950-91e6-808bf89777c0" ac:name="confiform-field-definition-rules" ac:schema-version="1">
<ac:parameter ac:name="condition">[entry.RASTechSkips]:<0</ac:parameter>
<ac:parameter ac:name="noPropagation">true</ac:parameter>
<ac:parameter ac:name="values">[entry.RASTechSkips]=0</ac:parameter>
<ac:parameter ac:name="action">Set value</ac:parameter>
<ac:parameter ac:name="onUserActionOnly">true</ac:parameter>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="85a72a26-0b76-40e0-9ac6-4fdd339f3bda" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">RASTechSkips</ac:parameter>
<ac:parameter ac:name="fieldLabel">Skips</ac:parameter>
<ac:parameter ac:name="type">number</ac:parameter>
<ac:parameter ac:name="separator">true</ac:parameter>
</ac:structured-macro>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.