Flexi Kanban
  • Introduction
    • 📃About Flexi Kanban
    • ⚖️Flexi Kanban in Comparison with Other
    • 📘What are Kanbans?
    • 📕User's Guide to the Kanban Boards
  • Standard Dashboard
    • 🚀Getting started
      • How to Build a Simple Kanban Using Creation Wizard Abilities
      • Demo Example: Task Dashboard
      • Demo Example: Events Dashboard
      • Demo Example: Opportunities Dashboard
      • Demo Example: Gantt Dashboard
      • Demo Example: Cases Dashboard
    • 📝Basics
      • How to Create Standard Dashboard
      • How to Create Child Dashboard
      • How to Incorporate Child Dashboard into Lightning Page
      • How to Open Dashboard in builder (Edit)
      • How to Share Dashboard
      • How to Clone Dashboard
    • 🏗️Configure Dashboard
      • Working with Dashboard Layout
      • How to Configure Dashboard Basic Properties
      • How to Configure Dashboard Filters
      • How to Add Dashboard Statistics
      • How to Configure Variables
      • How to Configure Events
      • How to add Dashboard Buttons and Menus
    • 🏙️Configure Column
      • How to Сonfigure Column Properties
      • How to Set Column Groups
      • How to Set and Use Column Custom Attributes
      • How to configure Column Data Source
      • How to work with Related Objects
      • How to configure Column Header
      • How to configure Column Body
      • How to configure Column Footer
      • How to configure Column Container and Filters
    • 🎫Configure Card
      • How to configure Card Properties
      • How to configure Card Data Source and Conditions
      • How to configure Card Compact Layout
      • How to configure Card Layout
      • How to configure and use Card Custom Attributes
      • Configuring Card Movement and Column Junctions
      • Configuring Card Actions
    • 📚Groups of Cards
      • How to configure Card Grouping
    • 🔧Tools
      • Using Merge Field Picker
      • Using Formula Editor
      • Configuring CSS styles
      • Configuring Rows, Cells, Menus and Buttons
      • Configuring Handlers
    • 👓Using Dashboard
      • How to use Kanban API actions
      • How to Incorporate Dashboard into Lightning Page
      • How to build the link to the Dashboard
      • How to Work with Variables
      • How to debug Dashboard
      • How to Work with Filters and Orders
    • ✨Howtos and Best Practices
      • How to configure communication between Dashboards
      • How to configure communication between Dashboard and Form
      • How to display different layouts for the same kanban card
      • How to design kanban for your needs
        • How to colorize cards
        • How to add a quick-filter column
      • What inactive column can be used for
      • Tips and Tricks
  • Composite Dashboard
    • 🗄️Introduction
      • 🔧How to Create a Composite Dashboard
    • 🪛Working with Composite Dashboard Layout
      • Configuring Parent Dashboard
      • Configuring Child Dashboard
    • 🖇️Connections Between Dashboards
    • 🔬Examples
      • !! Calendar Dashboard
    • 🥇Howtos and Best Practices
      • How to Pass Variables Between Parent and Child Dashboards
  • Components
    • 📋Forms
      • 📑Basics
        • Form Building Overview
        • Working with Form Settings
        • Working with Source Object fields
        • How to Preview the Form
        • How to configure the Form Sharing Rules
        • Understanding the Form Dependencies
        • Working with Conditional Styles
        • Working with Conditions
        • Search Over the Form
      • 🪛Tools
        • Variables
        • Additional Fields
        • Context Object
        • Form Action
        • Event
      • Components
        • Add and Remove Form Components
        • Components Basic Properties
        • Components Validation Rules
        • Styling Form and Form Components
        • String Field
        • Text Area Field
        • Rich Text Field
        • Lookup Field
        • Date Field
        • Datetime Field
        • Time Field
        • Number Field
        • Currency Field
        • Multi-Select Field
        • Picklist Field
        • Option: Section
        • Option: Static Text
        • Option: Image
        • Option: Blank Space
        • Option: File
        • Option: Custom Button
        • Option: Custom URL
        • Option: Nested Form
        • Option: Lightning Component
        • List. Related Lists.
      • Using Form
        • How to incorporate Form into the Lightning Page
        • How to incorporate Form into Screen Flow
        • How to build the link to the Form
        • (unpublished, empty)How to incorporate Form into the Lightning Component
        • How to run Form Action from Lightning Component
      • Tricks, Hints and Best Practices
        • How to configure communication between Forms
        • How to pre-populate form fields
        • Deployment of Forms
        • What Are Parameters?
    • 🤾Actions/Action Groups
      • Basics
        • Working with Actions
        • Working with Action Groups
        • Working with Functions
        • Working with Context objects
        • Working with Conditions
      • Types
        • Validation Rule Action
        • Define Variable Action
        • Create Record Action
        • Update Records Action
        • Delete Records Action
        • Send Email Action
        • Callout Action
        • Execute Apex Action
        • KanBan API Action
      • Using Actions
        • !!unpublished empty!! How to execute Action/Group from the SF Process/Flow Builder
        • How to execute Action/Group through the REST api
        • !!unpublished empty!! How to execute Action/Group from the Einstain Bot
        • !!unpublished empty !! How to execute Action/Group from APEX
      • Best Practices
        • !! How to use Execute in background option
        • !! Deployment Actions/Action Groups
  • 📖References
    • ⚙️Application Settings
    • ♾️Functions
      • SObject
      • Text
      • Logical
      • Numeric
      • Date and Time
      • JSON
      • System
      • Charts
    • 🗃️Query Conditions
    • Apex Data Provider
    • 📍How to add a Kanban to Navigation Items Panel
    • 👥Manage Licenses
    • 🪪Assign Permission Sets
    • 📦Deployment
      • Deploying Using Standard Credentials
      • Deploying Using Connected App Authentication
      • How to configure the Salesforce Connected Application for Flexi Kanban deployment
  • Grant Login Access to Support
  • Subscription Plans
  • Support Agreement
  • Access License Agreement
  • Privacy Policy
Powered by GitBook
On this page
  • 1. COLUMNTOTAL
  • 2. BUILDFORMLINK
  • 3. BUILDDASHBOARDLINK
  • 4. CHECKPERMISSION
  • 5. USERIN
  1. References
  2. Functions

System

Last updated 1 year ago

1. COLUMNTOTAL

Calculates total quantities of records or evaluates total amounts / minimal values / maximal values / averages of values in the specified or current column considering column conditions and filters applied.

COLUMNTOTAL(column_id_optional, filter_optional, aggregation_type_optional, aggregation_field_optional).

All function parameters are optional and can be omitted (if last) or should be replaced with null (if not needed, but some arguments are to be placed after them).

Parameters:

  • column_id_optional - if leave empty or set to null, will calculate desired values for current column. If specify column ID, will calculate result for that column (this argument is necessary if column is unknown in current context, e.g., when function is executed on some cell in the Kanban header).

  • filter_optional - if specify, will add custom filter string to query and calculate result matching this filter.

  • aggregation_type_optional - if leave empty or set to null, will calculate total quantity of records matching the query, otherwise will calculate values with the way specified by proper aggregate function (see table below for a list and a web reference for more help).

  • aggregation_field_optional - API name of the field, should be specified when using aggregation types because of different aggregation functions support only fields of specific types.

List of aggregation types:

Aggregation function
Returned result
Ignores null values?
Supported field types

COUNT

Number of records matching the query criteria (actually the same result as for empty or null proper argument).

No (if aggregation field is ID or is not specified) Yes (if other aggregation field is specified)

Any

COUNT_DISTINCT

Number of distinct non-null field values matching the query criteria.

Yes

Any

AVG

Average value of a numeric field.

Yes

Numeric

SUM

Total sum of a numeric field.

Yes

Numeric

MIN

Minimum value of a field.

Yes

Any. If use on a picklist field, the function uses the sort order of the picklist values instead of alphabetical order.

MAX

Maximum value of a field.

Yes

Any. If use on a picklist field, the function uses the sort order of the picklist values instead of alphabetical order.

COLUMNTOTAL() returns a total number of records in the current column.

COLUMNTOTAL({$Variables.myColumnId}, 'Type = {QUOTE}Electrical{QUOTE}') will return total number of records that match custom filter Type='Electrical' and belong to column with ID stored in variable "myColumnId".

Let Priority = picklist with these values: 'High', 'Medium', 'Low', 'No priority'.

COLUMNTOTAL(null, null, 'MAX', 'Priority') returnы 'No priority' because it is the latest value in picklist field.

COLUMNTOTAL(null, null, 'MIN', 'Units') returns the minimal number value if the field is numeric, and first alphabetically sorted value if the field is text.

COLUMNTOTAL({$Variables.myColumnId}, 'Stage = {QUOTE}Closed Won{QUOTE}', 'AVG', 'ExpectedRevenue__с') returns average Expected Revenue amount for opportunities in Closed Won stage.

2. BUILDFORMLINK

Builds a web URL to specified Form.

BUILDFORMLINK(form_id, record_id, mode, context_fields, parameters, entire_height, as_html_tag_optional, text_optional)

Parameters:

  • form_id - ID of form to be linked to

  • record_id - ID of record to be used as data source

  • mode - form mode (edit, view or new)

  • context_fields - JSON with the list of virtual fields and their values (for pre-population)

  • parameters - JSON with parameters that will be passed to the form

  • entire_height - true or false. If set to true, form will take all available height of container, even if no such space required to show form elements

  • as_html_tag_optional - optional argument. If set to true, not only form URL will be generated, but HTML tag <a> with href attribute equal to this URL

  • text_optional - optional argument. If set to any text except null, this text will be placed as inner content of <a> tag (has sense only if as_html_tag_optional is set to true)

Note: if omit record_id argument, form will be shown without object fields populated. If the form mode is "edit", it will be the same result as for "new" mode.

Let your application is located at your-app-url.com address.

BUILDFORMLINK('a0C9m00000T4LvWDFC', '5001A00000SdeRqQFF', 'edit') returns the following URL:

https://your-app-url.com/lightning/cmp/c__FormPanel?c__entireHeight=false&c__formId=a0C9m00000T4LvWDFC&c__mode=edit&c__recordId=5001A00000SdeRqQFF

Let your application is located at your-app-url.com address.

BUILDFORMLINK('a0C9m00000T4LvWDFC','5001A00000SdeRqQFF','edit', null,'{"aaa":"bbb"}',false,true) returns the following HTML code:

<a href="https://your-app-url.com/lightning/cmp/c__FormPanel?c__entireHeight=false&c__formId=a0C9m00000T4LvWDFC&c__mode=edit&c__parameters=%7B%22aaa%22%3A%22bbb%22%7D&c__recordId=5001A00000SdeRqQFF">https://your-app-url.com/lightning/cmp/c__FormPanel?c__entireHeight=false&c__formId=a0C9m00000T4LvWDFC&c__mode=edit&c__parameters=%7B%22aaa%22%3A%22bbb%22%7D&c__recordId=5001A00000SdeRqQFF</a>

Let your application is located at your-app-url.com address.

BUILDFORMLINK('a0C9m00000T4LvWDFC','5001A00000SdeRqQFF','edit', '{"inputTextarea":"This is some description"}', null, false, true, 'My Link Text') returns the following HTML code:

<a href="https://your-app-url.com/lightning/cmp/c__FormPanel?c__contextFields=%7B%22inputTextarea%22%3A%22This+is+some+description%22%7Dc__entireHeight=false&c__formId=a0C9m00000T4LvWDFC&c__mode=edit&c__recordId=5001A00000SdeRqQFF">My Link Text</a>

3. BUILDDASHBOARDLINK

Builds a web URL to specified Kanban.

BUILDDASHBOARDLINK(dashboard_id, variables, styles, as_html_tag_optional, text_optional)

Parameters:

  • dashboard_id - ID of dashboard (kanban) to be linked to

  • variables - JSON with the list of variables to be passed to dashboard. This argument is mandatory, so, replace it with null if no variables needed.

  • styles - string with CSS properties to be passed to dashboard. This argument is mandatory, so, replace it with null if no styles needed.

Note: styles argument is actually passed as URL parameter, but does not supported by Kanban page (reserved for future use).

  • as_html_tag_optional - optional argument. If set to true, not only dashboard URL will be generated, but HTML tag <a> with href attribute equal to this URL.

  • text_optional - optional argument. If set to any text except null, this text will be placed as inner content of <a> tag (has sense only if as_html_tag_optional is set to true)

Let your application is located at your-app-url.com address.

BUILDDASHBOARDLINK('a003m00002CvxffAAB','{"myVariable_1":"Some text"}',null) returns the following URL:

https://your-app-url.com/lightning/cmp/c__KanBanComponent?c__kanbanId=a003m00002CvxffAAB&c__variables=%7B%22myVariable_1%22%3A%22Some+text%22%7D

BUILDDASHBOARDLINK('a003m00002CvxffAAB',null,null,true) returns the following HTML code:

<a href="https://your-app-url.com/lightning/cmp/c__KanBanComponent?c__kanbanId=a003m00002CvxffAAB">https://your-app-url.com/lightning/cmp/c__KanBanComponent?c__kanbanId=a003m00002CvxffAAB</a>

BUILDDASHBOARDLINK('a003m00002CvxffAAB','{"myVariable_1":"Some text"}',null,true,'My Dashboard') returns the following HTML code:

<a href="https://your-app-url.com/lightning/cmp/c__KanBanComponent?c__kanbanId=a003m00002CvxffAAB&c__variables=%7B%22myVariable_1%22%3A%22Some+text%22%7D">My Dashboard</a>

4. CHECKPERMISSION

Returns true if current user has listed permissions (all or at least one) or false if not.

CHECKPERMISSION(name_or_names_json_array, atleastone_boolean_optional)

Parameters:

  • name_or_names_json_array - name of the permission to be checked or JSON array of permission names.

  • atleastone_boolean_optional - if set to true, function will return true if current user has at least one permission from the array in first agrument, otherwise (or if omitted) function will return true only if current user has all listed permissions.

Let your user has these permissions: User_Test_Permission, Process_admin.

CHECKPERMISSION('User_Test_Permission') returnы true if current user has this permission.

CHECKPERMISSION(SPLIT('User_Test_Permission,Process_admin', ',')) returns true if current user has both these permissions.

CHECKPERMISSION(SPLIT('User_Test_Permission,Process_admin', ','),false) returns true if current user has both these permissions.

CHECKPERMISSION(SPLIT('User_Test_Permission,Process_admin', ','),true) returns true if current user has at least one of these permissions.

5. USERIN

Returns true if given user belongs to at least one of listed users, roles, profiles, queues or groups.

USERIN(user_id, users_roles_profiles_groups_ids).

Parameters:

  • user_id - ID of user which is being checked.

  • users_roles_profiles_groups_ids - one ID or list of IDs of of users/roles/profile/group/queue.

USERIN({$User.id}, 0083n000008qatjCVV) returns true if current user ID is equal to second parameter.

USERIN({$User.id}, ('0083n000008qatjCVV,00G3m000003pllF')) returns true if current user ID is in the listed IDs.

📖
♾️
SOQL syntax