4.2. Новый метод обмена корреспонденцией между организациями Synergy¶
В новой версии Synergy мы полностью переписали модуль обмена корреспонденцией между организациями Synergy
(модуль DF-EX). Вместо него сейчас используется пакет arta-synergy-doc-exchange
, в котором весь обмен
документами полностью реализован с помощью API, без использования почты.
При этом полностью запрещено использование форм старого формата, которые добавлялись в Административном приложении, раздел «Формы»:
Сами файлы форм не будут удалены, но их нельзя больше использовать для обмена документами, а также запрещено добавлять новые формы в этот раздел.
4.2.1. Изменения методов API¶
Для обеспечения полноценного обмена документами были удалены некоторые устаревшие методы и реализованы новые. Все новые методы продокументированы в swagger.
Удаленные методы API:
rest/api/docflow/doc/addDtiIDLink
rest/api/docflow/doc/getDocumentInfo
rest/api/docflow/doc/getRegUserByUUID
Новые методы:
rest/api/docflow/doc/create
- создание документа с карточкойrest/api/docflow/doc/log
- добавление либо пересохранение данных из хода исполнения документаrest/api/docflow/doc/register
- отправка документа на регистрациюrest/api/docflow/doc/reject
- отказ в регистрации документаrest/api/docflow/doc/save
- сохранение документа с карточкойrest/api/dictionary/record/edit
- изменение записи справочника
Реализованы новые события документов:
event.docflow.document.change
- документ измененevent.docflow.document.changeRkk
- изменен РКК документаevent.docflow.document.send.for.registration
- документ отправлен на регистрациюevent.docflow.document.reject
- отказ в регистрации документаevent.docflow.document.finished
- завершено исполнение документа
4.2.2. Первичная настройка¶
После установки пакета arta-synergy-doc-exchange
нужно перейти по ссылке <host>:<port>/doc-exchange
и авторизоваться под пользователем с ролью Synergy Developer:
После успешной авторизации будет отображен модуль настройки обмена корреспонденцией. Этот модуль состоит из двух основных частей:
- «Корреспонденты», позволяющий настроить и синхронизировать список корреспондентов, которые будут обмениваться документами
- «Настройки», содержащий общие настройки модуля обмена документами.
4.2.2.1. Настройки модуля¶
Этот раздел содержит подсказки по настройке форм для типов документов: описание и коды компонентов, которые обязательно должны содержаться на форме.
Все экземпляры Synergy, участвующие в обмене документами, должны иметь приложение с кодом, указанным в настройках. В этом приложении будут содержаться справочники корреспондентов, типы документов и формы для них.
Пользователь, указанный в настройках, должен иметь роли «Разработчик Synergy» и «Сотрудник канцелярии».
Внимание
Если на стенде, где установлен doc-exchange, ранее уже был настроен DF-EX, необходимо убедиться, что ни в одном из приложений в Synergy IDE нет справочника с кодом, указанным в настройке «Код справочника корреспондентов» (для этого можно воспользоваться поиском по заголовку объекта):
Если справочник с указанным кодом уже существует в одном из приложений, то нужно:
- либо удалить этот справочник из приложения Synergy IDE;
- либо в настройках doc-exchange указать другой код справочника корреспондентов.
Например:
В этом же разделе указываются настройки отправки документов:
- Интервал повторной отправки (по умолчанию - 600000мс)
- Количество попыток отправки (по умолчанию - 6 попыток)
- Отправлять печатное представление файлов по форме
- Отправлять прочие файлы
- Отправлять ход исполнения исходящего документа
Примечание
Флаг «Отправлять ход исполнения исходящего документа» заменяет собой флаг «Синхронизировать ход выполнения по входящему документу», который использовался в модуле DF-EX.
4.2.2.2. Начало работы¶
При подключении нового экземпляра Synergy к обмену документами, в том числе и при первичной настройке этого обмена, необходимо:
Определить приложение Synergy (в Synergy IDE), в котором будут собраны журналы и типы документов, участвующие в обмене, или создать такое приложение. Указать его код в настройках doc-exchange.
В приложении настроить объекты:
журналы для входящих и исходящих документов
форму для исходящих документов, содержащую компонент «Выпадающий список» с идентификатором
exchangeCorrespondent
Подсказка
Если предполагается отправка документа нескольким корреспондентам, то на форму можно добавить динамическую таблицу с произвольным кодом, а в ней разместить выпадающий список
exchangeCorrespondent
.форму для входящих документов, содержащую компоненты:
- поле «Выпадающий список» с идентификатором
exchangeCorrespondent
, заблокированное от изменения пользователем - поле «Выпадающий список» с идентификатором
exchangeAuthorCorrespondent
, заблокированное от изменения пользователем - поле «Однострочный текст» с идентификатором
srcDocumentId
, скрытое
- поле «Выпадающий список» с идентификатором
входящий тип документа, для которого указана настроенная дополнительная форма входящих документов
Внимание
В типе документа в поле «Способ ввода срока» должен быть выбран вариант «Длительность». В противном случае обмен документами работать не будет.
исходящие типы документов, для каждого из которых указана дополнительная форма исходящих документов
В интерфейсе doc-exchange, раздел «Корреспонденты», указать первого корреспондента - собственный экземпляр Synergy:
- код - уникальный код корреспондента
- наименование корреспондента на трех языках
- URL Synergy в формате
http(s)://<host>:<port>/Synergy
- указать хост и порт текущего экземпляра Synergy - URL doc-exchange в формате
http(s)://<host>:<port>/doc-exchange
- логин и пароль пользователя этого экземпляра Synergy, у которого есть роли «Сотрудник канцелярии» и «Разработчик Synergy»
- код входящего типа документа, созданного в Synergy IDE
- коды исходящих типов документов, созданных в Synergy IDE (если типов исходящих документов несколько, можно перечислить их коды через запятую)
Пример заполнения сведений о корреспонденте:
Сохранить внесенные сведения, нажав на кнопку «Сохранить».
Корреспондент будет добавлен в общий список корреспондентов. При этом в указанном приложении Synergy IDE будет создан справочник корреспондентов, содержащий один элемент - текущего корреспондента.
В Synergy IDE в формах для входящих и исходящих документов, созданных на шаге 2, в свойствах
exchangeCorrespondent
иexchangeAuthorCorrespondent
указать справочник «Справочник корреспондентов организаций»; в качестве значения компонента указать колонку «Код»:
Далее можно приступать к добавлению новых корреспондентов.
4.2.3. Добавление нового корреспондента¶
Корреспонденты могут располагаться как на одном и том же экземпляре Synergy, так и на отдельных (в случае, если документы должны передаваться между разными Synergy, имеющими разные URL). С точки зрения doc-exchange никакой разницы между этими вариантами нет.
В общем случае процесс настройки нового корреспондента начинается в Synergy IDE:
в приложении с кодом, указанным в настройках doc-exchange, нужно создать тип входящего документа, указав для него дополнительную форму для входящего документа
в этом же приложении создать типы исходящих документов (один или несколько), указав для них дополнительную форму исходящего документа
Внимание
Каждый корреспондент независимо от того, расположен он на общем с другими корреспондентами экземпляре Synergy или на отдельном, должен иметь уникальные коды типов документов.
в интерфейсе doc-exchange добавить нового корреспондента:
4.2.4. Группы корреспондентов¶
Часто возникает потребность отправки документа одновременно нескольким корреспондентам. Для случая, когда набор корреспондентов постоянный (например, в случае отправки документа из Центрального аппарата всем филиалам), удобно использовать группы корреспондентов.
Группы добавляются таким же образом, что и корреспонденты. В диалоге настройки корреспондента необходимо включить флаг «Является группой». После этого необходимо будет отметить тех корреспондентов, которые будут входить в группу:
4.2.5. Синхронизация¶
Обмен документами посредством doc-exchange построен на том, что у каждого корреспондента, участвующего в обмене, есть доступ к общему справочнику корреспондентов и одному и тому же набору его элементов. В терминах Synergy синхронизация корреспондентов - это приведение элементов справочника корреспондентов к одному и тому же состоянию на всех экземплярах Synergy, участвующих в обмене.
Примечание
- Синхронизация необходима только в том случае, когда в обмене документами участвуют организации, расположенные по разным URL Synergy. Если все корреспонденты расположены на одном и том же экземпляре Synergy, то выполнение синхронизации не требуется.
- Группы корреспондентов не синхронизируются.
Для корректной синхронизации рекомендутся:
на одном экземпляре Synergy (в интерфейсе doc-exchange) добавить сведения обо всех корреспондентах, включая тех, что расположены на текущем стенде
нажать на кнопку «Синхронизировать»
Внимание
Предварительно необходимо убедиться, что на каждом экземпляре Synergy, где расположены указанные корреспонденты, установлен пакет
arta-synergy-doc-exchange
.В случае успешной синхронизации в списке корреспондентов будут указаны дата и время последней синхронизации:
открыть интерфейс doc-exchange на другом экземпляре Synergy: список корреспондентов будет содержать синхронизированные элементы, настроенные на исходном стенде.
4.2.5.1. Пример: отправка и получение документов¶
В качестве примера рассмотрим вариант настройки корреспондентов и сам процесс обмена документами между организациями:
на стенде 1 в Synergy IDE настроено приложение, содержащее специальные формы, журналы и типы входящих и исходящих документов для одного корреспондента
syn1
;на стенде 2 в Synergy IDE настроено другое приложение, содержащее формы, журналы и типы документов для трех корреспондентов:
syn2
syn2_filial
syn2_filial2
на стенде 1 в интерфейсе doc-exchange добавлены все четыре корреспондента:
синхронизируем корреспондентов, нажав на кнопку «Синхронизировать» в верхней части экрана; после сообщения о начале синхронизации у каждого корреспондента в списке будут указаны статус синхронизации и время последней удачной синхронизации:
перейдем к doc-exchange на стенде 2, обновим список корреспондентов и убедимся, что там уже были автоматически добавлены все корреспонденты:
Теперь в клиентской части Synergy на стенде 1 создадим новый документ исходящий документ в журнале:
Заполним краткое содержание документа, а в дополнительных полях формы типа документа выберем нужного корреспондента:
На следующем шаге мастера регистрации документов добавим вложения для исходящего документа:
Внимание
Все исходящие документы, отправляемые посредством doc-exchange, обязательно должны содержать вложения. Документы без вложений будут зарегистрированы в исходящем журнале отправителя, но не будут отправлены корреспондентам-получателям.
Зарегистрируем документ, откроем его карточку и проверим ход выполнения:
Перейдем на стенд корреспондента-получателя и проверим его журнал входящих документов:
В мастере регистрации входящего документа указан его тип документа, канцеляр-отправитель, а в дополнительных полях - корреспондент-автор:
Зарегистрируем входящий документ, а потом вернемся на исходный стенд и проверим ход выполнения исходящего документа:
Если у исходящего документа до момента его регистрации был ход выполнения, он также будет передан корреспондентам: