СБИС Коннект: Отправка документов

Материал из razgovorov.ru
Версия от 14:55, 5 марта 2015; Разговоров Михаил (обсуждение | вклад) (Подписание конкретной подписью или несколькими подписями)
Перейти к: навигация, поиск


Регламенты отправки

Стандартный (*.sbis.xml)

Рекомендованный регламент для отправки документов, позволяет реализовать максимум возможностей СБИС Коннекта. Единицей передаваемой информации в системе СБИС является пакет документов (письмо), в который может входить произвольное количество документов. Пакет является неделимым целым, т.е. Ваш контрагент долж

Информационная система должна выгрузить в каталог Отправляемые XML документы регламентированных форматов, а также описание пакета документов.


Наибольшая производительность СБИС Коннекта достигается если в одном XML файле выгружать несколько пакетов документов. Оптимальный размер файл

  1. Сканирует папку Отправляемые и составляет список содержащихся в нем Конвертов (файлов по маске *.sbis.xml).
  2. Читаем по очереди все Конверты из списка.
    1. Проверяем формат Конверта. Если проверка закончилась неудачно Конверт переносится в папку ОшибкиПодготовки.
    2. Разбиваем Конверт по Пакетам: Создаем в Папке ПодготовленныеКОтправке Конверты с одним Пакетом внутри, назначаем Пакету идентификатор спецоператора (если его не назначил пользователь).
    3. Удаляем исходный Конверт
  3. Читаем по очереди все Конверты из папки ПодготовленныеКОтправке
    1. Проверяем наличие перечисленных в Конверте внешних вложений. Если найдены не все вложения то Конверт переносится в конец очереди отправки (рекомендуется Конверт выгружать после выгрузки всех вложений).
    2. Если у тега Вложение заполнен атрибут XSLT - выполняется соответствующее преобразование.
    3. Загружает Пакет в кабинет.
    4. Определяет наличие необходимой электронной подписи, если явно не указана берется наиболее подходящая.
    5. Вызывает сервис проверки загруженного Пакета, файлы приводятся к соответствующим форматам (добавляются сведения об участниках документооборота и подписантах, имя файла переименовываются в соответствии с шаблоном).
    6. Подписывает файлы.
    7. Запускает Пакет в документооборот (Отправляет).
    8. Генерирует статус 13 - Загрузка на сервер

Не всегда есть возможность выгрузить документы из учетной системы в регламентированном формате. СБИС Коннект умеет получать XML документы из файлов наиболее популярных форматов.

Произвольный XML

Если по какой то причине Вы не можете или не хотите выгружать данные в регламентированном формате.

Например если из одного набора данных делаются все печатные формы, или Ваша система не поддерживает кириллицу, или Вы не хотите следить за изменениями в требованиях к формата электронных документов. То вы можете выгрузить в каталог Отправляемые произвольный XML файл.

СБИС Коннект применит к каждому XML файлу указанное в настройках регламента XSLT преобразование, которое должно привести Ваш файл к формату Конверта. После чего СБИС Коннект обработает его по стандартному регламенту.

Как правило XSLT преобразование разрабатывается индивидуально под клиента.

Произвольный DBF

Применяется если исходные данные для формирования документов выгружены в формате DBF. Алгоритм работы:

  1. Информационная система выгружает dbf файлы в каталог Отправляемые.
  2. СБИС Коннект дожидается окончания выгрузки (по отсутствию активности в каталоге в течении минуты)
    1. Составляет список DBF файлов в каталоге.
    2. Конвертирует все DBF файлы в промежуточный XML файл.
    3. Конвертирует промежуточный XML файл в Конверт при помощи указанного в настройках регламента XSLT преобразованием
    4. Обрабатывает Конверт по стандартному регламенту

Если при выгрузке данных придерживаться рекомендованного формата DBF/CSV файла, то можно воспользоваться готовыми XSLT преобразованиями для стандартных типов документов.

Произвольный CSV

Регламент полностью аналогичен DBF. Строки в исходном CSV файле разбиваются по указанному в настройках разделителю на столбцы. В результате получается промежуточный файл. Формат промежуточного файла аналогичен формату промежуточного файла из регламента DBF.

Пример исходного файла:

NUM=1 
[1] 
Z00;R2211907;20120618;983964 
Z01;7706092944;771701001;ООО "Роберт Бош";129515, Москва, Королева Академика ул., д.13, стр. 5         
Z02;129515, Москва, Королева Академика ул., д.13, стр. 5                                       
Z03;198323, Ленинг обл, с.Офицер, квартал 2, Волхонское ш., д.6                                                                                  
Z04;L2212759;P2236143;1224492.0   
Z05;7807314632;472001001;ООО АВТОДОМ;198323 Ленинг обл, с.Офицер, квартал 2, Волхонское ш., д.6   
Z06;2467010028;НАБОР ЗАПЧАСТЕЙ;7961;9415.97;9415.97;0.00;18.00;1694.87;11110.84                                                             
Z06;0130305244;МОТОР ВЕНТИЛЯТОРА РАДИАТО;7961;7021.04;7021.04;0.00;18.00;1263.79;8284.83                                                             
Z07;Вис Х.К.;Чекина С.Г.

Пример промежуточного файла:

<файл ИмяФайла=”123.csv”> 
   <Строка Номер=”1” Значение=”NUM=1”> 
      <Столбец Номер=”1” Значение=”NUM=1”/> 
   </Строка> 
   <Строка Номер=”2” Значение=”[1]”> 
      <Столбец Номер=”1” Значение=”[1]”/> 
   </Строка> 
   <Строка Номер=”3” Значение=”Z00;R2211907;20120618;983964”> 
      <Столбец Номер=”1” Значение=”Z00”/> 
      <Столбец Номер=”2” Значение=”R2211907”/> 
      <Столбец Номер=”3” Значение=”20120618”/> 
      <Столбец Номер=”4” Значение=”983964”/> 
   </Строка> 
… 
</Файл>

Произвольный XLS

Применяется если исходные данные для формирования документов выгружены в формате XLS (MS Excel), а также для массовой рассылки не формализованных документов по списку контрагентов из Excel таблицы. Алгоритм работы аналогичен регламенту DBF. Пример промежуточного XML файла.

По маске

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

Имя файла при выгрузке из информационной системы клиента желательно формировать по шаблону «R_T_A_O_GGGGMMDD_N». Где:

  • R_T - префикс имени файла, принимающий значение ON_SFAKT, ON_SAVA, ON_SPEN, ON_ASVER, ON_SOP, ON_APRIPER, ON_VEDPOK, DP_OTORG12 и пр.
  • А - идентификатор получателя счета-фактуры (покупатель), где идентификатор получателя совпадает с идентификатором участника электронного документооборота в рамках выставления и получения счетов-фактур; в качестве идентификатора может использоваться пара ИНН/КПП (записывается слитно)
  • О - идентификатор отправителя счета-фактуры, где идентификатор отправителя совпадает с идентификатором участника электронного документооборота в рамках выставления и получения счетов-фактур; в качестве идентификатора может использоваться пара ИНН/КПП (записывается слитно)
  • GGGG - год формирования передаваемого файла, MM - месяц, DD - день;
  • N - 36 символьный глобально уникальный идентификатор GUID (Globally Unique IDentifier).

Параметры регламента:

Маска файлов – указывается маска, по которой СБИС Коннект будет искать файлы в каталоге Отправляемые. В маске можно использовать обычные символы, например если задать маску "123_A_O_*", то будут отобраны файлы, начинающиеся с "123_"

Пример имени файла с указанием идентификаторов участников документооборота:

ON_SFAKT_2BE7cb1ebb6f8d811e1925d9b6b0b63404e_2BE75700500fd1611b2bcba83f15e3510d5_20130415_dee97884-5c30-b4b9-0996-981960b2c823.xml

Пример имени файла с указанием ИНН/КПП участников документооборота:

ON_SFAKT_1211111135000000000_1111111237000000000_20130415_dee97884-5c30-b4b9-0996-981960b2c824.xml

Алгоритм работы СБИС Коннекта:

  1. Ждет пока прекратится выгрузка в каталог отправки (По умолчанию это отсутствие активности в течении 1 минуты).
  2. Берет первый попавшийся файл в каталоге «Отправляемые».
  3. Получает из имени файла значения элементов R_T_A_O_GGGGMMDD_N.
  4. По заданной пользователем маске и по значениям из п.2 ищет файлы для формирования пакета.
    1. Если в параметрах регламента не указано XSLT преобразование, то на основании идентификаторов участников документооборота или ИНН/КПП из имени первого файла определяет Отправителя Получателя пакета документов, формирует Конверт передает его стандартному регламенту.
    2. Если в параметрах регламента указано XSLT преобразование, то СБИС Коннект формирует [Конверт] из найденных файлов и применяет к нему указанное преобразование, а результат выполнения передает стандартному регламенту.

По папке

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

Алгоритм работы:

  1. Информационная система клиента должна выгрузить документы отправляемые в одном пакете в отдельную папку каталога Отправляемые (вложенность папок в данном случае значения не имеет).
  2. СБИС Коннект Ждет пока прекратится выгрузка в каталог отправки (По умолчанию это отсутствие активности в течении 1 минуты).
  3. СБИС Коннект перебирает все папки начиная с самой «глубокой» (максимальная вложенность). Перебирает в каждой папке все файлы и формирует из них Конверт:
  4. К каждому Конверту применяет указанное в настройках регламента XSLT преобразование.
  5. В результате преобразования должен быть сформирован Конверт который обрабатывается по стандартному регламенту, а исходная папка со всеми файлами удаляется.

Пример Конверта сформированного из папки:

<?xml version="1.0" encoding="windows-1251"?>
<Реестр>
    <Пакет ИдДок="Папка5">
        <Вложение ИмяФайла="Файл6.xml">
            <Содержимое Файла6.xml”>
        </Вложение>
        <Вложение ИмяФайла="Файл7.pdf ">
            <Содержимое Файла7.pdf в виде строки закодированной в Base64”>
        </Вложение>
    </Пакет>
</Реестр>

Дополнительные возможности

Рассылка документов

Подписание конкретной подписью или несколькими подписями

СБИС Коннект по умолчанию для подписания документов сам выбирает наиболее подходящую ЭП из доступных Однако, имеется возможность указать СБИС Коннект какими ЭП подписать данный пакет документов.

Для этого в Конверте должна быть прописана специальная команда «Подписать», а также должен быть прописан параметр (или несколько параметров) для определения сертификата ключа, которым необходимо подписать документы (см. формат Конверта). Команда применяется как для ключей, установленных на локальном компьютере (в этом случае в настройках СБИС Коннект должен стоять флаг о необходимости подписи), так и для ключей, хранящихся на сервере.

Определение нужного ключа может осуществляться по следующим параметрам:

1. ФИО владельца ключа. В этом случае часть файла Конверта, отвечающая за подписание, будет выглядеть следующим образом:

<Команда Название="Подписать">
  <Параметр Название="ПодписантФИО" Значение="Соловьев Кирилл 	Александрович" /> 
</Команда>

2. ИНН, указанный в сертификате ключа.

<Команда Название="Подписать">
  <Параметр Название="ПодписантИНН" Значение="7699000019" /> 
</Команда>

3. Отпечаток сертификата.

<Команда Название="Подписать">
  <Параметр Название="ОтпечатокСертификата" Значение="7BE164293509508F6F5A32268C0670B8E23FF332" /> 
</Команда>

Если в конверте нет команды «Подписать», то СБИС Коннект подпишет документы певым найденным ключом отправителя.

Реакция СБИС Коннект на ошибки отправки

Ошибки не связанные с данными пользователей (Отсутствует связь с сервером, системные ошибки не позволяющие в полном объеме выполнить все действия над Пакетом) Приостанавливает отправку до устранения проблем на сервере, периодически проверяет возможность отправки
Ошибки связанные с исходными данными пользователей (Файлы не прошли форматно-логический контроль, неверно указаны реквизиты Отправителя или Получателя Пакета, отсутствует требуемая электронная подпись и т.п.) Пакеты загружаются в личный кабинет как ошибочные, информация об ошибке дублируется в лог ошибок, генерируется статус 12 - Ошибка отправки