Основные правила конфигурирования жизненного цикла:
Рассмотрим набор доступных блоков, на основе которых может быть составлен жизненный цикл документа.
Наименование класса для блока: BooleanCondition.
Назначение блока: проверить истинность сконфигурированного условия применительно к текущему документу (задаче) и проставить соответствующие биты состояния.
Пример конфигурации:
{
"Type": "BooleanCondition",
"Condition": "{ { #documentTaskData[IsFullDocument] == True } } && { { #documentTaskData[IsAllPagesBarcodeValid] == True } }",
"OnTrue": {
"Bits": [
{
"Index": 1,
"NewValue": 1
}
]
},
"OnFalse": {
"Bits": [
{
"Index": 4,
"NewValue": 1
},
{
"Index": 10,
"NewValue": 0
}
]
}
Описание конфигурации:
Наименование класса для блока: ClientChannelRequestRP.
Назначение блока: отправить запрос с данными на основе текущей задачи по каналу и обработать ответ на основе конфигурации.
Пример конфигурации:
{
"ConfigType": "clientChannelRequest",
"ActionList": [
{
"Type": "1CSOAP",
"ClientChannelId": "1",
"Request": {
"InputParameters": [
{
"Name": "Номер документа",
"Value": "#НомерДокумента[FieldValue]"
},
{
"Name": "Дата документа",
"Value": "#ДатаДокумента[FieldValue]"
},
{
"Name": "Организация",
"Value": "#Организация[FieldValue]"
},
{
"Name": "Оператор",
"Value": "#Оператор[FieldValue]"
}
],
"OutputParameters": [
{
"ColumnName": "Ref_Guid",
"DocumentFieldName": "Ref_Guid",
"ValidateRegexp": "^(?!\\s*$).+"
}
]
},
"OnSuccess": {
"Bits": [
{
"Index": 6,
"NewValue": 1
}
]
},
"OnError": {
"Bits": [
{
"Index": 5,
"NewValue": 1
},
{
"Index": 10,
"NewValue": 0
}
]
}
}
]
}
Наименование класса для блока: UniqueCheck.
Назначение блока: позволяет произвести проверку, является ли обрабатываемый документ новым (уникальным) или такой документ уже имеется в хранилище.
При неуспешном прохождении блока (найден дубликат) формируется сообщение с информацией о найденном дубликате и с кнопкой на web-интерфейсе, которая дает возможность заменить файл печатной формы в найденном дубликате из текущего документа.
Пример конфигурации:
{
"ConfigType": "UniqueCheck",
"OnTrue": {
"Bits": [
{
"Index": 6,
"NewValue": 1
}
]
},
"OnFalse": {
"Bits": [
{
"Index": 5,
"NewValue": 1
},
{
"Index": 10,
"NewValue": 0
}
]
}
}
Описание конфигурации:
Наименование класса для блока: FinishRangeProcessing.
Назначение блока: позволяет провести обработку необходимой логики на конечных точках жизненного цикла (конечных точек может быть несколько, например, успешная и ошибочная).
Пример конфигурации:
{
"ConfigType": "DocChangeProcessing",
"BitIndex": 10,
"DisablingBits": [ 7, 6 ]
}