WorkflowScreen


НАЧАЛО >> Workflow >> Модули Workflow >> WorkflowScreen📄 Скачать в DOCX


Модуль WorkflowScreen хранит описания экранов ввода для workflow-переходов и операций над записью. Экран указывает схему he3, которую нужно открыть для редактирования текущей записи: полный рабочий лист .ws или рабочий лист подполей .wss.

1. Запись WORKFLOWSCREEN

Поле Назначение
920 тип записи WORKFLOWSCREEN
1^A ключ workflow
1^B ключ экрана
1^C название экрана
1^D активность
1^E имя схемы he3 без расширения: .ws или .wss
1^F описание
1^G область применения: transition, create, edit, view, public, internal или any
1^H версия экрана
1^I разрешение публичного renderer-а
1^J список методов ввода, разрешенных публичной форме
1^K TTL черновика формы в секундах
1^L тип схемы: ws или wss
1^M поле записи, к которому применяется WSS-схема

2. Схема he3

Для полного экрана используется тип ws: в поле 1^E указывается имя .ws без пути. Такой экран редактирует набор полей записи, описанный рабочим листом.

Для частичного экрана используется тип wss: в поле 1^E указывается имя .wss, а в 1^M - номер поля записи. Такой экран показывает только подполя из WSS и при сохранении меняет только эти подполя, сохраняя остальные подполя поля.

Если полный .ws содержит поле с вложенной .wss-секцией, Workflow тоже применяет такое поле частично: меняются подполя, описанные вложенной WSS, а остальные подполя того же поля сохраняются.

Расширение .ws или .wss можно не указывать, если тип схемы заполнен явно. Сам файл должен быть доступен he3 в обычном месте для рабочих листов модуля или системы.

Если экран не указан, Workflow не открывает форму и переход выполняется без запроса дополнительных данных.

3. Методы ввода 128001 и 128002

Для сложных секций рабочий лист может использовать специальные методы ввода 128001 и 128002. Их настройки задаются в DopInf в формате JSON. Такой подход позволяет редактировать данные штатно через he3 без отдельного предварительного построения черновика формы.

4. Публичная форма

WorkflowScreen может построить упрощенную HTML-форму по .ws или .wss для страниц создания, где нельзя показывать пользователю полный редактор he3. Такая форма использует ту же схему и те же storage-binding правила, но поддерживает только явно разрешенный ограниченный набор элементов ввода: text, textarea, radio, sidtexteditor, sidfilelist.

Публичная форма включается явно через 1^I. Если в схеме есть редактируемое поле с неподдерживаемым методом ввода, форма не выводится частично: модуль возвращает диагностическую ошибку настройки. При сохранении модуль заново читает .ws или .wss, переносит в запись только разрешенные поля и применяет настройки 128001/128002.

Для сценариев публичного ввода может создаваться запись-черновик WORKFLOWSCREENDRAFT. В ней хранится ключ экрана, версия экрана, проект, тип записи, пользователь или сессия, trace id, срок жизни и безопасный JSON payload формы. Перед применением данных экран повторно валидируется по текущей .ws или .wss схеме.

5. Использование

Типовые методы:

Метод Назначение
CreateScreen() создать объект экрана
GetScreens() получить экраны workflow
GetScreenByKey() найти экран по ключу
GetScreenSelectList() сформировать список выбора
GetScreenSchema() разобрать .ws или .wss в типизированную схему he3
ValidatePublicFormSchema() проверить, что экран пригоден для публичной формы
RenderPublicForm() построить публичную HTML-форму по рабочему листу
ApplyPublicFormToRecord() применить данные публичной формы к записи
CreateDraft() создать объект черновика публичного экрана