Чтение печатной формы с сервера Диадок 1С
-

Чтение печатной формы с сервера Диадок 1С

0
10174
26.05.2020 Борисенко Игорь

Содержание:

1.    Вариант авторизации через отпечаток сертификата на сервере 1С 8.3

2.    Вариант сетевой авторизации через клиентский сеанс

3.    Логика получения документа pdf-файла

    

Модуль системы Диадок позволяет не только обмениваться электронными документами, подключаясь к системе ЭДО, но и теми файлами, которые прикреплены к этим документам. Кроме того, с использованием этого модуля можно получить разные виды печатных форм документов с отметками ЭДО. Однако не все потребности пользователей покрываются типовым функционалом.


В статье будут рассмотрены особенности получения документов pdf-файлов печатных форм с сервера Диадок 1С с использованием двух вариантов авторизации: через отпечаток сертификата на сервере 1С 8.3 и через клиентский сеанс.


Постановка задачи

К документу 1С, сопоставленному с документом Диадок, нужно прикрепить pdf-файл печатной формы - картинка с отметками оператора ЭДО такого вида:

 



Диадок хранит прикрепленные файлы в справочнике Диадок_ХранениеДанных, но проблема в том, что там они хранятся в формате xml: отдельно файлы с содержанием, отдельно файлы с подписями.


Требуемую печатную форму пользователь может получить по кнопке «Получить печатную форму» из формы входящего пакета модуля ДиадокПро.




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


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


1.    Вариант авторизации через отпечаток сертификата на сервере 1С 8.3


Для автоматической сетевой авторизации Диадок рекомендует:


·         сертификат электронной подписи установить на сервер 1С 8.3;

·         отпечаток сертификата указать в настройках основного модуля для организации: элемент организации → закладка «Прочие настройки» → поле «Отпечаток сертификата на сервере 1С».




Получаем контекст авторизованного сеанса:

где ОсновнойМодуль – это модуль обработки ДиадокПро (Diadok_НомерВерсии.epf)




К этой авторизации можно обращаться в серверном контексте, например, из регламентного задания. А в самом регламентном задании уже организовать логику получения pdf-файла и прикрепления его к документу 1С 8.


Но если заказчик вводит ограничение и не будет размещать сертификат электронной подписи на сервер 1С, тогда остается вариант использовать авторизацию клиентского сеанса.  


2. Вариант сетевой авторизации через клиентский сеанс


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




Процедуру получения печатной формы привязываем к подходящей «клиентской кнопке» на форме.


Т.к. параллельно решалась задача сопоставления документов 1С и Диадок, и уже к сопоставленным документам – получение и прикрепление pdf-файлов печатных форм, то привязку сделали к кнопке «Выполнить регламентные задания». Эта кнопка вызывается из основной формы ДиадокПро через «Настройка – Сервисные функции»: 

 



3. Логика получения документа pdf-файла


В обработчике, вызываемом регламентным заданием (из сервера) или по кнопке «Выполнить регламентные задания» (из клиента):


·         Получаем КонтекстСеанса одним из описанных выше способов (через отпечаток сертификата на сервере 1С либо через клиентский сеанс).


·         Получаем двоичные данных pdf-файла печатной формы по ссылке ДокументаДиадок.




·         Сохраняем полученные двоичные данные в справочник Диадок_Документы.




·         Далее этот файл печатной формы можно выбирать наряду с другими сохраненными файлами Диадок. Например, таким запросом.




·         Можно обрабатывать как угодно.

Задача решена.

 



Итак, в статье рассмотрены:

·         особенности получения документов pdf-файлов печатных форм с сервера Диадок в 1С;

·         два варианта получения авторизации на сервере Диадок (через отпечаток сертификата на сервере 1С 8.3 и через клиентский сеанс).

 

Специалист компании ООО «Кодерлайн»

Борисенко Игорь


Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.