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

Материал из razgovorov.ru
Перейти к: навигация, поиск
Строка 37: Строка 37:
  
 
== Выполнение переходов внутреннего документооборота ==
 
== Выполнение переходов внутреннего документооборота ==
 +
 +
Утверждение и отклонение этапа являются частными случаями документооборота. Любой переход внутреннего оборота осуществляется аналогично приведенным примерам Утверждения и Отклонения, где в названии действия этапа необходимо будет указать интересующее действие этапа.
  
 
[[Категория:Сценарии ExtSdk2]]
 
[[Категория:Сценарии ExtSdk2]]

Версия 18:21, 13 мая 2021

Утверждение документов

Для утверждения документа требуется ряд несложных операций. Необходимо подготовить действие утверждения для документа и выполнить его. В ExtSdk2 для подготовки действия реализован метод PrepareAction . Метод делает проверку переданных данных и вызывает метод API СБИС.ПодготовитьДействие . Для утверждения необходимо в объекте действия этапа в поле Название указать Утверждение. 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 )

    #Пример получения ответа
    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

Отклонение документов

Операция отклонения выполняется аналогично утверждению, но в объекте действия этапа в поле Название указать Отклонить.

Выполнение переходов внутреннего документооборота

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