Настройка функций обмена неформализованными документами
Для работы с неформализованными документами администратору нужно настроить разметки карточек Docsvision, которые будут использоваться для обмена электронными документами: для отправки, получения и аннулирования.
Стандартные настройки модуля предусматривают, что для получения электронных документов будет использоваться вид Документ/Входящий, а для отправки — любой вид документа, например, Документ/Исходящий.
Настройка разметки вида "Документ/Входящий"
-
Откройте в Конструкторе разметок настройки вида Документ/Входящий.
-
Добавьте на ленту карточки новую группу с названием Электронный обмен.
-
Добавьте в группу Электронный обмен команды:
-
Подписание документа.
-
Отказ в подписании документа.
-
Запросить аннулирование.
-
Подтвердить аннулирование.
-
Отказать в аннулировании.
-
-
Укажите операции доступа для добавленных команд.
-
Добавьте в скрипт карточки обработчики для новых команд.
-
Добавьте в скрипт карточки ссылку на дополнительную сборку
DocsVision.Edi.DocumentScript.dll
располагается в каталоге клиента Docsvision.Рекомендуется подключать сборку по её полному имени, а не с указанием абсолютного пути.
-
В раздел подключаемых пространств имен добавьте:
using DocsVision.Edi.DocumentScript;
-
Добавьте обработчики для новых команд:
-
Для команды Подписание документа:
private void sendReplySignature_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SendReplySignature(); }
-
Для команды Отказ в подписании документа:
private void sendReplySignatureRejectionButton_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SendReplySignatureRejection(); (1) }
1 ediScriptHelper.SendReplySignatureRejection();
следует использовать только, если точно известно, что ответ делается внутри Диадок. Для надежности проще всегда использоватьEdiScriptHelper.SendInvoiceReplyRejection();
для неформализованных документов по аналогии с формализованными. Web-клиент работает похожим образом:SendInvoiceReplyRejection
черезboxesService.GenerateSignatureRejection
. -
Для команды Запросить аннулирование:
private void sendRequestRevocation_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SendRevocation(); }
-
Для команды Подтвердить аннулирование:
private void sendApproveRevocation_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SendReplyRevocationSignature(); }
-
Для команды Отказать в аннулировании:
private void sendRejectRevocation_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SendReplyRevocationRejection(); }
-
-
-
Добавьте в разметку карточки элемент управления Журнал обмена сообщениями. Рекомендуется размещать элемент управления на новой вкладке (например, Журнал обмена ЮЗДО). Настраивать элемент управления не требуется.
Настройка разметки вида "Документ/Исходящий"
-
Откройте в Конструкторе разметок настройки вида Документ/Исходящий.
-
Добавьте на ленту карточки новую группу с названием Электронный обмен.
-
Добавьте в группу Электронный обмен команды:
-
Отправка документов.
-
Отправка документов с выбором файлов.
-
Отправка документов с подписанием.
-
Отправка документов с подписанием и выбором файлов.
-
Запросить аннулирование.
-
Подтвердить аннулирование.
-
Отказать в аннулировании.
-
-
Укажите операции доступа для добавленных команд.
-
Добавьте в скрипт карточки обработчики для новых команд.
-
Добавьте в скрипт карточки ссылку на дополнительную сборку
DocsVision.Edi.DocumentScript.dll
. -
В раздел подключаемых пространств имен добавьте:
using DocsVision.Edi.DocumentScript;
-
Добавьте обработчики для новых команд:
-
Для команды Отправка документов:
private void sendDocumentButton_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (!CardControl.Save()) return; EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SendDocument(); }
-
Для команды Отправка документов с выбором файлов:
private void sendDocumentFilesButton_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (!CardControl.Save()) return; EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SendDocumentFiles(); }
-
Для команды Отправка документов с подписанием:
private void signAndSendDocumentButton_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (!CardControl.Save()) return; EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SignAndSendDocument(); }
-
Для команды Отправка документов с подписанием и выбором файлов:
private void signAndSendDocumentFilesButton_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (!CardControl.Save()) return; EdiScriptHelper ediScriptHelper = new EdiScriptHelper(CardControl); ediScriptHelper.SignAndSendDocumentFiles(); }
-
Для команд Запросить аннулирование, Подтвердить аннулирование и Отказать в аннулировании скрипты аналогичны скриптам вида Документ/Входящий (см. выше).
-
-
-
Добавьте в разметку карточки элемент управления Журнал обмена сообщениями. Рекомендуется размещать элемент управления на новой вкладке (например, Журнал обмена ЮЗДО). Настраивать элемент управления не требуется.
Отображение типа неформализованного документа в карточке
Если требуется, в разметку карточки можно добавить текстовое поле для отображения типа неформализованного документа. Тип неформализованного документа содержится в расширенном поле Данные УПД/Тип документа карточки Документ.
Дополнительные функции документа
-
Если модуль устанавливался ранее и версия модуля в БД была обновлена до последней, в конструкторе разметок в поле карточки документа Данные УПД / Функция документа (
UniversalDocumentData / DocumentFunction
) можно добавить значенияСвРК = 3
,СвЗК = 4
, это будет соответствовать новым значениям атрибута Функция УПД. -
Если модуль устанавливается впервые или после обновления была создана новая БД, дополнительных действий не требуется.
Настройки web-разметок
-
Откройте в Конструкторе разметок настройки желаемого вида документа.
-
Добавьте для вида карточки новые кнопки команд.
-
Укажите операции доступа для добавленных команд.
-
Добавьте для новых команд в события
При щелчке
обработчики команд:Обработчик Команда Описание команды signIncoming
Подписать
Используется в неформализованных входящих документах.
signAndSendOutgoing
Подписать и отправить
При нажатии будет вызвана функция подписания документа с отправкой контрагенту.
Используется в неформализованных исходящих документах.
sendIncomingWithExistingSign
Отправка документов с имеющейся подписью
При нажатии будет вызвана функция отправки входящего документа с существующей подписью.
sendOutgoingWithExistingSign
Отправка документов с имеющейся подписью
При нажатии будет вызвана функция отправки исходящего документа с существующей подписью.
revoke
Аннулировать
При нажатии будет вызвана функция аннулирования формализованного документа.
Используется в любых неформализованных входящих документах.
approveRevocation
Подтвердить аннулирование
Используется для подтверждения аннулирования. При этом потребуется формирование ответной подписи при помощи сертификата квалифицированной подписи.
Используется в любых неформализованных документах.
rejectRevocation
Отказать в аннулировании
Для отказа в аннулировании. При этом потребуется указать причину отказа.
Используется в любых неформализованных документах.
rejectAndSendInvoice
Отказать
При нажатии будет вызвана функция отказа в подписании с указанием причины отказа.
Используется в неформализованных входящих документах.
Настройки "Журнала обмена ЭДО"
При инсталляции модуля добавляется Журнал обмена ЭДО для Web-клиента. Журнал представлен плагином EDIMessagesLog
для ЭУ Контрол табличных данных
. Плагин преобразует элемент управления в Журнал обмена ЮЗДО для Web-клиент.
-
Добавьте ЭУ "Контрол табличных данных" в разметку неформализованного документа.
-
В свойствах
Название
иНазвание плагина
укажитеEDIMessagesLog
. -
Добавьте скрипт
edi_loadMessageLogSignatureStatus
для событияПосле открытия карточки
для элемента root, чтобы загрузка статуса подписей и подписантов выполнялась асинхронно.