Auto Increment Number Field module

Name:
Auto Increment Number Field
Type:
module
Description:
This configuration module permits you to define different increment counters with a prefix for fields in modules and then apply them with conditions using workflows. It will permit you to have various counter/increment fields on any module or increment differently the same field depending on values in the record being saved.
Keywords:
autoincrement identifier field settings customnumber counter
Release Date:
2015-11-02
License:
Vizsage
Price:
120eur
Author Name:
JPL TSolucio, S.L.
Contact EMail:
info@tsolucio.com

Configuration

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.

Install

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.

Workflow

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.

CRMID

Number formatting

The format field accepts three forms:

1.- Number

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

2.- Date/Number

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....

3.- Workflow Expression

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')

Fields

Auto Number Prefix Information

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

Description

Field Type Values
Description text
Updates