Presentation is loading. Please wait.

Presentation is loading. Please wait.

Formulas and Form Rule Use Cases

Similar presentations


Presentation on theme: "Formulas and Form Rule Use Cases"— Presentation transcript:

1

2 Formulas and Form Rule Use Cases
Kirk Trachy QuickBase Sales Engineer

3 How to use Formulas and Form Rules to solve common workflow challenges
Agenda How to use Formulas and Form Rules to solve common workflow challenges Explore 60 Formula URL and Formula Text field use cases Some will work with form How to use graphics to edit a project How to use common features for assignment, and approval Look at two ways to create project templates Consider a simple way to handle tasks and sub-tasks Test the formulas See how they work Discuss options and possibilities

4 Benefits of Formulas and Form Rules
Automate complex processes Provide a custom user experiences Ease new user adoption Save training time Simplify use

5 Get “Magic Buttons” App from App Exchange

6 Green Square Bar Graph var text star = "<img" & " src=\"" & " var text notstar = "<img" & " src=\"" & " var number numberstars = (Floor([% Project Completed] * 10)); //10 is the number of units, because 10 is 1/10th of 100. "<span alt=\"" & ToText($numberstars) & " of 10 \" title=\"" & ToText($numberstars) & " of 10 \" class=\"NoWrap\">" & If($numberstars >= 1, $star, $notstar) & If($numberstars >= 2, $star, $notstar) & If($numberstars >= 3, $star, $notstar) & If($numberstars >= 4, $star, $notstar) & If($numberstars >= 5, $star, $notstar) & If($numberstars >= 6, $star, $notstar) & If($numberstars >= 7, $star, $notstar) & If($numberstars >= 8, $star, $notstar) & If($numberstars >= 9, $star, $notstar) & If($numberstars >= 10, $star, $notstar) & "</span>” // Uses a formula text field to display the colored graphics

7 Green Square Bar Graph (Press to adjust %)
This option allows you to press one of the 10 boxes and it invokes an API_EditRecord to change the value of the % Project Complete field. This changes the number of green boxes versus gray boxes. After executing it returns back to from where it started. Open the application and edit the field properties to view the code. There is too much code to display in this slide.

8 Assignment, email workflow, approval and log
Using radio button to trigger notification Using radio button to activate pointer graphic Using logging text to capture approvals Using a formula checkbox to track approvals Using logging text to capture audit trail

9 Status Background Color
Case ([Color Status],"Not Started", "<div style=\"background-color:pink;width:50\">Not Started</div>", "In-Progress","<div style=\"background-color:lightyellow;width:50\">In-Progress</div>", "Completed","<div style=\"background-color:honeydew;width:50\">Completed</div>",null)

10 Status Text Color Case([Color Status], "Not Started", "<font color=red>Not Started</font>", "In-Progress", "<font color=orange>In-Progress</font>", "Completed", "<font color=green>Completed</font>")

11 Project Template Selector
"javascript:void(copyMasterDetailButtonHandler('&sourceRID="&[Template Selector]&"&destrid=" & [Record ID#] & "', 'bjq8b7xcx'))” // Note the [Template Selector] field advising this button to import tasks from a specific template

12 Tasks and Sub-Tasks Option
URLRoot() & "db/" & [_DBID_TASKS] & "?act=API_GenAddRecordForm&_fid_48=" & [Related Project] & "&_fid_6=" & [Task Name] & "&z=" & Rurl() // This formula URL is added to the task table // and is invoked from the embedded report link of all the tasks on the project record

13 1A. Change status to completed then display record
URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&rid=" & [Record ID#] & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_28=Completed" & "&_fid_143=100" & "&_fid_153=Completed" & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#]) // Press the button and this changes the status of this record to "Completed" and // then redirects back to the same form in display record mode

14 2A. Change status to completed then dashboard
URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&rid=" & [Record ID#] & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_28=Completed" & "&_fid_153=Completed" & "&_fid_143=100" & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid()) // Press the button and this changes the status of this record to "Completed" and // then redirects to the dashboard

15 3A. Check a checkbox then display record
URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&rid=" & [Record ID#] & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_101=1" & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#]) // Press the button and this changes the "Checkbox" to checked and // then redirects back to the same form in display record mode

16 4A. Check/Uncheck a checkbox then display record
If([Checkbox] = false, URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&rid=" & [Record ID#] & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_101=1" & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#]), URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&_fid_101=0" & "?a=dr&rid=" & [Record ID#]))

17 5A. Check/Uncheck a checkbox then edit record
If([Checkbox] = false, URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&rid=" & [Record ID#] & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_101=1" & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=er&rid=" & [Record ID#]), "&_fid_101=0" & "?a=er&rid=" & [Record ID#]))

18 6A. Show/Hide project section then display record
If([Show Project Section] = false, URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&rid=" & [Record ID#] & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_105=1" & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#]), URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&_fid_105=0" & "?a=dr&rid=" & [Record ID#]))

19 7A. Change to a different form then display record
URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#] & "&dfid=13" // When pressed this will display the record you are already on but with an alternate form (dfid=13)

20 8A. Assign to self then display record
URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&AppToken=d9eascudwjxs2sesxkjccwgtq9r" & "&rid=" & [Record ID#] & "&_fid_97=" & URLEncode(User()) & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#]) // Press a button and assign yourself as "Project Manager" and then redirect to display the form

21 9A. Create a project snapshot then display record
URLRoot() & "db/" & [_DBID_PROJECT_SNAPSHOTS] & "?a=API_AddRecord" & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_6=" & [Project Name] & "&_fid_7=" & [Status] & "&_fid_8=" & [Priority] & "&_fid_9=" & [Est Start Date] & "&_fid_10=" & [Est End Date] & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#]) // Press the button and uses API_AddRecord to pass Project Name, Status, Priority, etc. // to a snapshot table named [_DBID_PROJECT_SNAPSHOTS]

22 10A. Pop up an alert "javascript:alert('This is your alert! Now you can create your own alerts.')"]

23 11A. Check or uncheck and return
var text url = If([Checkbox] = false, URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=1", URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=0"); "javascript:" & "$.get('" & $url & "',function(){" & "location.reload();" & "});" & "void(0);"

24 12A. Check and uncheck a checkbox and display
URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=" & 1 & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=" & 0 & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#] & "")) // Using the API_EditRecord this checks the checkbox at fid_101 and then redirects (rdr) // and unchecks the checkbox and // then redirects back to a displayed record (dr)

25 13A. Confirm then check and uncheck and display
"javascript:if(confirm ('Are you sure you want to this record?')){location.assign('/db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=" & 1 & "&rdr=" & URLEncode(URLEncode(URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=" & 0 & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#] & ""))) & "')}" // This button confirms you wish to a record. // This assumes you have an notification ready to fire when the check box field 101 is checked. // After checking the checkbox this redirects to uncheck the checkbox and then redirects to display the record. // It looks like nothing has happened but it has.

26 14A. Check and uncheck and return
var text url = URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=" & 1 & "&rdr=" & URLEncode(URLEncode(URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&apptoken=c7y3n83dz8fuc2n8jum5dzq4iky&rid=" & [Record ID#] & "&_fid_101=0")); "javascript:" & "$.get('" & $url & "',function(){" & "location.reload();" & "});" & "void(0);”

27 15A. Change the status to completed and return
var text url = URLRoot() & "db/" & Dbid() & "?a=API_EditRecord" & "&rid=" & [Record ID#] & "&apptoken=d9eascudwjxs2sesxkjccwgtq9r" & "&_fid_28=Completed" & "&_fid_153=Completed" & "&_fid_143=100"; "javascript:" & "$.get('" & $url & "', function(){" & "location.reload();" & "});" & "void(0);" // Sets a variable called url with a url constructed of an API_EditRecord and changes fid_28 to Completed // The bottom of this formula then calls the URL and reloads the page from where you came. // If you originated in edit your will end in edit. // If you originated in display you will end in display. // If you originated on a report you will end on a report. // If you originated on a dashboard you will end on a dashboard.

28 16A. Go to some URL "

29 17A. Print URLRoot() & "db/" & Dbid() & "?a=printr&rid=" & [Record ID#] // DISCLAIMER: This is not a supported QuickBase feature. QuickBase reserves the right to change this code at any time without notice.

30 18B. My button label changes
"<a class=\"Vibrant Success\" href=\" & [18A. Label text] & "</a>" // This button takes you to a list of recorded Webinars at // Change the URL to change the destination URL. // Changing the Status field drop down box will change the text on the button. // Option: You can remove the " & [18A. Label text] & " and insert your own fixed text.

31 19A. Submit and redirect URLRoot() & "db/" & Dbid() & "?a=dbpage&pagename=success.html" // This works because you have turned on the table's advance settings, "Save parent record automatically when a child record is created." // When you press this button it automatically saves the record before going to your destination page.

32 20A. Edit record then add record then display record
URLRoot() & "db/" & [_DBID_CLIENT] & "?a=API_EditRecord&apptoken=d9eascudwjxs2sesxkjccwgtq9r&_fid_28=Completed&_fid_153=Completed&_fid_143=100&rid=" & [Record ID#] & "&rdr=" & URLEncode(URLRoot() & "db/" & [_DBID_PROJECT_SNAPSHOTS] & "?a=API_AddRecord&apptoken=d9eascudwjxs2sesxkjccwgtq9r&_fid_6=" & [Project Name] & "&_fid_7=" & [Status] & "&_fid_8=" & [Priority] & "&_fid_9=" & [Est Start Date] & "&_fid_10=" & [Est End Date] & "&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#])) // Edit the record and change the status to Completed then redirect to // Adding a Project Snapshot record to the Project Snapshot table then redirect to // displaying the original record

33 Other buttons

34 QUESTIONS?


Download ppt "Formulas and Form Rule Use Cases"

Similar presentations


Ads by Google