Views: 5641
Last Modified: 24.01.2019

In addition to static text, the activity, template and status parameters can use special macros to specify auto-generated values like document fields, system variables, date and time etc.

To add a macro, click the ellipsis button (...) beside the target field. This will open the Insert Value form:

This form shows all the available macros grouped by use. The following groups are currently present.

  • Template Parameters: contains the template parameters you can define by clicking Template Parameters button in Visual Modeler. Notice that a value may be defined by user at run time, when starting the business process.
  • Variables: inserts user defined variables that may change during the execution of the business process. For example, this may be an auxiliary number field that a user will be prompted to enter.
  • Document Fields: inserts the value of a field of the document on which the business process is running. For example: Created on or Created by.
  • Additional Results: inserts the activity processing result if it exists. The list includes only the activities of the current business process template that return one or more values.
  • Users: inserts the users (or user groups) privy to the business process. You can select one or more users separating multiple items with semicolon.

The following macros are not listed in the Insert Value form, however they can be used when creating business process templates.

  • {=Workflow:ID} - inserts the current business process ID;
  • {=User:ID} - inserts the ID of a current user in format user_[system_user_ID];
  • {=System:Now} - inserts the current date and time;
  • {=System:Date} - inserts the current date;
  • {=Document:DETAIL_PAGE_URL} - inserts the document view page link. The link will be valid only if the information block parameters specify a correct details page URL.

The "_printable" Modifier

There is a special suffix you can add to the template variables and parameters: _printable. If present, it will format the macro output in human readable form if supported by a modified macro. If the macro does not support "printable" output, it will return the same value as without the modifier.

Consider the following examples in which the printable suffix is used on the user variable.

Current user as defined by the variable Macro and output
{=Variable:user} {=Variable:user_printable}
author author Created by
[1] user_1 John Doe [1]

The macros with this modifier are also available through the Insert Value form.

Note: Both single groups and complete departments as well as social network groups can be inserted. Such groups must be specified in access permissions to the workflow elements and sections to be shown in the form. Any group assigned to this tab regardless of specified access permission level will be displayed in list. This option is not yet available in the list workflows.

The following values are unavailable directly from the form, bit can be used when designing a business process template:

  • {=Workflow:ID} - business process identifier;
  • {=User:ID} - current user ID in the format user_[user_number_in_system];
  • {=Template:TargetUser} - parameter contains ID of user who started a Business process in the format user_[user_number_in_system];
  • {=System:Now} - current date and time on the server;
  • {=System:NowLocal} - current date and time for the client (hour zone is considered);
  • {=System:Date} - current date without time;
  • {=Document:DETAIL_PAGE_URL} - allows to get link to the page of document detail view if the page details URL is correctly specified in the information block settings.
  • Note: Some Examples of Using Macros in Expressions are reviewed in the corresponding lesson of this section.

Using specific contact/company field values (for Bitrix24 Cloud)

Data type modification

The modifier _printable converting values to user-friendly string is used for parameters and template variables, as well as for document fields.

The applied modifier conversion for the user type variable is presented as follows:


When the variable equals Author, the result is as follows:


When such display option is available for a document field or parameter, it will be present in the Insert value form. If the printed form is not available, it can be requested from any value (variable, additional result and etc.).

Example: {=Variable:Datetime > date, printable} // converting date into printable format

Additionally, not only conversion to printable form, but data type conversion is also available.

{=Variable:string>date} // converting string into date

Data type conversion table

User type data can be converted into the friendly format. In this case, only user first and last name, without its ID and login.

Example: {=Document:CREATED_BY} > User_1

{=Document:CREATED_BY > printable} > John Smith [1]

{=Document:CREATED_BY > friendly} > John Smith

Important! Prior to module version 15.6.0, variables and PHP-code actions are used to convert various types of data, including request of print form for values that do not have any.

Note: Insert value form may not always be used to insert the same value into different template actions. It is sufficient to just copy the text, inserted via Insert value form.

Courses developed by «Bitrix», Inc.