You can create as many "counter" fields as you need. They are created in the module's interface as any other field in any other module.
The important fields are:
Field | Type | Values |
---|---|---|
Prefix | string | This is the text prefix that will be added to the start of the identifier. It is totally equivalent to the text prefix you can find in the default autonumbering in Settings. It may be left empty. |
Module | module multi-list | This is the module that the counter is for. |
Format | string | see Number Formatting below |
Workflow Expression | checkbox | Indicates if the Format field contains a Workflow Expression that needs to be evaluated. |
Active | checkbox | Indicates if the counter is active or not. Any record marked as inactive will not be used by the extension. |
Current Value | number | This is the current maximum value of the counter. |
Default | checkbox | If more than one counter can be applied, the one marked as default will be used. |
Once you have installed the module normally using module manager, you will see that it adds a new function to the workflow system:
AutoNumberInc(ANPid)
You can now use this function in an Update Field workflow task to assign the next counter value to any field based on any condition in the module.
The ANPid number is the internal CRMID of the record or the value of the Increment field you want to use for the sequence. This number can be found by looking in the URL of the Detail View of the record.
The format field accepts three forms:
A string of numbers that indicate both the number of characters and the actual counter that must appear in the result. This is the same as the default behavior you can find in the autonumber in Settings. For example, with 000001 you will get the sequence:
000001, 000002,..., 000022, 000023, ...000101,...010001.... always with 6 numbers in the counter
An advanced format that accepts any PHP supported date conversion letter and the special string %u for the number.
The string %u accepts the PHP sprintf format. So to obtain the same sequence as in point 1 above you would use:
%'.06u
If you want to put the current year followed by the previous 6 number format you would use:
Y-\%'.06\u
which would produce the sequence:
2015-000001, 2015-000002,..., 2015-000022, 2015-000023, ...2015-000101,...2015-010001....
If you activate the "Workflow Expression" checkbox then we will parse the format string through sprintf in order to put the correct number in place and then pass the result to the workflow expression engine with the context of the record triggering the workflow. This will permit you to use any of the workflow expression functions to construct complex formatting combinations.
For example, you could have an expression like
concat(format_date('y'), '-', duedate)
or
concat(duedate, '-%'.06u')
This is a real example from a coreBOS install:
concat(format_date(get_date('now'),'ym'), '_', $(code_shop : (cbShop) code_shop) , '_%'.04u')
Field | Type | Values |
---|---|---|
Auto Number Prefix No | autonumber | Identifier |
Prefix | string | |
Module | module multi-list | |
Format | string | |
Workflow Expression | checkbox | |
Active | checkbox | |
Current Value | number | |
Default | checkbox | |
Assigned To | assigned to | |
Created Time | datetime | |
Modified Time | datetime |
Field | Type | Values |
---|---|---|
Description | text |