Новый метод обмена корреспонденцией между организациями Synergy ---------------------------------------------------------------- В новой версии Synergy мы полностью переписали модуль обмена корреспонденцией между организациями Synergy (модуль DF-EX). Вместо него сейчас используется пакет ``arta-synergy-doc-exchange``, в котором весь обмен документами полностью реализован с помощью API, без использования почты. При этом полностью запрещено использование форм старого формата, которые добавлялись в Административном приложении, раздел "Формы": .. figure:: ../_static/dfex_old_forms.png Сами файлы форм не будут удалены, но их нельзя больше использовать для обмена документами, а также запрещено добавлять новые формы в этот раздел. Изменения методов 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`` - завершено исполнение документа Первичная настройка ~~~~~~~~~~~~~~~~~~~~ После установки пакета ``arta-synergy-doc-exchange`` нужно перейти по ссылке ``:/doc-exchange`` и авторизоваться под пользователем с ролью **Synergy Developer**: .. figure:: ../_static/image_8.png После успешной авторизации будет отображен модуль настройки обмена корреспонденцией. Этот модуль состоит из двух основных частей: #. "Корреспонденты", позволяющий настроить и синхронизировать список корреспондентов, которые будут обмениваться документами #. "Настройки", содержащий общие настройки модуля обмена документами. Настройки модуля """""""""""""""""" .. figure:: ../_static/image_52.png Этот раздел содержит подсказки по настройке форм для типов документов: описание и коды компонентов, которые обязательно должны содержаться на форме. Все экземпляры Synergy, участвующие в обмене документами, должны иметь приложение с кодом, указанным в настройках. В этом приложении будут содержаться справочники корреспондентов, типы документов и формы для них. Пользователь, указанный в настройках, должен иметь роли "Разработчик Synergy" и "Сотрудник канцелярии". .. attention:: Если на стенде, где установлен doc-exchange, ранее уже был настроен DF-EX, необходимо убедиться, что ни в одном из приложений в Synergy IDE нет справочника с кодом, указанным в настройке "Код справочника корреспондентов" (для этого можно воспользоваться поиском по заголовку объекта): .. figure:: ../_static/image_75.png .. figure:: ../_static/image_76.png Если справочник с указанным кодом уже существует в одном из приложений, то нужно: - либо удалить этот справочник из приложения Synergy IDE; - либо в настройках doc-exchange указать другой код справочника корреспондентов. Например: .. figure:: ../_static/image_77.png В этом же разделе указываются настройки отправки документов: - Интервал повторной отправки (по умолчанию - 600000мс) - Количество попыток отправки (по умолчанию - 6 попыток) - Отправлять печатное представление файлов по форме - Отправлять прочие файлы - Отправлять ход исполнения исходящего документа .. note:: Флаг "Отправлять ход исполнения исходящего документа" заменяет собой флаг "Синхронизировать ход выполнения по входящему документу", который использовался в модуле DF-EX. Начало работы """""""""""""" При подключении нового экземпляра Synergy к обмену документами, в том числе и при первичной настройке этого обмена, необходимо: 1. Определить приложение Synergy (в Synergy IDE), в котором будут собраны журналы и типы документов, участвующие в обмене, или создать такое приложение. Указать его код в настройках doc-exchange. 2. В приложении настроить объекты: - журналы для входящих и исходящих документов - форму для исходящих документов, содержащую компонент "Выпадающий список" с идентификатором ``exchangeCorrespondent`` .. hint:: Если предполагается отправка документа нескольким корреспондентам, то на форму можно добавить динамическую таблицу с произвольным кодом, а в ней разместить выпадающий список ``exchangeCorrespondent``. - форму для входящих документов, содержащую компоненты: - поле "Выпадающий список" с идентификатором ``exchangeCorrespondent``, заблокированное от изменения пользователем - поле "Выпадающий список" с идентификатором ``exchangeAuthorCorrespondent``, заблокированное от изменения пользователем - поле "Однострочный текст" с идентификатором ``srcDocumentId``, скрытое - входящий тип документа, для которого указана настроенная дополнительная форма входящих документов .. attention:: В типе документа в поле "Способ ввода срока" должен быть выбран вариант "Длительность". В противном случае обмен документами работать не будет. - исходящие типы документов, для каждого из которых указана дополнительная форма исходящих документов 3. В интерфейсе doc-exchange, раздел "Корреспонденты", указать первого корреспондента - собственный экземпляр Synergy: - код - уникальный код корреспондента - наименование корреспондента на трех языках - URL Synergy в формате ``http(s)://:/Synergy`` - указать хост и порт текущего экземпляра Synergy - URL doc-exchange в формате ``http(s)://:/doc-exchange`` - логин и пароль пользователя этого экземпляра Synergy, у которого есть роли "Сотрудник канцелярии" и "Разработчик Synergy" - код входящего типа документа, созданного в Synergy IDE - коды исходящих типов документов, созданных в Synergy IDE (если типов исходящих документов несколько, можно перечислить их коды через запятую) Пример заполнения сведений о корреспонденте: .. figure:: ../_static/image_56.png 4. Сохранить внесенные сведения, нажав на кнопку "Сохранить". Корреспондент будет добавлен в общий список корреспондентов. При этом в указанном приложении Synergy IDE будет создан справочник корреспондентов, содержащий один элемент - текущего корреспондента. 5. В Synergy IDE в формах для входящих и исходящих документов, созданных на шаге 2, в свойствах ``exchangeCorrespondent`` и ``exchangeAuthorCorrespondent`` указать справочник "Справочник корреспондентов организаций"; в качестве значения компонента указать колонку "Код": .. figure:: ../_static/image_57.png Далее можно приступать к добавлению новых корреспондентов. Добавление нового корреспондента ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Корреспонденты могут располагаться как на одном и том же экземпляре Synergy, так и на отдельных (в случае, если документы должны передаваться между разными Synergy, имеющими разные URL). С точки зрения doc-exchange никакой разницы между этими вариантами нет. В общем случае процесс настройки нового корреспондента начинается в Synergy IDE: 1. в приложении с кодом, указанным в настройках doc-exchange, нужно создать тип входящего документа, указав для него дополнительную форму для входящего документа 2. в этом же приложении создать типы исходящих документов (один или несколько), указав для них дополнительную форму исходящего документа .. attention:: Каждый корреспондент независимо от того, расположен он на общем с другими корреспондентами экземпляре Synergy или на отдельном, должен иметь уникальные коды типов документов. 3. в интерфейсе doc-exchange добавить нового корреспондента: .. figure:: ../_static/image_58.png В данном случае, находясь на Synergy ``http://192.168.3.224:8080``, указываем корреспондента ``syn2`` с другого экземпляра ``http://192.168.4.40:8080``, где также установлен пакет ``arta-synergy-doc-exchange``, приложение Synergy IDE со специальными формами входящих и исходящих типов документов. .. figure:: ../_static/image_59.png Экземпляр Synergy ``http://192.168.4.40:8080`` содержит еще одного корреспондента с собственными типами входящих и исходящих документов, с уникальным кодом ``syn2_filial``, но общими URL Synergy и doc-exchange. Группы корреспондентов ~~~~~~~~~~~~~~~~~~~~~~~ Часто возникает потребность отправки документа одновременно нескольким корреспондентам. Для случая, когда набор корреспондентов постоянный (например, в случае отправки документа из Центрального аппарата всем филиалам), удобно использовать **группы корреспондентов**. Группы добавляются таким же образом, что и корреспонденты. В диалоге настройки корреспондента необходимо включить флаг "Является группой". После этого необходимо будет отметить тех корреспондентов, которые будут входить в группу: .. figure:: ../_static/image_60.png Синхронизация ~~~~~~~~~~~~~~ Обмен документами посредством doc-exchange построен на том, что у каждого корреспондента, участвующего в обмене, есть доступ к общему справочнику корреспондентов и одному и тому же набору его элементов. В терминах Synergy синхронизация корреспондентов - это приведение элементов справочника корреспондентов к одному и тому же состоянию на всех экземплярах Synergy, участвующих в обмене. .. note:: 1. Синхронизация необходима только в том случае, когда в обмене документами участвуют организации, расположенные по разным URL Synergy. Если все корреспонденты расположены на одном и том же экземпляре Synergy, то выполнение синхронизации не требуется. 2. Группы корреспондентов не синхронизируются. Для корректной синхронизации рекомендутся: 1. на одном экземпляре Synergy (в интерфейсе doc-exchange) добавить сведения обо всех корреспондентах, включая тех, что расположены на текущем стенде 2. нажать на кнопку "Синхронизировать" .. attention:: Предварительно необходимо убедиться, что на каждом экземпляре Synergy, где расположены указанные корреспонденты, установлен пакет ``arta-synergy-doc-exchange``. В случае успешной синхронизации в списке корреспондентов будут указаны дата и время последней синхронизации: .. figure:: ../_static/image_61.png 3. открыть интерфейс doc-exchange на другом экземпляре Synergy: список корреспондентов будет содержать синхронизированные элементы, настроенные на исходном стенде. Пример: отправка и получение документов """"""""""""""""""""""""""""""""""""""""" В качестве примера рассмотрим вариант настройки корреспондентов и сам процесс обмена документами между организациями: #. на стенде 1 в Synergy IDE настроено приложение_, содержащее специальные формы, журналы и типы входящих и исходящих документов для одного корреспондента ``syn1``; #. на стенде 2 в Synergy IDE настроено `другое приложение`_, содержащее формы, журналы и типы документов для трех корреспондентов: - ``syn2`` - ``syn2_filial`` - ``syn2_filial2`` #. на стенде 1 в интерфейсе doc-exchange добавлены все четыре корреспондента: .. figure:: ../_static/image_62.png Находясь на стенде 3.224, добавляем корреспондента-себя и корреспондентов с соседнего стенда 4.40. .. figure:: ../_static/image_63.png Пример настройки корреспондента-филиала ``syn2_filial2``. #. синхронизируем корреспондентов, нажав на кнопку "Синхронизировать" в верхней части экрана; после сообщения о начале синхронизации у каждого корреспондента в списке будут указаны статус синхронизации и время последней удачной синхронизации: .. figure:: ../_static/image_64.png В результате синхронизации в справочнике корреспондентов на стенде 4.40 будут добавлены элементы, соответствующие корреспондентам. #. перейдем к doc-exchange на стенде 2, обновим список корреспондентов и убедимся, что там уже были автоматически добавлены все корреспонденты: .. figure:: ../_static/image_65.png .. _приложение: ../_static/app-exchange2019-06-19_16-06-03.7z .. _`другое приложение`: ../_static/app-exchange2019-06-19_16-25-56.7z Теперь в клиентской части Synergy на стенде 1 создадим новый документ исходящий документ в журнале: .. figure:: ../_static/image_66.png Выбран тип документа, указанный как исходящий для корреспондента. Ниже стандартных полей РКК документа располагаются дополнительные поля формы, добавленной для этого типа документа - в нашем случае это выпадающий список настроенных корреспондентов. Заполним краткое содержание документа, а в дополнительных полях формы типа документа выберем нужного корреспондента: .. figure:: ../_static/image_67.png В нашем случае доступна отправка только одному корреспонденту, потому что на стенде не были настроены группы, а на форме исходящего документа выбор корреспондентов не был помещен в динамическую таблицу. На следующем шаге мастера регистрации документов добавим вложения для исходящего документа: .. figure:: ../_static/image_68.png .. attention:: Все исходящие документы, отправляемые посредством doc-exchange, обязательно должны содержать вложения. Документы без вложений будут зарегистрированы в исходящем журнале отправителя, но не будут отправлены корреспондентам-получателям. Зарегистрируем документ, откроем его карточку и проверим ход выполнения: .. figure:: ../_static/image_69.png В ходе выполнения **исходящего** документа отображено, что он был отправлен корреспонденту "Синерджи 4.40" и находится там в статусе "На регистрации". Перейдем на стенд корреспондента-получателя и проверим его журнал входящих документов: .. figure:: ../_static/image_70.png Документ получен. В мастере регистрации входящего документа указан его тип документа, канцеляр-отправитель, а в дополнительных полях - корреспондент-автор: .. figure:: ../_static/image_71.png Зарегистрируем **входящий** документ, а потом вернемся на исходный стенд и проверим ход выполнения **исходящего** документа: .. figure:: ../_static/image_72.png В ходе выполнения исходящего документа отображен его номер регистрации как входящего у корреспондента-получателя. Если у исходящего документа до момента его регистрации был ход выполнения, он также будет передан корреспондентам: .. figure:: ../_static/image_73.png Документ был отправлен от корреспондента "Синерджи 4.40" корреспонденту "Синерджи 3.224". До его отправки документ был согласован сотрудниками организации-автора, что и отображено в его ходе выполнения.