Настройка обмена пакетами с Диадок

Данное расширение модуля позволяет послать в одном пакете Диадок не только файл УПД или другой структурированный документ, но и связанные с ним неструктурированные документы.

Чтобы неструктурированный документ оказался добавлен в пакет, он должен быть связан с УПД ссылкой типа Связано с (ЮЗДО) (см. "Особенности формирования связей" ниже).

Отправка пакета

При нажатии кнопки Подписать и отправить на форме УПД производятся следующие действия:

  1. У связанного с УПД неформализованного документа проверяется наличие в поле Контрагент записи соответствующей контрагенту-получателю УПД. Если запись не соответствует или отсутствует, будет выведено сообщение об ошибке и предложено указать контрагента.

  2. При помощи ЭП подписывается УПД и связанные с ним документы.

  3. Формируется диалоговое окно с соответствующими изменениями. В окне отображается информация о том, что был сформирован пакет документов.

  4. По нажатию ОК формируется пакет и передается на отправку.

  5. Также изменяются записи в журнале обмена ЮЗДО карточки УПД. В журнале фиксируется информация о ходе обработки документа УПД и связанных файлов.

Получение Пакета

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

Чтобы подписать полученный УПД со связанными документами, необходимо подписать документ, к которому привязаны остальные ссылками Ссылается на (ЮЗДО). В этом случае пакет будет автоматически сформирован, подписан и отправлен.

При формировании запроса на уточнение, корректировку и исправление УПД, неформализованные документы, входящие в пакет, остаются неизменными.

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

  2. Если был найден документ, подчиненный текущему, в подчинённый добавляется ссылка на родительский (текущий), а в текущем создаётся ссылка на подчинённый.

  3. Если был найден документ с тем же ID, первый формализованный документ в пакете будет определён как родительский и будут сформированы соответствующие ссылки.

Связанные документы — это всегда ссылка Ссылается на (ЮЗДО). Никакие другие ссылки, включая обратную Связано с (ЮЗДО), аналогичным образом не обрабатываются.

Если требуется работа со ссылками Ссылается на (ЮЗДО) или Связано с (ЮЗДО) в других карточках, необходимо разрешить ее выбор и показывать этот тип ссылки в списке ссылок. Глубина связей для любых обработок составляет всегда только один уровень вниз. Рекурсивный поиск связей не производится.

При подписании пакета учитывается наличие связей, но при этом остаётся возможность подписать любой связанный документ. Можно подписать пакет, в котором уже есть подписанные связанные документы, но родительский документ не подписан. В таком случае будет подписан родительский документ, а также связанные документы, у которых ещё нет подписи. Неподписанные документы будут отображены в сообщении.

Настройка функций отправки и получения пакетов

В рамках модуля реализована возможность добавить новые функции самостоятельно.

Для отправки пакета из родительского документа и всех связанных требуется вызвать метод:

EdiScriptHelper.SignAndSendWithLinked();

Вызов метода можно привязать к новой кнопке или заменить прежний вызов метода на требуемой кнопке отправки.

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

EdiScriptHelper.SendCardWithLinkedReplySignature();

Вызов метода можно привязать к новой кнопке или заменить прежний вызов метода на требуемой кнопке отправки.