Show/Hide Toolbars

Руководство администратора

Интеграция с Diadoc

Ссылки Назад Вверх Вперед

"Первая Форма" может получать документы, отправлять документы, подписывать или отклонять входящие документы (с указанием причины отказа) и отслеживать статус документов в системе электронного документооборота Диадок.

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

У пользователей есть возможность подключения нескольких личных кабинетов Диадок, что может быть актуально для компаний с несколькими юридическими лицами, на каждое из которых оформляется отдельный личный кабинет. Это даёт возможность:

фиксировать юридическое лицо, от которого получены документы

отправлять статус документа в личный кабинет Диадок, соответствующий юр. лицу входящего документа

определять личный кабинет Диадок, соответствующий юридическому лицу исходящего документа

Акцептанту ЭДО не доступны для выбора сертификаты с истекшим или ещё не вступившим в действие сроком действия. Сертификаты в выпадающем списке располагаются по убыванию срока действия сертификата, срок действия отображается в скобках рядом с сертификатом.

В системе Диадок

Предоставьте учетной записи необходимые права:

Кликните мышью для просмотра изображения в полном размере

Настройки учетной записи в системе Диадок

На рабочем месте пользователя

Чтобы подписывать и отправлять электронные документы в системе Диадок необходимо использовать квалифицированную электронную подпись (КЭП). В Диадоке можно работать с различными СКЗИ, например с КриптоПро CSP.

плагин КриптоПро (ссылка на сайт КриптоПро). Не забудьте его включить!

КриптоПро CSP (ссылка на сайт КриптоПро)

Технические требования к рабочему месту

В "Первой Форме"

Действия для настройки интеграции:

1. Добавьте сервис с типом Diadoc.

2. Выберите его в качестве значения Diadoc service в общих настройках приложения.

3. Убедитесь, что задание SyncEdocumentsFromDiadocJob работает.

4. Убедитесь, что в очереди событий создан поток Edocument для обработки событий обмена данными с Диадоком (поток автоматически создается заданием).

5. Добавьте пользовательский ключ DiadocLastEventsId.

6. Автоматизируйте обработку событий, которые могут возникать при интеграции с Диадок:

Отправка документа в Диадок.

Изменение статуса документа в Диадоке.

Получение документа из Диадока.

Для автоматизации используйте:

Системные события

ChangeEdocumentStatus

ReceiveNewEdocument

Смарт-действия

Получить документ из Диадок

Ответить на электронный документ

Отправить подписанный отказ от подписи

Отправить электронный документ

Создать файл с отказом от подписи

Получить тэги документа

Сохранить контент аннулирования электронного документа

Отправить подписанное извещение о получении

Отправить подписанный файл об аннулировании

Создать файл отклонения аннулирования подписи

Отправить подписанный отказ от подписи

Получить статус МЧД в Диадоке

warning_icon  В случае аннулирования резолюция требуется не для файла, полученного из системы Диадок, а для файла аннуляции.

Файл аннуляции сохраняется с помощью действия SaveRevocationFile, после чего либо отправляется подписанный файл об аннулировании (AttachRevocationRequestedSignature), либо создается файл отклонения аннулирования подписи (GenerateRejectRevocationSignature) и отправляется подписанный отказ от подписи (AttachRevocationRejectionSignature)

Логирование ответов

В "Первой Форме" есть возможность логировать ответы при интеграции с сервисом Диадок. По умолчанию логирование отключено.
Для его включения необходимо добавить пользовательский ключ DiadocLogEnabled и установить его в значении true.

После включения в системе будут логироваться все события: их EventId, дата этого события (Timestamp), серверное время, MessageId документа, по которому пришло событие, EntityId этого документа, BoxId и ClientId ящика, по которому пришел этот документ. В том числе определяется новый ли это документ или происходит изменение уже существующего.

Записи в журнале не появляются, если при итерации заданий не было событий на обработку.

Отправка документа в Диадок

Пример: вы создали документ и вложили его в задачу или в ДП. Теперь нужно подписать его с помощью электронной подписи и отправить контрагенту через Диадок.

Подписание документа с помощью электронной подписи и отправка его контрагенту через Диадок инициируется внутри "Первой Формы", обычно при переходе по маршруту. Для запуска соответствующего действия используется привязка смарт-пакета к смарт-событию "После перехода".

Привязка действия

Привяжите действие к смарт-событию После перехода. В пакете достаточно настроить смарт-действие "Выполнить смарт-скрипт".

diadoc_send

Привязка пакета действий к событию в категории

Скрипт для автоматизации

Скрипт удобнее писать на языке Lua, хотя те же действия можно реализовать с помощью смартов.

Пример Lua-скрипта для отправки файла в Диадок

Изменение статуса документа в Диадок

Пример: вы создали документ, подписали его с помощью электронной подписи, вложили в задачу и отправили на подписание контрагенту через Диадок. Теперь нужно отследить изменение статуса документа в Диадоке: если контрагент подписал документ, задачу нужно перевести в статус Завершено, а если не подписал — в статус Отклонено.

Привязка действия

Для обработки внешнего события — изменения статуса документа в Диадоке — используйте очередь событий. Привяжите действие к системному событию ChangeEdocumentStatus. В пакете достаточно настроить смарт-действие "Выполнить смарт-скрипт".

diadoc_change

Привязка действий к системному событию

Скрипт для автоматизации

Скрипт удобнее писать на языке Lua, хотя те же действия можно реализовать с помощью смартов.

Контекст события

В скрипте нужно проверить сообщение, присылаемое Диадоком, и в зависимости от него перевести задачу в нужный статус.

Пример Lua-скрипта для события ChangeEdocumentStatus

Получение документа из Диадок

Пример: контрагент прислал документ через Диадок. Возможны два варианта:

документ прислан без запроса подписи,

документ отправлен на подпись, вы должны обработать ее — подписать или отклонить.

При получении документа возможны два варианта:

контрагент просто прислал вам документ без запроса подписи,

контрагент отправил вам документ на подпись. Вы должны обработать ее — подписать или отклонить.

Привязка действия

Для обработки внешнего события — получения документа через Диадок — используйте очередь событий. Привяжите действие к системному событию ReceiveNewEdocument. В пакете достаточно настроить смарт-действие "Выполнить смарт-скрипт".

diadoc_receive

Привязка действий к системному событию

Скрипт для автоматизации

Скрипт удобнее писать на языке Lua, хотя те же действия можно реализовать с помощью смартов.

Контекст события

Без запроса подписи

Если документ прислан без запроса подписи, достаточно сохранить присланный файл в файловое хранилище "Первой Формы", затем создать задачу и загрузить в нее этот файл из хранилища.

Пример Lua-скрипта для события ReceiveNewEdocument

С запросом подписи

Если документ прислан с запросом подписи, нужно выполнить следующие действия:

a)сохранить присланный файл в файловое хранилище "Первой Формы",

b)создать задачу и загрузить в нее этот файл из хранилища,

c)запросить подпись в задаче,

d)в зависимости от результата обработки подписи нужно отправить обратно в Диадок подписанный документ или файл отказа.

 

Пункты a и b соответствуют предыдущему разделу Без запроса подписи.

Для запроса подписи (пункт c) добавьте в тот же пакет действий смарт-действие "Выполнить переход по маршруту". На переходе должен быть настроен запрос подписи с включенным признаком ЭЦП.

Для обработки подписи (пункт d) настройте в категории две привязки:

пакет действий к событию "После подписания статической подписи" - если подпись подписывается, нужно прикрепить к файлу ЭП. Тогда статус документа в Диадок изменится на "подписано"

Пример Lua-скрипта для прикрепления подписи

пакет действий к событию "После отклонения статической подписи" - если подпись отклоняется, нужно сгенерировать файл отказа

Пример Lua-скрипта для генерации файла отказа

Полезные ссылки