ОБРАБОТКА СЛУЖЕБНЫХ ДОКУМЕНТОВ (ИЗВЕЩЕНИЕ О ПОЛУЧЕНИИ)

Обработка служебных документов (Извещение о получении)

Регламенты документооборота обязывают уведомлять отправителя о том, что документ был доставлен до получателя, для этого формируется, подписывается и отправляется извещение о получении. В СБИС это отдельный служебный этап в документообороте.

При запуске в документооборот документа с любым количеством вложений обычно генерируется:

  • одно общее подтверждение о получении оператором;
  • отдельное извещение на каждое вложение.

Генерация служебных документов может осуществляться как автоматически сервером online.sbis.ru, так и самостоятельно в вашей информационной системе. При автоматической генерации гарантируется правильность заполнения и соответствие формата документов требованиям законодательных актов и регламентам документооборота. В случае самостоятельной генерации вы обязаны самостоятельно следить и вносить изменения в формат документов. 

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

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

  1. Вызвать метод СБИС.ИнформацияОСлужебныхЭтапах, в ответе будет возвращен массив "Наших организаций", по которым необходимо обработать служебные документы.

    На заметку!

    Если метод не вернул список «наших организаций», следует на 1-5 минут приостановить запросы.

    Если в ответе СБИС.ИнформацияОСлужебныхЭтапах будет возвращено "Да" в поле "ПрекратитьЗапросы", следует прекратить вызовы для текущего пользователя. Так как у пользователя, либо нет прав или настройка подписания служебных документов не  позволяет производить подписание (назначен выделенный сотрудник, которым пользователь не является), либо недостаточно доверия использования чужих ключей ЭП.

  2. Для каждой организации, возвращённой методом, необходимо выполнить обработку служебных документов:
  • в цикле выполнять запрос СБИС.СписокСлужебныхЭтапов, передавать на вход "Фильтр.Наша.Организация", в ответ будет возвращен список документов с информацией о служебных этапах на обработку;
  • выполнить непосредственную обработку путем вызова СБИС.ПодготовитьДействие, СБИС.ВыполнитьДействие;
  • если список служебных документов в ответе СБИС.СписокСлужебныхЭтапов пуст, перейдите к следующей «нашей организации».
  1. Служебный этап, который клиент не может обработать в настоящий момент, например, из-за отсутствия подходящего ключа ЭП для подписания, необходимо отложить вызовом метода СБИС.ОтложитьСлужебныйЭтап. После вызова событие будет приостановлено на несколько минут. После каждого вызова интервал последующей приостановки увеличивается примерно в два раза. В крайнем случае, если не получается обработать служебный этап или его обработка считается не нужным, удалите его вызовом метода СБИС.УдалитьСлужебныйЭтап.

Комментарий

Если при обработке извещения на сервере появляется ошибка, то выдача этого события в методе СБИС.СписокСлужебныхЭтапов для текущей сессии на некоторое время приостанавливается. При повторении ошибок интервал приостановки увеличивается (экспоненциально, с начальным шагом в 10 минут после каждой ошибки). Для получения приостановленных событий для конкретного документа/редакции необходимо вызвать метод СБИС.СписокСлужебныхЭтапов с передачей идентификатора документа или редакции документа, в таком случае они возвращаются без учёта предыдущих ошибок и приостановок.

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

При многопотоковой обработке документов по одной организации возможны ошибки:

  • «Действие не обратано» (код "00000000-0000-0000-0000-1AA000030000")  или «Событие обрабатывается другим процессом» (код "00000000-0000-0000-0000-1FA0000B0002"), в обоих случаях попробуйте повторить обработку этапа через несколько секунд;

  • «Действие уже обработано» (код "00000000-0000-0000-0000-1FA0000B0001") — пропустите данную ошибку и переходите к обработке следующего этапа.

Если служебные вложения формируются в вашей ИС, рекомендуется вызывать метод СБИС.ПодготовитьДействие, при этом online.sbis.ru генерирует служебные вложения и возвращает в списке на подписание. Необходимо извлечь идентификаторы сформированных вложений (Документ.Вложение.Идентификатор) и при отправке команды СБИС.ВыполнитьДействие использовать полученные идентификаторы при прикладывании ваших вложений, что приведёт к перезаписи сгенерированных online.sbis.ru вложений вашими.

При самостоятельной генерации извещений необходимо использовать московское время. При записи извещений на сервере проверяется время в теле xml-вложения, если оно будет меньше времени фактического создания (получения) документа, то на сервере будет сгенерирована ошибка и событие останется не обработанным (код ошибки 00000000-0000-0000-0000-1FA0000B0000, сообщение "Ошибка установки значимых дат на событии").

0
0
Оставьте свой отзыв:
ОТПРАВИТЬ