Взаимодействие с АРМ
|
Отправка документов
Для взаимодействия с АРМ используются XML-файлы, содержащие описание передаваемых документов (расположение и типы документов).
Внутренняя ИС, например, 1С должна сформировать отправляемый документ
и создать файл описания с расширением
.CF1 в папке указанной на странице
"Настройки\Папки обмена\".
АРМ проверяет наличие новых файлов описаний,
выполняет проверку и отправку документов.
При обработке файла описания к полному имени файла добавляется
расширение .work,
после завершения обработки расширение
меняется на .OK.
ИС должна периодически проверять наличие ответных
файлов (*.CF1.ok) от АРМ и анализировать результаты (атрибуты resultcode и
resultmsg) для каждой записи в файле описания.
Если файл описания некорректен, например, нет описания важных полей, файл описания переименовывается, к имени файла добавляется .err
Получение документов.
АРМ выполняет периодический опрос сервера оператора ЭДО
на наличие новых документов и при их наличии получает с сервера документы,
электронные подписи, производит расшифровку документов (XML, произвольные
документы), проверку ЭП и сохраняет файл описания принятых файлов в папку
обмена,
расширение файла: .CF2.
Обработка
файлов описания в информационной системе организации.
Необходимо выполнять
периодическую проверку наличия новых файлов CF2 в папке обмена.
При обработке
файлов CF2 необходимо:
1) Прочитать необходимые для ИС атрибуты из файла CF2:
id_author, id_recipient, filename, filesize, file_guid, file_address,
file_address_sig, primedoctype, parent_type, parent_guid
2) Обработать файл,
по пути указанному в атрибуте file_address: выполнить сохранение файла в базе
данных или перенос файл в файловое хранилище
3) Проверить наличие подписи по
заполненному атрибуту file_address_sig,
выполнить сохранение файла подписи в
базу или перенос файла подписи в файловое хранилище.
4) Если атрибут file_address_sig не заполнен, файл подписи может быть получен позже,
отдельным файлом CF2. Это зависит от типа документооборота.
При поступлении файла
подписи отдельно: необходимо найти по parent_guid исходный документ, к которому
относится файл подписи и выполнить привязку подписи к документу в базе ИС.
5)
После успешной обработки файла CF2 - файл можно удалить или перенести во
временное хранилище ИС.
Описание формата
xml-файлов с расширением
CF1\CF2.
В таблице символом "+" отмечены обязательные к заполнению атрибуты .
Атрибут | Описание | Примечание | Тип | ТОРГ12 | АКТ | СчФ\ УПД\ УКД | Произвольные документы (doc\pdf\jpg) |
id_author | идентификатор отправителя (первые 3 символа: идентификатор Оператора) |
должен совпадать с идентификатором пользователя, зарегистрированным в ЭДО | string [4-46] |
|
|
|
+ |
id_recipient | идентификатор получателя (первые 3 символа: идентификатор Оператора) |
проверяется АРМ-ом по справочнику пользователей | string [4-46] |
|
|
|
+ |
primedoctype | тип первичного документа | допустимые типы перечислены в таблице можно не заполнять для формализированных документов | integer |
|
|
|
+ |
file_address | полный путь к файлу | возможно использование и сетевого расположения | string [4-250] |
+ |
+ |
+ |
+ |
file_address_cer | полный путь к файлу с сертификатом | если заполнено, АРМ выполняет сохранение сертификата в указанный файл, применимо только для CF1 -файлов. | |||||
file_address_sig | полный путь к файлу с электронной подписью |
необходимы права на запись, | string[255] | ||||
id_doctype | тип документа по Приказу Министерства культуры РФ от 25 августа 2010 г. N 558 | [0..1003] можно не заполнять для формализированных документов | integer | ||||
file_name | имя файла для отображения в ИС, может не совпадать с именем в file_address | имя файла должно соответствовать требованиям | string [1-250] |
+ |
|||
file_guid | уникальный идентификатор связанного файла в ИС, формируется на стороне клиента |
36 символов, подробнее | string [36] |
+ |
|||
file_sha1 |
160-битный хеш по алгоритму sha-1, заполняется АРМ-ом |
если уже заполнено - будет выполнена проверка | string [0,40] | ||||
file_size | размер файла в байтах, заполняется АРМ-ом | если уже заполнено - будет выполнена проверка | integer | ||||
parent_type | тип документа-родителя (primedoctype -родителя) |
для связывания документов по принадлежности и подчинению | integer |
+ * |
+ * |
+ * |
+ |
parent_guid | уникальный идентификатор документа-родителя в ИС | идентификатор, с которым связывается file_guid для возможности ЭДО | string [0,36] |
+ * |
+ * |
+ * |
+ |
use_crypt | использовать шифрование файла | с использованием сертификатов автора и получателя | integer | ||||
use_sig | использовать подписание файла | подписание по умолчанию | integer | ||||
use_zip | использовать сжатие документа | устаревший атрибут | integer | ||||
resultmsg | текстовый результат выполнения операций | внешняя ИС должна проверить статус для указанного файла после обработки файла описания АРМ-ом. | string [0..5000] | ||||
resultcode | числовой код результата выполнения операций | внешняя ИС должна проверить статус для указанного файла после обработки файла описания | integer | ||||
dt_send | дата и время отправки на сервер (UTC) | Внимание: заполняется автоматически в АРМ |
dateTime (ISO 8601) |
||||
doc_date | дата документа | для передачи данных между ИС о документах (PDF\XLS) | date | + * | |||
doc_number | номер документа | для передачи данных между ИС о документах (PDF\XLS) | string [0,50] | + * | |||
doc_sum | сумма документа | для передачи данных между ИС о документах (PDF\XLS), разделитель: точка, пример: 123.45 = 123 рубля 45 копеек | string [0,20] | + * | |||
Тип
документа (primedoctype) - используется для предварительной идентификации
документов в ИС и АРМ без чтения самого документа (XML) или
при невозможности
автоматически определить тип документа (сканы документов)
Перечень типов.