FX Form Setup
Adding an FX Form
Customers should review the terms and conditions of the Software Subscription and Support Agreement with LiquidFrameworks (including the SFDC Supplemental Terms) to understand the rights and restrictions that Customers have regarding creating custom objects. |
-
Add a custom object for the FX Form:
-
From Setup, enter "schema" in the Quick Find box, then select Schema Builder
-
Click the Elements tab
-
Drag Object from the Elements panel onto the grid
-
Complete the following:
-
Click Save
-
-
Add the Master-Detail field:
You must add a Master-Detail field to every FX Form.
-
Add the SyncId field:
You must add a SyncId field to every FX Form.
-
Drag Text from the Elements panel onto the FX Form object
-
In Field Label and Field Name, enter "SyncId"
The Field Label and Field Name fields are case-sensitive, so you must enter
SyncId
correctly. -
In Length, enter "50"
-
Select Unique
-
Under Is Case Sensitive, select Treat "ABC" and "abc" as duplicate values (case-insensitive)
-
Select External ID
-
Click Save
-
-
Add fields to collect data:
-
Drag a field type from the Elements panel onto the FX Form object
-
Enter field attributes
Don’t give a custom field the same name as a field on a FieldFX object.
-
Click Save
-
Repeat steps a to c as needed
-
-
Define the layout:
-
Add an FX Form configuration:
-
Open the eForm Configs tab
-
Click New
-
In Key SObject, select:
-
In eForm SObject, enter the API name of the FX Form object
Example 1. Example API name to enterJSA__c
The sObject name must be the object’s API name, which is case-sensitive.
-
Specify when to use the FX Form
-
In Key SObject Record Type, select a record type to use the FX Form for that record type
-
In Account, select a customer to use the FX Form for that customer
-
In Office, select an office to use the FX Form for that office
-
In Segment, select a business segment to use the FX Form for that segment
-
In Price Book, select a price book to use the FX Form for jobs/tickets linked to that price book
-
-
In Sequence Number, enter a sequence number to use for the FX Form
Sequence numbers control the order of FX Forms in lists. Refer to the Sequence Numbers article for more information.
-
Click Save
-
-
Add a Related List to page layouts:
-
From Setup, enter "object" in the Quick Find box, then select Objects
-
Complete one of the following:
-
Under Page Layouts, click Edit next to a page layout for FieldFX Back Office
-
On the toolbar, click Related Lists
-
Drag the FX Form into the Related Lists section
-
Click Save
-
Click Yes
-
Repeat steps c to g for other page layouts as needed
-
-
Complete one of the following:
-
Add a HTML report to replicate the FX Form in report format.
-
-
Add a report template for the report version of the FX Form:
-
Move back to FieldFX Back Office
-
Open the Report Templates tab
-
Click New
-
In Report Template Name, enter a name for the report template
-
In SObject, enter the API name of the FX Form object
-
Click Save
-
Click Attach File
-
Click Choose File
-
Select the report you defined for the FX Form
-
Click Attach File
-
Click Done
-
-
Add a Visualforce page for the report version of the FX Form:
-
From Setup, enter "pages" in the Quick Find box, then select Visualforce Pages
-
Click New
-
In Label, enter the name of the FX Form
-
In Name, enter the name of the FX Form with underscores for spaces
-
Copy the following code:
<apex:page standardController="ObjectName" extensions="FX5.ReportTemplateExtension"> <apex:includeScript value="{!$Resource.FX5__jquery1102minjs}"/> <style type="text/css"> div.apexp { margin-left:-10px; } body { margin-left:0px !important; } a { text-decoration:none; } </style> <script type="text/javascript"> $('td.labelCol.empty').remove(); $('td.dataCol.empty').css('width','50%'); $('td.labelCol.first').css('vertical-align', 'bottom'); $('td.dataCol.first').css('vertical-align', 'bottom'); $('input[type=submit]').appendTo('td.dataCol.empty'); function jsOpenReport(entityId, templateId, objectTypeId, namespace) { var pagePath ='apex'; var ctrl = document.querySelectorAll("[id$='reportPagePath']")[0]; var customUrl=''; if(ctrl!=null) { pagePath = ctrl.innerText; if(pagePath && pagePath.toLowerCase()!='apex') { customUrl='&customUrl=' + pagePath; } } var href = '/' + pagePath + '/' + namespace + 'Reporting?templateId='+ templateId + '&objectId=' + entityId + '&objectType=' + objectTypeId + customUrl; window.open(href, '_blank'); window.top.location=window.top.location; } </script> <div style="display:none;"> <apex:outputText id="reportPagePath" value="{!PagePath}" /> </div> <apex:dynamicComponent componentValue="{!form}" id="dynamic"/> </apex:page>
-
Replace the code on the Visualforce Markup tab by pasting over it with the code you copied
-
In the first line of the code, replace "ObjectName" with the API name of the FX Form object
<apex:page standardController="JSA__c" extensions="FX5.ReportTemplateExtension">
-
Click the Version Settings tab
-
Click -- Select to Add Installed Package -- and select "FieldFX Base Package"
-
Click Save
-
-
Update page layouts:
-
From Setup, enter "object" in the Quick Find box, then select Objects
-
Open the FX Form object.
-
Under Page Layouts, click Edit next to a page layout for FieldFX Back Office
-
On the toolbar, click Visualforce Pages
-
Drag Section from the toolbar to a suitable location on the layout
-
In Section Name, enter "Reports"
-
Under Layout, select 1-Column
-
Click OK
-
Drag the Visualforce page for the FX Form report into the Reports section
-
Click Save on the toolbar
-
Repeat steps c to j for other page layouts as needed
-
-
Add a workflow rule so that FX Forms sync to FieldFX Mobile:
-
From Setup, enter "workflow rules" in the Quick Find box, then select Workflow Rules.
-
Click New Rule
-
In Object, select the FX Form object
-
Click Next
-
Complete the following:
-
In Rule Name, enter "Sync Id Assignment".
-
In Evaluate the rule when a record is, select created.
-
In Run this rule if the following, select "formula evaluates to true".
-
Enter the following formula:
ISBLANK (SyncId__c)
-
-
Click Save & Next
-
Click Add Workflow Action → New Field Update
-
Complete the following:
-
In Name, enter "Sync Id"
-
In Field to Update, select "SyncId"
-
In Text Options, select Use a formula to set the new value
-
Enter the following formula:
CASESAFEID(Id)
-
-
Click Save
-
Click Done
-
Click Activate
-
-
Grant permission to use the FX Form:
-
From Setup, enter "permission" in the Quick Find box, then select Permission Sets
-
Open a permission set
-
Under Apps, click Object Settings
-
Open the FX Form object
-
Click Edit
-
Under Record Type Assignments, select the record types for which to grant access
-
Under Object Permissions, select Read, Create, and Edit
If you didn’t select Unique when adding the SyncId field to the FX Form, grant View All permission for the FX Form object.
-
Under Field Permissions, grant Read and Edit permission for every field
-
Click Save
-
At the top of the page, click the arrow next to Object Settings and select Visualforce Page Access
-
Click Edit
-
Add the Visualforce page for the FX Form to Enabled Visualforce Pages
-
Click Save
-
Repeat steps a to m for other permission sets as needed
-
-
Configure sharing settings to grant access to the FX Form
Child FX Forms
Basics
Set up child FX Forms to record information related to another FX Form.
If an FX Form records details for wireline logging tickets, add a child FX Form to record the measurements made during each logging run.
Child FX Forms have a master-detail relationship with a parent FX Form.
Adding a Child FX Form
Customers should review the terms and conditions of the Software Subscription and Support Agreement with LiquidFrameworks (including the SFDC Supplemental Terms) to understand the rights and restrictions that Customers have regarding creating custom objects. |
-
Add a custom object for the child FX Form:
-
From Setup, enter "schema" in the Quick Find box, then select Schema Builder
-
Click the Elements tab
-
Drag Object from the Elements panel onto the grid
-
Complete the following:
-
In Label, enter a name for the child FX Form
Logging Run
-
In Plural Label, enter a plural name for the child FX Form
Logging Runs
-
In Starts With, select "Consonant" or "Vowel"
-
In Data Type, select "Text"
-
Select Allow Reports
-
Select Add Google Docs, Notes, Attachments, related list to default page layout
-
-
Click Save
-
-
Add the Master-Detail field:
You must add a Master-Detail field to every child FX Form.
-
Add the SyncId field:
You must add a SyncId field to every child FX Form.
-
Drag Text from the Elements panel onto the child FX Form object
-
In Field Label and Field Name, enter "SyncId"
The Field Label and Field Name fields are case sensitive so you must enter
SyncId
correctly. -
In Length, enter "50"
-
Select Unique
-
Under Is Case Sensitive, select Treat "ABC" and "abc" as duplicate values (case insensitive)
-
Select External ID
-
Click Save
-
-
Add fields to collect data:
-
Drag a field type from the Elements panel onto the child FX Form object
-
Enter field attributes
-
Click Save
-
Repeat steps a to c for other fields
-
-
Define the layout:
-
Click the gear icon on the child FX Form object and select View Page Layouts
-
Under Page Layouts, click Edit next to the default page layout
-
Drag fields onto the page layout to create the child FX Form
-
On the toolbar, click Related Lists
-
Drag Notes & Attachments into the Related Lists section
-
Click Save
-
-
Add a Related List to page layouts:
-
From Setup, enter "object" in the Quick Find box, then select Objects
-
Complete one of the following:
-
Under Page Layouts, click Edit next to a page layout for FieldFX Back Office
-
On the toolbar, click Related Lists
-
Drag the FX Form into the Related Lists section
-
Click Save
-
Click Yes
-
Repeat steps c to g for other page layouts as needed
-
-
Complete one of the following:
-
Add a HTML report to replicate the child FX Form in report format.
HTML reports have been deprecated.
-
Add a PDF report to replicate the child FX Form in report format.
-
-
Add a report template for the report version of the child FX Form:
-
Move back to FieldFX Back Office
-
Open the Report Templates tab
-
Click New
-
In Report Template Name, enter a name for the report template
-
In SObject, enter the API name of the child FX Form object
-
Click Save
-
Click Attach File
-
Click Choose File
-
Select the report you defined for the child FX Form
-
Click Attach File
-
Click Done
-
-
Add a Visualforce page for the report version of the child FX Form:
-
From Setup, enter "pages" in the Quick Find box, then select Visualforce Pages
-
Click New
-
In Label, enter the name of the child FX Form
-
In Name, enter the name of the child FX Form with underscores for spaces
-
Copy the following code:
<apex:page standardController="ObjectName" extensions="FX5.ReportTemplateExtension"> <apex:includeScript value="{!$Resource.FX5__jquery1102minjs}"/> <style type="text/css"> div.apexp { margin-left:-10px; } body { margin-left:0px !important; } a { text-decoration:none; } </style> <script type="text/javascript"> $('td.labelCol.empty').remove(); $('td.dataCol.empty').css('width','50%'); $('td.labelCol.first').css('vertical-align', 'bottom'); $('td.dataCol.first').css('vertical-align', 'bottom'); $('input[type=submit]').appendTo('td.dataCol.empty'); function jsOpenReport(entityId, templateId, objectTypeId, namespace) { var pagePath ='apex'; var ctrl = document.querySelectorAll("[id$='reportPagePath']")[0]; var customUrl=''; if(ctrl!=null) { pagePath = ctrl.innerText; if(pagePath && pagePath.toLowerCase()!='apex') { customUrl='&customUrl=' + pagePath; } } var href = '/' + pagePath + '/' + namespace + 'Reporting?templateId='+ templateId + '&objectId=' + entityId + '&objectType=' + objectTypeId + customUrl; window.open(href, '_blank'); window.top.location=window.top.location; } </script> <div style="display:none;"> <apex:outputText id="reportPagePath" value="{!PagePath}" /> </div> <apex:dynamicComponent componentValue="{!form}" id="dynamic"/> </apex:page>
-
Replace the code on the Visualforce Markup tab by pasting over it with the code you copied
-
In the first line of the code, replace "ObjectName" with the API name of the child FX Form object
<apex:page standardController="Logging_Run__c" extensions="FX5.ReportTemplateExtension">
-
Click the Version Settings tab
-
Click -- Select to Add Installed Package -- and select "FieldFX Base Package"
-
Click Save
-
-
Update page layouts:
-
From Setup, enter "object" in the Quick Find box, then select Objects
-
Open the FX Form object
-
Under Page Layouts, click Edit next to a page layout for FieldFX Back Office
-
On the toolbar, click Visualforce Pages
-
Drag Section from the toolbar to a suitable location on the layout
-
In Section Name, enter "Reports"
-
Under Layout, select 1-Column
-
Click OK
-
Drag the Visualforce page for the FX Form report into the Reports section
-
Click Save on the toolbar
-
Repeat steps c to j for other page layouts as needed
-
-
Add a workflow rule so that FX Forms sync to FieldFX Mobile:
-
From Setup, enter "workflow rules" in the Quick Find box, then select Workflow Rules
-
Click New Rule
-
In Object, select the child FX Form object
-
Click Next
-
Complete the following:
-
In Rule Name, enter "Sync Id Assignment"
-
In Evaluate the rule when a record is, select created
-
In Run this rule if the following, select "formula evaluates to true"
-
Enter the following formula
ISBLANK (SyncId__c)
-
-
Click Save & Next
-
Click Add Workflow Action → New Field Update
-
Complete the following:
-
In Name, enter "Sync Id"
-
In Field to Update, select "SyncId"
-
In Text Options, select Use a formula to set the new value
-
Enter the following formula:
CASESAFEID(Id)
-
-
Click Save
-
Click Done
-
Click Activate
-
-
Grant permission to use the child FX Form:
-
From Setup, enter "permission" in the Quick Find box, then select Permission Sets
-
Open a permission set
-
Under Apps, click Object Settings
-
Open the child FX Form object
-
Click Edit
-
Under Record Type Assignments, select the record types for which to grant access
-
Under Object Permissions, select Read, Create, and Edit
-
Under Field Permissions, grant Read and Edit permission for every field
-
Click Save
-
At the top of the page, click the arrow next to Object Settings and select Visualforce Page Access
-
Click Edit
-
Add the Visualforce page for the FX Form to Enabled Visualforce Pages
-
Click Save
-
Repeat steps a to m for other permission sets as needed
-
-
Configure sharing settings to grant access to the child FX Form
FX Form Configurations
Basics
An FX Form configuration controls when an FX Form is available for use.
You must add an FX Form configuration for every basic FX Form.
Child RX Forms use the FX Form configuration for their parent FX Form. |
Adding an FX Form Configuration
-
Open the eForm Configs tab
-
Click New
-
In Key SObject, select:
-
In eForm SObject, enter the API name of the FX Form object
JSA__c
-
Specify when to use the FX Form:
-
In Key SObject Record Type, select a record type to use the FX Form for that record type
-
In Account, select a customer to use the FX Form for that customer
-
In Office, select an office to use the FX Form for that office.
-
In Segment, select a business segment to use the FX Form for that segment
-
In Price Book, select a price book to use the FX Form for jobs/tickets linked to that price book
-
-
In Sequence Number, enter a sequence number to use for the FX Form
Sequence numbers control the order of FX Forms in lists. Refer to the Sequence Numbers article for more information.
-
Click Save
-
Configure sharing settings to grant access to the FX Form configuration
Record Types
Basics
Set up record types if you need to complete FX Forms differently based on a certain aspect of a job.
Add Downstream, Midstream, and Upstream record types for an FX Form you complete differently at downstream, midstream, and upstream work sites.
When you add record types, add a page layout for each record type. This allows you to display different fields on each version of the FX Form.
Adding Record Types for an FX Form
-
Add record types:
-
From Setup, enter "object" in the Quick Find box, then select Objects
-
Open the FX Form object
-
Under Record Types, click New
-
In Existing Record Type, select "--Master--"
-
In Record Type Label, enter the record type
-
Select Active
-
Click Next
-
Click Save & New
-
Repeat steps d to h for other record types as needed
-
Click Save to finish
-
Click Back to Custom Object at the top of the page
-
-
Add page layouts for each record type:
Page layouts control the fields that display on each version of an FX Form.
-
Under Page Layouts, click New
-
In Page Layout Name, enter the record type
-
Click Save
-
Drag fields onto the page layout
-
Click Save
-
Repeat steps a to e for other page layouts as needed
-
-
Assign the page layouts to record types:
-
Under Record Types, click Page Layout Assignment
-
Click Edit Assignment
-
Click the column header for the record type
-
In Page Layout To Use, select the record type’s page layout
-
Repeat steps c and d for other record types as needed
-
Click Save
-
-
Grant permission to use the record types:
-
From Setup, enter "permission" in the Quick Find box, then select Permission Sets
-
Open a permission set
-
Under Apps, click Object Settings
-
Open the FX Form object
-
Click Edit
-
Under Record Type Assignments, select the record types
-
Click Save
-
Repeat steps a to g for other permission sets as needed
-