Перейти к содержимому

Интеграция РД и модуля событий

Зачем нужна связка двух модулей

В Structura рабочая документация и события — это два разных модуля, которые работают вместе. Без понимания, как они соединены, легко запутаться: «почему процесс показывает одно, а карточка листа — другое?»

МодульЗа что отвечает
СобытияМаршруты (шаблоны), запущенные процессы (instances), задачи участников, история переходов и решений
Рабочая документацияРеестр комплектов и документов, листы и их версии, пакеты загрузок, замечания, согласования, опубликованные выпуски

Граница простая: процессное живёт в Событиях, содержательное живёт в РД.

Как они связаны технически

Связь устроена через идентификаторы:

  • Шаблон маршрута (project_event_template) описывает правила.
  • При запуске процесса создаётся экземпляр процесса (project_event_instance), который связан с конкретным предметом — для документации это batch (пакет загрузки).
  • Batch в свою очередь связан с document_version (ревизией документа в реестре РД).
  • Через document_version пакет связан с конкретным документом в реестре, через документ — с комплектом.
  • Внутри document_version есть листы — каждая ревизия хранит набор листов, и постоянный внутренний идентификатор листа сохраняется между ревизиями.

Цепочка:

Шаблон маршрута → Процесс (instance) → Пакет (batch) → Ревизия документа → Документ в реестре → Листы

Пользователь видит этот контекст в карточке процесса (drawer в Кабинете событий) и в шапке экрана маршрута пакета документации.

Точки синхронизации между модулями

1. Старт процесса

Когда пользователь нажимает «Запустить процесс» по шаблону документации в модуле «События», сразу процесс не создаётся: система переводит автора на форму загрузки. Реальный запуск процесса происходит только после того, как автор заполнил форму и нажал «Отправить на валидацию».

Что синхронизируется:

  • Создаётся project_event_instance со ссылкой на шаблон.
  • Создаётся batch со ссылкой на загруженный PDF.
  • Batch связан с instance через служебное поле.

Где видно:

  • В кабинете событий — новая задача у валидатора на этапе «Валидация».
  • В очереди валидатора в модуле РД — новый пакет.

2. Промежуточные переходы

Когда валидатор нажимает «Отправить на согласование» или согласующий нажимает «Передать на утверждение», происходят:

  • Обновление статуса задачи в Событиях.
  • Изменение текущего этапа процесса.
  • Запись в истории процесса.
  • Состояние пакета в РД (стадия workflow) обновляется параллельно.

Где видно:

  • В карточке процесса в кабинете — текущий этап обновился.
  • На экране маршрута пакета — стадия workflow обновилась.

3. Per-sheet decisions

Когда согласующий или утверждающий принимает решение по конкретному листу («Утвердить окончательно», «Опубликовать с замечаниями» и т.п.), оно фиксируется в обоих модулях:

  • В РД — в sheet_decisions и sheet_publications для конкретного листа.
  • В Событиях — в истории задачи.

Решение по листу не двигает процесс. Процесс двигают финальные кнопки этапа.

4. Замечания

Замечания живут в модуле РД, привязаны к листам. Но если замечание создаётся в контексте задачи кабинета событий (например, согласующий создал замечание во время своего этапа), у замечания может быть связь с этой задачей.

Где видно:

  • В карточке листа РД — список замечаний.
  • В карточке процесса — может быть упомянуто как часть истории.
  • В кабинете событий — если замечание назначено на пользователя, оно может приходить как задача.

5. Финальный итог

Когда утверждающий нажимает «Завершить утверждение», цепочка событий:

  1. В модуле Событий: процесс получает статус «Согласовано», запись в истории «Процесс согласован».
  2. В модуле РД: для каждого листа фиксируется финальное решение и статус публикации, штампуется PDF с QR. Если нужна единая сборка PDF документа целиком — она готовится в фоне из текущих ревизий листов.
  3. Через 1-2 минуты: сборка PDF документа готова, доступна для скачивания с главного экрана РД. Сборка — отчётный артефакт, не lifecycle-сущность: листы при этом уже доступны на стройке через QR.

Когда система может показывать «не то»

Иногда пользователю кажется, что состояние в одном модуле не совпадает с другим. Типичные причины:

Сценарий А. «Процесс согласован, но сборки PDF документа ещё нет»

Причина: фоновая сборка ещё идёт. После завершения утверждения сборка PDF документа целиком занимает до минуты для больших документов. Сами листы при этом уже доступны — их карточки показывают новые статусы, QR со стройки ведёт на актуальную ревизию. Ожидание касается только единой сборки.

Что делать: подождать минуту, обновить страницу. Если сборка не появляется дольше — это технический инцидент.

Сценарий Б. «Лист утверждён, но в реестре согласований показывает «В работе»»

Причина: между завершением утверждения и публикацией листа есть небольшой промежуток, когда статус ещё «промежуточный».

Что делать: обновить страницу через 30 секунд.

Сценарий В. «У меня в кабинете задача есть, но в РД пакет не открывается»

Причина: пакет может быть в стадии, когда у вас нет прав на действия (например, вы согласующий, а пакет ещё на этапе валидации).

Что делать: проверить, на какой стадии пакет. Открывайте его, когда этап ваш.

Сценарий Г. «Замечание создал, но в карточке процесса оно не видно»

Причина: замечания живут в РД и не всегда напрямую отражаются в истории процесса. Замечания, созданные согласующим в его задаче, попадают в историю; замечания, созданные «вне процесса» (например, нормоконтролем), могут не отражаться.

Что делать: искать замечания в их «родном» месте — в карточке листа или в реестре замечаний.

Как читать оба модуля параллельно

Для полной картины полезно держать открытыми оба:

  1. Кабинет событий — что нужно делать прямо сейчас и кому какие задачи.
  2. Реестр рабочей документации / карточка листа — что происходит с самим документом, какие версии и замечания.

В Структуре оба модуля доступны в проекте; переключение — через панель модулей в проекте.

Что важно понимать

  1. Один процесс соответствует одной ревизии. Если автор подаёт новую ревизию, запускается новый процесс. Старый закрывается.
  2. Решения по листам — это РД, не События. Кнопки «Утвердить лист» / «Вернуть лист» фиксируются в карточке листа и в реестре согласований. В Событиях остаётся только информация, что этап закрылся.
  3. Возврат — это новый процесс. Возврат пакета не «приостанавливает старый процесс на этапе автора», а закрывает его как «Возвращено». Автор, готовя новую версию, запускает новый процесс.
  4. Финальный публикационный статус виден в РД. Карточка процесса показывает статус процесса (Согласовано / Возвращено); статус листа смотрите в реестре согласований или карточке листа.

Связанные страницы