Обработка служебных событий - Сценарии ExtSdk2
Обработка служебных событий
Процедура отправки электронного документа состоит из серии обменов файлами между всеми участниками обмена (отправитель, получатель, оператор). В зависимости серии таких обменов могут быть различны. Некоторые из них определяются государством, самыми характерными примерами является регламент обмена счетами-фактурами или больничными. В рамках такого обмена, отправитель или получатель по мимо файла самой фактуры или её ответной части должны в определенный момент формировать подписывать и отправлять ещё различные извещения о приеме. В СБИС при помощи API Вы можете упростить эту процедуру и по сути поручить СБИС сделать все необходимые служебные операции.
Для этого в цикли обработки документов добавляется обработка служебных документов - На уровне API СБИС данная процедура представляет из себя сначала запрос списка документов у которых есть необработанные служебные этапы при помощи метода СБИС.СписокСлужебныхЭтапов, данный метод вернет список документов, где на каждом документе указано действие которое требуется выполнить.
Далее для каждого полученного документа нужно вызвать СБИС.ПодготовитьДействие - оно сгенерирует служебные документы и укажет какие из них требуется подписать и СБИС.ВыполнитьДействие куда передать подписи под служебными файлами. Для обеспечения максимальной производительности рекомендуется обрабатывать документы параллельно, количество документов получаемых за один вызов СБИС.СписокСлужебныхЭтапов следует выбирать таким образом, чтобы все они успевали обрабатываться за 1 минуту. Так как именно на это время данные документы блокируются от аналогичных запросов. Вызов СБИС.СписокСлужебныхЭтапов следует делать до тех пор пока он не вернет пустой список.
В ExtSDK2 мы ещё больше упростили данную процедуру и для обработки служебных этапов достаточно вызвать метод ProcessServiceStagesEx . За один вызов он выполнит описанную выше последовательность. Вызывать ProcessServiceStagesEx так же следует до того момента, пока он не вернет пустой список. В случаях когда количество необработанных служебных документов измеряется десятками или сотнями тысяч - обработка служебных документов может занять продолжительное время и чтобы у пользователя не сложилось ощущение, что процесс завис рекомендуется показывать пользователю это количество обработанных служебных документов.
Так же как и в сценарии Массовой отправки документов, для увеличения производительности можно одновременно выполнять несколько ProcessServiceStagesEx . Рекомендуется не более 5 параллельных вызовов, самостоятельно превышение лимита приведет к нестабильной и медленной работе именно вашей сессии - для увеличения пропускной способности обратитесь к Вашему менеджеру.
И конечно, у Клиента остается возможность самостоятельно сгенерировать и подписать служебные документы. Для этого достаточно сформировать и подписать все необходимые по регламенту обмена документы и передать из в СБИС при помощи СБИС.ВыполнитьДействие через прокси метод вызова API CallSabyApi