Интеграция с информационной системой

Контроль состояния документов в СБИС Коннект

Контроль состояния документов в СБИС Коннект

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

Формат файла конверта

Файл конверта со списком статусов документов содержит:

  • данные о пакете документов. Это идентификатор пакета, ИНН/КПП отправителя и получателя, дата отправки и т.д.;
  • код состояния обработки пакетов документов;
  • время формирования документов. Содержится в файле конверта, если документ был утвержден/отклонен или сформирован на стороне контрагента.

Стандартные форматы

Файл со списком статусов — это конверт с обязательным блоком, в котором описывается состояния пакета. Список статусов можно выгрузить СБИС Коннектом в любом стандартном формате конверта — native.xml (произвольный xml) или sbis.xml.

Примеры конвертов:

Нестандартные форматы статусов

Список состояний входящих/исходящих документов можно выгрузить и в других форматах. Это используется, если ваша система не может загрузить информацию о статусах из xml-файла стандартного формата. СБИС Коннект может выгрузить список состояний в:

  • произвольный csv-файл — с помощью xslt-преобразования конверт из стандратного формата будет преобразован в csv-файл;
  • dbf-файл фиксированного формата — без дополнительных преобразований СБИС Коннект выгрузит конверт со списком статусов в dbf-файл фиксированного формата;
  • произвольный dbf-файл — аналогично произвольному csv-файлу, dbf-файл будет сформирован с помощью xslt-преобразования из стандартного конверта.

Для форматов native.xml, произвольный CSV(*.dbf), произвольный DBF(*.dbf) в файл статуса могут подгружаться документы, по которым сгенерировано изменение и выгружен статус.

Алгоритм обработки статусов документов

Информационная система имеет определенный алгоритм обработки статусов документов.

  1. В каталоге «Состояние» отслеживается появление новых файлов конвертов.
  2. Файлы конвертов обрабатываются одним из способов:
    • по дате создания файлов в каталоге — от самого «старого» файла конверта к более новому.
      Дата и время установки состояния на документе определяется по значениям атрибутов:
      • для sbis.xml — «Реестр.Пакет.ДатаВремяФормирования»;
      • для native.xml — GДокумент.СписокСобытие.Событие.ДатаВремя».
    • либо по приоритету событий документооборота — когда обработка файлов начинается с события, которое имеет более высокий приоритет. Найболее высокий приоритет у событий внизу списка.
  3. По коду состояния определяется состояние пакета с документами.
  4. Находится идентификатор пакета, к которому относятся состояние.
  5. Отображается состояние документов в вашей информационной системе.
  6. Обработанные файлы конверта удаляются.

На заметку!

Не стоит путать два понятия: Состояние и Событие.

Рассмотрим оба способа обработки файлов конверта.

По дате создания
По приоритету событий документооборота

Ваша информационная система:

  1. Отслеживает появление новых файлов в каталоге «Состояние». Например, по двум документам появилось пять файлов конвертов:
    • файл 1 (от 01.01.17) по документу №1 — код состояния «3»;
    • файл 2 (от 03.01.17) по документу №1 — код состояния «4»;
    • файл 3 (от 02.01.17) по документу №2 — код состояния «1»;
    • файл 4 (от 06.01.17) по документу №2 — код состояния «7»;
    • файл 5 (от 04.01.17) по документу №1 — код состояния «7».
  2. Затем, система сортирует файлы по дате создания их в каталоге — от самого «старого» файла конверта к более новому:
    • файл 1 (от 01.01.17) по документу №1 — код состояния «3»;
    • файл 3 (от 02.01.17) по документу №2 — код состояния «1»;
    • файл 2 (от 03.01.17) по документу №1 — код состояния «4»;
    • файл 5 (от 04.01.17) по документу №1 — код состояния «7»;
    • файл 4 (от 06.01.17) по документу №2 — код состояния «7».
  3. Определяет документ по:
    • «Идентификатору комплекта документов». Для sbis.xml — элемент «ИдДокСпецоператора», для native.xml — элемент «Документ», код «Идентификатор»;
    • «Пользовательскому идентификатор комплекта документов». Для sbis.xml — элемент «ИдДок», для native.xml — элемент «Редакция», код «Идентификатор».
  4. После этого, система отображает состояние документов в следующем порядке:
    • для документа №1:
      • «3» — «Отправлен»;
      • «4» — «Доставлен»;
      • «7» — «Выполнение завершено успешно».
    • для документа №2:
      • «1» — «Есть документ»;
      • «7» — «Выполнение завершено успешно».
  5. Дата и время установки состояния на документе, которое принял файл статуса, определяется по значениям атрибутов:

    • для sbis.xml — «Реестр.Пакет.Событие.ДатаВремяФормирования».
    • для native.xml — «Документ.СписокСобытие.Событие.ДатаВремя».
  6. Удаляет обработанные файлы конвертов.

Ваша информационная система:

  1. Отслеживает появление новых файлов в каталоге «Состояние». Например, по двум документам появилось пять файлов конвертов:
    • файл 4 (от 06.01.17) по документу №2 — код состояния «7»;
    • файл 2 (от 03.01.17) по документу №1 — код состояния «4»;
    • файл 3 (от 02.01.17) по документу №2 — код состояния «1»;
    • файл 1 (от 06.01.17) по документу №2 — код состояния «7»;
    • файл 5 (от 04.01.17) по документу №1 — код состояния «7».
  2. Для каждого файла конверта система идентифицирует документ и находит, к какому состоянию он относится. В зависимости от кода состояния в файле конверта определяется его приоритет. Если код состояния в конверте больше, чем в вашей информационной системе — его нужно изменить.
  3. Удаляет обработанные файлы конвертов.​

На заметку!

Если в каталоге «Состояние» количество файлов более 2000, в СБИС Коннект появится ошибка «Выгрузка статусов невозможна, достигнуто ограничение в 2000 файлов для папки C:\СБИС Коннект\Состояния». Выгрузка архива, статусов и входящих будет приостановлена. Если вы не отслеживаете статусы документов, отключите выгрузку статусов.