CallMethodXML - NativeAPI — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
== Описание ==
 
== Описание ==
Вызов методов модуля плагина c авторизацией( с имеющимся идентификатором сессии - '''session_id ''' ). Предназначен для вызовов из 1С с передачей параметров в виде xml.
+
Вызов методов модуля плагина c авторизацией( с имеющимся токеном авторизации - '''token''' ). Предназначен для вызовов из 1С с передачей параметров в виде xml xzto.
 
== Параметры ==
 
== Параметры ==
* {{Шаблон:ApiParam|query_id|1|строка|uuid для идентификации вызова метода}}
 
 
* {{Шаблон:ApiParam|guid_module|1|строка|uuid модуля полученный через GetModule()}}
 
* {{Шаблон:ApiParam|guid_module|1|строка|uuid модуля полученный через GetModule()}}
 
* {{Шаблон:ApiParam|module_method |1|строка|Имя вызываемого метода модуля}}
 
* {{Шаблон:ApiParam|module_method |1|строка|Имя вызываемого метода модуля}}
 
* {{Шаблон:ApiParam|parameters_module_method|1|строка|xml с параметрами, сериализованный в строку}}
 
* {{Шаблон:ApiParam|parameters_module_method|1|строка|xml с параметрами, сериализованный в строку}}
* {{Шаблон:ApiParam|account_id|1|строка| идентификатором сессии, полученный при регистрации}}
+
* {{Шаблон:ApiParam|token|1|строка| токен авторизации, полученный при регистрации}}
 +
* {{Шаблон:ApiParam|query_id|1|строка|uuid для идентификации вызова метода( опциональный )}}
 
== Результат ==
 
== Результат ==
 +
* {{Шаблон:ApiParam|query_id|1|строка|uuid по которому необходимо ждать ответ через вызов функции ReadAllXml}}
 +
 
Работа с ExtSdk2 осуществляется асинхронно, поэтому ответ следует ждать через вызов функции [[ReadAllXml_-_NativeAPI|ReadAllXml]]. Более подробное о получении ответов и видах событий см. в статье [[Виды_событий_-_Сценарии_ExtSdk2|Виды событий]].
 
Работа с ExtSdk2 осуществляется асинхронно, поэтому ответ следует ждать через вызов функции [[ReadAllXml_-_NativeAPI|ReadAllXml]]. Более подробное о получении ответов и видах событий см. в статье [[Виды_событий_-_Сценарии_ExtSdk2|Виды событий]].
 
В результате должно прийти событие [[Виды_событий_-_Сценарии_ExtSdk2#Примеры ответов от модуля#Message|Message]], у которого в Result лежит 'результат работы вызываемого метода.
 
В результате должно прийти событие [[Виды_событий_-_Сценарии_ExtSdk2#Примеры ответов от модуля#Message|Message]], у которого в Result лежит 'результат работы вызываемого метода.
Строка 14: Строка 16:
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
  
query_id = str(uuid.uuid4())
 
 
module_method = "ExtSdk2.WriteDocument"
 
module_method = "ExtSdk2.WriteDocument"
 
parameters_module_method = "<object><object name="Document"></object></object>"
 
parameters_module_method = "<object><object name="Document"></object></object>"
 +
query_id = str(uuid.uuid4()) - если необходимо использовать свой uuid
  
CallMethodXML( query_id, guid_module, module_method, parameters_module_method, session_id )
+
result = CallMethodXML(guid_module, module_method, parameters_module_method, token, query_id)
  
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Ответ ==
 
== Ответ ==
 +
<syntaxhighlight lang="python">
 +
 +
result = "a0e7e60d-e792-4f3c-9ccf-88dc95e9d1a1"
  
 +
</syntaxhighlight>
 
   
 
   
 
[[Категория:NativeAPI ExtSdk2]]
 
[[Категория:NativeAPI ExtSdk2]]

Текущая версия на 11:49, 24 марта 2023

Описание

Вызов методов модуля плагина c авторизацией( с имеющимся токеном авторизации - token ). Предназначен для вызовов из 1С с передачей параметров в виде xml xzto.

Параметры

  • guid_module ! (строка) - uuid модуля полученный через GetModule()
  • module_method ! (строка) - Имя вызываемого метода модуля
  • parameters_module_method ! (строка) - xml с параметрами, сериализованный в строку
  • token ! (строка) - токен авторизации, полученный при регистрации
  • query_id ! (строка) - uuid для идентификации вызова метода( опциональный )

Результат

  • query_id ! (строка) - uuid по которому необходимо ждать ответ через вызов функции ReadAllXml

Работа с ExtSdk2 осуществляется асинхронно, поэтому ответ следует ждать через вызов функции ReadAllXml. Более подробное о получении ответов и видах событий см. в статье Виды событий. В результате должно прийти событие Message, у которого в Result лежит 'результат работы вызываемого метода.

Пример успешного вызова

module_method = "ExtSdk2.WriteDocument"
parameters_module_method = "<object><object name="Document"></object></object>"
query_id = str(uuid.uuid4()) - если необходимо использовать свой uuid

result = CallMethodXML(guid_module, module_method, parameters_module_method, token, query_id)

Ответ

result = "a0e7e60d-e792-4f3c-9ccf-88dc95e9d1a1"