НАЧАЛО >> Workflow >> Модули Workflow >> WorkflowProject📄 Скачать в DOCX
Модуль WorkflowProject хранит проекты Workflow. Проект объединяет прикладные типы записей, workflow, схемы экранов, фильтров и представлений, а также правила идентификации записей.
Проект отвечает на вопросы:
v920 в fallback-настройках;113;113 LINK доступны для записей проекта;| Поле | Назначение |
|---|---|
920 |
тип записи WORKFLOWPROJECT |
1^A |
ключ проекта |
1^B |
название |
1^C |
активность |
1^D |
начальный статус по умолчанию |
1^E |
workflow по умолчанию |
1^F |
схема экранов по умолчанию |
1^G |
схема фильтров по умолчанию |
1^H |
схема представлений по умолчанию |
1^I |
описание проекта |
4^A |
тип записи v920 |
4^B |
workflow для типа записи |
4^C |
поле идентификатора |
4^D |
подполе идентификатора |
4^E |
поисковый префикс |
4^F |
схема экранов |
4^G |
схема фильтров |
4^H |
схема представлений |
5^A |
ключ проектного типа объекта |
5^B |
название проектного типа объекта |
5^C |
системный тип записи v920 |
5^D |
workflow |
5^E |
начальный статус |
5^F |
схема экранов |
5^G |
схема фильтров |
5^H |
схема представлений |
5^I |
профиль полей FieldConfiguration |
5^J |
тип по умолчанию для своего v920 |
5^K |
активность |
5^L |
описание |
6^A |
тип записи v920, для которого доступен тип связи |
6^B |
проектный тип объекта |
6^C |
ключ типа связи |
6^D |
название прямой связи |
6^E |
название обратной связи |
6^F |
категория связи |
6^G |
активность |
6^H |
описание |
6^I |
порядок показа |
Проектный тип объекта - это процессная классификация внутри проекта. Он не заменяет поле 920: 920 по-прежнему определяет модуль-владелец записи, а проектный тип выбирает workflow, начальный статус, схемы интерфейса и профиль FieldConfiguration. Выбранный тип объекта сохраняется в workflow-связи записи 113^I, поэтому одна запись может участвовать в разных проектах с разными процессными типами.
Если у записи нет 113^I, проект использует активный тип по умолчанию для соответствующего v920. Если проектные типы не настроены, используются fallback-настройки таблицы 4.
Типы связей 113 LINK настраиваются в проекте, потому что разные workflow-проекты могут разрешать разные связи даже для одного и того же v920. Тип связи содержит ключ, прямое и обратное название, необязательную категорию, активность и область применения по типу записи или проектному типу объекта.
WorkflowView использует эти настройки в секции карточки links: администратор выбирает только доступный тип связи, а физическая запись связи остается стандартной для всех модулей.
Вместо прикладных функций вида FindQuestionByKey проект задает универсальную схему поиска. Для каждого типа записи можно указать поле, подполе и поисковый префикс. Универсальные страницы и API Workflow используют эти настройки для поиска записи по ключу.
Например, для обращений внешний идентификатор может иметь вид REQ-123, а поиск выполняется по настроенному префиксу в индексе.
WorkflowProject отвечает за операции с проектом как с конфигурационным пакетом:
При копировании должны копироваться workflow, статусы, переходы, экраны, схемы, фильтры, представления и проектные типы связей, связанные с проектом.
Типовые методы:
| Метод | Назначение |
|---|---|
GetProjectByKey() |
найти проект по ключу |
ResolveRecordProject() |
определить проект записи по явному ключу, полю 113, идентификаторному полю записи или ключу по умолчанию |
ApplyProjectToRecord() |
привязать запись к проекту и заполнить ее человекочитаемый идентификатор при необходимости |
GetWorkflowKeyForRecordType() |
определить workflow для v920 и необязательного проектного типа |
GetWorkflowKeyForRecord() |
определить workflow конкретной записи с учетом 113^I |
GetRecordProjectObjectTypeKey() |
получить проектный тип записи из 113^I или дефолт проекта |
GetRecordIdentityConfig() |
получить настройки идентификатора записи |
GetRecordIdentityValue() |
прочитать идентификатор из записи по настройкам проекта |
ApplyRecordIdentity() |
сформировать и записать идентификатор записи, если он еще не заполнен |
FindRecordByIdentity() |
найти запись по внешнему идентификатору |
GetLinkTypesForRecordType() |
получить доступные типы связей для типа записи и проектного типа объекта |
ExportProjectDefinitionJson() |
получить JSON-описание проекта |
HealthCheck_Self() |
выполнить self-check модели проекта Workflow |