Invoice Item Builder Setup (Deprecated)
The Invoice Item Builder functionality in FieldFX has been deprecated and no longer supported. Configure the FX Item Picker Lightning Component Options for adding Invoice Items to a ticket in Back Office. You should switch to the Lightning Experience and use the tools FieldFX has there instead. |
Prerequisites
To set up the Invoice Item Builder, you need to:
Have these user licenses | Have these permissions | Complete these tasks and review these topics before continuing |
---|---|---|
|
Setting Up the Invoice Item Builder
-
From Setup, enter
static
in the Quick Find box, then select Static Resources. -
Complete one of the following:
-
If the en_US file displays in the list, configure the Invoice Details fields
-
If the en_US file doesn’t display in the list, download the en_US file
-
-
Extract the file and save it to your local computer.
-
Move back to FieldFX Back Office.
-
Click New.
-
Complete the following:
-
In Name, enter
en_US
. -
In Cache Control, select "Public".
-
Click Choose File.
-
Select the en_US file you downloaded.
-
-
Click Save.
Invoice Details
The Invoice Details section displays basic invoice information.
The user’s default page layout for the Invoice object must include the recordType field for the Invoice Details section to display.
|
Selecting the Fields to Display
-
From Setup, enter
object
in the Quick Find box, then select Objects. -
Click Invoice.
-
Under Compact Layouts, click New.
-
Complete the following:
-
In Label, enter
Invoice Details
. -
In Available Fields, select the fields to include.
-
Click Add.
-
In Selected Fields, change the order.
-
Click Save.
-
-
Click Compact Layout Assignment.
-
Complete the following:
-
Click Edit Assignment.
-
In Primary Compact Layout, select "Invoice Details".
-
Click Save.
-
Item Grid
Selecting the Fields to Display
-
From Setup, enter
object
in the Quick Find box, then select Objects. -
Click Invoice Item.
-
Under Page Layouts, click Edit next to Invoice Item Layout.
-
Change the fields.
-
Click Save.
Configuring a Field to Display Read-Only
-
From Setup, enter
object
in the Quick Find box, then select Objects. -
Click Invoice Item.
-
Under Custom Fields & Relationships, click the field name.
-
Click Set Field-Level Security.
-
Select Read-Only next to the user profiles on which to impose the read-only restriction.
-
Click Save.
Fields use a combination of page layout and field-level security settings and the most restrictive field setting always applies. For example, if you make a field required in the page layout security settings and read-only in the field-level security settings, the field displays read-only for the user profiles specified in the field-level security settings. |
Item Picker
Search Filters
Search filters display at the top of the Item picker.
Use search filters to change the items available for selection on the Item picker.
Selecting the Fields for Search Filters
-
From Setup, enter
object
in the Quick Find box, then select Objects. -
Complete one of the following:
-
Click Credit Memo to select fields for credit memo search filters.
-
Click Job to select fields for job search filters.
-
Click Price Book Item to select fields for price book item search filters.
-
Click Ticket to select fields for ticket search filters.
-
Click Ticket Item to select fields for ticket item search filters.
-
-
Under Field Sets, click Edit next to IIBSearchFields.
-
Drag fields into the In the Field Set list.
-
Click Save.
-
Repeat for other objects as needed.
Search Results
Search results display at the bottom of the Item picker.
You can add items in the search results to an invoice.
Selecting the Fields for Search Results
-
From Setup, enter
object
in the Quick Find box, then select Objects. -
Complete one of the following:
To select fields for these search results… Do this… Click Credit Memo.
Click Price Book Item.
Click Ticket.
Click Ticket Item.
-
Complete the following:
In these fields… Do this… Search Layouts
Click Edit next to Search Results.
Available Fields
-
Select the fields to include.
-
Click Add.
Selected Fields
-
Select the fields to remove and click Remove.
-
Change the order.
-
Select Override the search result column customizations for all users.
-
Click Save.
-
-
Repeat these two steps for other objects as needed.
Picker Width
You can set the width of the Item picker to control how far it displays across the page.
Setting the Picker Width
-
From Setup, enter
custom setting
in the Quick Find box, then select Custom Settings. -
Click Manage next to FX Settings.
-
Click Edit.
-
In InvItemBldr PBI MaxFlyoutWidth, specify the picker’s width when it flies across the page.
Use a width between 500-1000.
-
Click Save.
Customize the Invoice Item Picker
-
Use Custom Settings to disable certain features of the Invoice Item Picker to hide them from users.
-
Add values to the
pageSettings_IIB
FXSetting in Custom Settings. -
Enter multiple values separated by commas.
For details, see Additional Optional Settings in FX Settings Setup.
Custom Lookups
The Custom Lookups feature improves how lookups work on the Item grid and Item picker.
This powerful feature gives you the ability to:
Examples
Contact Lookup
Here’s an example of how you can configure a Contact lookup.
Setting | Value | Impact |
---|---|---|
QueryFilter |
|
Only contacts with a blank last name or a last name starting with the letter "S" display available for selection. |
QueryFields |
|
The listed fields display for contacts in search results. |
KeywordSearchFields |
|
Keyword searches analyze the last name of contacts. |
OrderBy |
|
Contacts sort in alphabetical order by last name. |
Equipment Lookup
Here’s an example of how you can configure an Equipment lookup.
Setting | Value | Impact |
---|---|---|
QueryFilter |
|
Only equipment cross-referenced to offices starting with the letter "H" displays available for selection. |
QueryFields |
|
The listed fields display for equipment in search results. |
KeywordSearchFields |
|
Keyword searches analyze the name and description of equipment. |
OrderBy |
|
Equipment sorts in alphabetical order by name. |
Configuring Custom Lookups
Scenario
As an example, we will show you how to configure a Contact lookup.
The code examples walkthrough adds a section of code each time. Each new step includes all of the previous code entries as well as the new part. Copy the code from the last step to select the entire code block. |
-
Add a CSF_Settings static resource:
-
Open a text editor.
-
Enter the following to name the static resource:
window.csf_settings = { }
-
Enter the identifying code for the Invoice Item Builder and Item grid:
window.csf_settings = { iib: { maingrid: { } } }
-
Enter the API name of the lookup:
window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { } } } } }
-
Enter a SOQL query to restrict the records that display available for selection in the lookup:
window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", } } } } }
-
Refer to the SOQL reference documentation for more information on how to write SOQL queries.
-
-
Enter the fields to display for records in search results:
window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", } } } } }
-
In this example, the First Name, Last Name, and Office fields display for records.
-
-
Enter the fields to analyze in keyword searches:
window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", "KeywordSearchFields": "LastName", } } } } }
-
In this example, keyword searches analyze values in the Last Name field.
-
-
Enter the field by which to sort records:
window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", "KeywordSearchFields": "LastName", "OrderBy": "LastName" }}}}}
-
In this example, records sort in alphabetical order by last name.
-
-
Add braces
{ }
to end the code for the Item grid:window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name"; "KeywordSearchFields": "LastName", "OrderBy": "LastName" }}}}}
-
Add code for the Available Tickets tab on the Item picker.
window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name"; "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } }, atipicker: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } } } }
-
Add code for the Price Book Items tab on the Item picker.
window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name"; "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } }, atipicker: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } }, apbipicker: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } } } }
-
Add braces
{ }
to end the lookup configuration:window.csf_settings = { qib: { maingrid: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name"; "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } }, atipicker: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } }, apbipicker: { "Contact__c": { "Contact__c": { "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')", "QueryFields": "FirstName, LastName, FX5__Office__r.Name", "KeywordSearchFields": "LastName", "OrderBy": "LastName" } } } } }
Every left brace
{
should have a matching right brace}
. -
Save the file with "CSF_Settings" as the file name.
-
-
Upload the CSF_Settings file to FieldFX Back Office:
-
From Setup, enter
static
in the Quick Find box, then select Static Resources. -
Click New.
-
In Name, enter
CSF_Settings
. -
In Cache Control, select "Public".
-
Click Choose File.
-
Select the CSF_Settings file.
When you upload a new CSF_Settings file, the lookup configurations in the new file replace any existing lookup configurations.
-
Test the Contact lookup.
Invoice Item Builder Button
The Invoice Item Builder button displays at the top of an invoice in FieldFX Back Office.
Changing the Name of the Invoice Item Builder Button
-
From Setup, enter
translation
in the Quick Find box, then select Override. -
In Package, select "FieldFX Base Package".
-
In Language, select "English".
-
In Setup Component, select "Button and Link Label".
-
In Object, select "Invoice".
-
Double-click the Button or Link Label Override column next to Invoice Item Builder.
-
Enter a new button name.
-
Click Save.