SteelTrace Server позволяет описать действия которые произойдут после обработки документов из очереди документов. Вы можете описать следующие действия:
1. Назначение статуса обработки
2. Повторная обработка документа через указанное время
3. Удаление документа
4. Отправка сообщения о результатах обработки документа
Описание назначаемых действий можно выполнить в таблице DocumentActionTable.
| Поле | Описание |
| DocumentActionId | Идентификатор действия |
| DocumentActionName | Наименование действия |
| Status | Статус, который будет присвоен записи документа по результатам обработки |
| Priority | Приоритет операции |
| ResultType | Статус обработки документа |
| ResultMask | Маска поиска в XML результата обработки |
| ActionType | Тип действия ChangeStatus – назначить статус по результатам обработки Deletion – удаление записи документа SendMail – отправка сообщения по почте |
| Waiting | Время задержки перед следующей попыткой проведения документа |
| DocumentTypeId | Тип документа |
Далее приводятся примеры назначения дополнительных действий
Повторить обработку документа через указанно время
В том случае если доступное бизнес-приложение не может обработать документ можно описать действие которое будет повторять попытки отправки документа указанное количество с указанным интервалом. Например можно повторить проведение документа в том случае, если в 1С возникла ошибка блокировки транзакций при проведение документа. В этом случае 1С вернет описание ошибки обработки документа и документ будет помечен статусом 3 (ошибка обработки бизнес-приложением). В этом случае вы можете указать что документы с ошибкой блокировки нужно будет повторить через некоторое время. Далее приводится пример заполнения свойств правила повторного проведения:
| DocumentActionId | DocumentActionName | Status | Priority | ResultType | ResultMask | ActionType | Waiting | DocumentTypeId |
| DEADLOCKRETRY | Повторная обработка при блокировке транзакций | 3 | 1 | SystemError | KONFLIKT BLOKIROVOK | ChangeStatus | 10 | 17 |
Пояснения к параметрам заполнения
| Поле | Описание |
| Status | 3 – в журнале документов появится запись со статусом 3 (ошибка) и датой следующей попытки проведения |
| Priority | Приоритет действия. По умолчанию в системе описаны базовые обработки. В данном случае обработка указывающая что в случае ошибки бизнес-приложения (SystemError) документ помечается как ошибочный. У базовых обработок приоритет установлен равным 0. Поэтому мы устанавливаем у данной обработки приоритет разный 1 чтобы она перекрывала базовый обработчик. |
| ResultType | Статус обработки документа |
| ResultMask | “KONFLIKT BLOKIROVOK” – это подстрока по которой будет идентифицироваться ошибка блокировки. В Вашем случае бизнес-приложение может возвращать другое описание. |
| Waiting | 10 – повторная попытка будет произведена через 10 минут |
| DocumentTypeId | 17 – Указывается, что данное правило распространяется только на отчеты производства. |
Удалить документ из очереди
Вы можете настроить удаление документа из очереди. Пример действия для удаления приведен ниже:
| DocumentActionId | DocumentActionName | Status | Priority | ResultType | ResultMask | ActionType | Waiting | DocumentTypeId |
| DELEMPTYDOC | Удаление пустого документа | 3 | 0 | SystemError | System.NullReferenceException: Object reference not set to an instance of an object | Deletion | | |
Пояснения к параметрам заполнения
| Поле | Описание |
| ActionType | Deletion – признак удаления документа |
| ResultMask | “System.NullReferenceException: Object reference not set to an instance of an object” – подстрока, вхождение которой в результат указывает на то что документ предназначен для удаления |