Обработка документов - Сценарии ExtSdk2 — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
 
(не показано 6 промежуточных версий 2 участников)
Строка 1: Строка 1:
== Утверждение документов ==
+
В СБИС документы движутся по маршрутам (регламентам). Регламент разбит на этапы, возможные переходы между этапами называются переходами, а сам переход действием. Для выполнения требуется выполнить условия описанные на данном маршруте, например приложить подпись под документом, или приложить подписанный ответ. Кроме обязательных файлов, пользователь по своему усмотрению может приложить любое количество дополнительных файлов.
  
Для утверждения документа требуется ряд несложных операций. Необходимо подготовить действие утверждения для документа и выполнить его. В ExtSdk2 для подготовки действия реализован метод [[ PrepareAction_-_подготовить_документ_к_действию_(ExtSdk2) | PrepareAction ]]. Метод делает проверку переданных данных и вызывает метод API [https://sbis.ru/help/integration/api/all_methods/develop_doc СБИС.ПодготовитьДействие ]. Для утверждения необходимо в объекте действия этапа в поле '''Название''' указать '''Утверждение'''. [[ PrepareAction_-_подготовить_документ_к_действию_(ExtSdk2) | PrepareAction ]] вернет подготовленное действие этапа утверждения, которое необходимо передать в метод [[ ExecuteAction_-_выполнение_действия_над_документом_(ExtSdk2) | ExecuteAction ]].  
+
Одним из самых востребованных регламентов является регламент документов реализации, на стороне Получателя данный тип документа приходит на этап Получение из которого по умолчанию можно сделать два перехода - Утверждение и Отклонение. Для утверждения в простейшем случае требуется приложить подпись под полученным документом и подписанный титул получателя, а в случае отклонения подписанное требование уточнения.  
  
<syntaxhighlight lang="python" line='line'>
+
Любые регламенты в СБИС могут быть изменены под требования пользователя, и для того чтобы коду обработки было легче подготовить необходимые для выполнения действия данные, в СБИС реализован вспомогательный метод, который говорит что требуется приложить и подписать.
  
    #Пример вызова
+
Рекомендуется выполнять действия на документом последовательным вызовом [[ PrepareAction_-_подготовить_документ_к_действию_(ExtSdk2) | PrepareAction ]] которому на вход передается идентификатор документа и название выполняемого действия. В ответ вызывающая сторона получит подготовленные документы которые требуется подписать. И [[ ExecuteAction_-_выполнение_действия_над_документом_(ExtSdk2) | ExecuteAction ]] в который передать подписи и файлы прикладываемые к действию. Для удобства работы создан метод [[ExecuteActionEx_-_расширенное_выполнение_действия_над_документом_(ExtSdk2)|ExecuteActionEx]], который последовательно выполняет PrepareAction и ExecuteAction.
    query_id = str(uuid.uuid4())
 
    module_method = "ExtSdk2.PrepareAction"
 
    document = {...} #Параметр запроса в СБИС.ПодготовитьДействие
 
    parameters_module_method = json.dumps({"Document": document }, ensure_ascii=True)
 
    account_id = ********@plugin.sbis.ru
 
  
    ole.CallMethod( query_id, guid_module, module_method, parameters_module_method, account_id )
+
Узнать какие действия, в настоящее время, доступны текущему пользователю можно при помощи метода [https://sbis.ru/help/integration/api/all_methods/read_doc СБИС.ПрочитатьДокумент]. Подробнее о методах реализации пользовательского интерфейса смотрите в соответствующем разделе.
 
 
    #Пример получения ответа
 
    json_string = ole.ReadAllObject() #пример разбора ответов см. Подключение к ExtSdk2
 
 
 
    prepare_document = {...} #результат работы ExtSdk2.PrepareAction, полученный при разборе json_string.
 
 
 
    query_id = str(uuid.uuid4())
 
    module_method = "ExtSdk2.ExecuteAction"
 
    action = prepare_document[ "Этап" ][ 0 ][ "Действие" ]
 
    parameters_module_method = json.dumps({"Document": prepare_document, "Action": action}, ensure_ascii=True)
 
    account_id = ********@plugin.sbis.ru
 
   
 
    ole.CallMethod( query_id, guid_module, module_method, parameters_module_method, account_id )
 
 
 
    #Пример получения ответа
 
    json_string = ole.ReadAllObject() #пример разбора ответов см. Подключение к ExtSdk2
 
     
 
</syntaxhighlight>
 
 
== Отклонение документов ==
 
 
 
Операция отклонения выполняется аналогично утверждению, но в объекте действия этапа в поле '''Название''' указать '''Отклонить'''.
 
 
 
== Выполнение переходов внутреннего документооборота ==
 
 
 
Утверждение и отклонение этапа являются частными случаями документооборота. Любой переход внутреннего оборота осуществляется аналогично приведенным примерам Утверждения и Отклонения, где в названии действия этапа необходимо будет указать интересующее действие этапа.
 
  
 +
В ExtSDK2 [https://sbis.ru/help/integration/api/all_methods/read_doc СБИС.ПрочитатьДокумент] вызывается через [[CallSabyApi|CallSabyApi]].
 
[[Категория:Сценарии ExtSdk2]]
 
[[Категория:Сценарии ExtSdk2]]

Текущая версия на 17:00, 16 марта 2022

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

Одним из самых востребованных регламентов является регламент документов реализации, на стороне Получателя данный тип документа приходит на этап Получение из которого по умолчанию можно сделать два перехода - Утверждение и Отклонение. Для утверждения в простейшем случае требуется приложить подпись под полученным документом и подписанный титул получателя, а в случае отклонения подписанное требование уточнения.

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

Рекомендуется выполнять действия на документом последовательным вызовом PrepareAction которому на вход передается идентификатор документа и название выполняемого действия. В ответ вызывающая сторона получит подготовленные документы которые требуется подписать. И ExecuteAction в который передать подписи и файлы прикладываемые к действию. Для удобства работы создан метод ExecuteActionEx, который последовательно выполняет PrepareAction и ExecuteAction.

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

В ExtSDK2 СБИС.ПрочитатьДокумент вызывается через CallSabyApi.