Подключение к ExtSdk2 через OLE - Сценарии ExtSdk2 — различия между версиями
Строка 23: | Строка 23: | ||
Из данного примера кода видно, что получение COM-объекта занимает одну строку "self.ole = win32com.client.Dispatch("Tensor.SbisPluginClientCOM")" с использованием библиотеки pywin32. | Из данного примера кода видно, что получение COM-объекта занимает одну строку "self.ole = win32com.client.Dispatch("Tensor.SbisPluginClientCOM")" с использованием библиотеки pywin32. | ||
Далее Плагин подготавливает необходимые внутренние инструменты для подключения и в случае успеха пробрасывает событие с именем "Event_connected". Успешное подключение обработать в отдельной функции "_wait_connected()" как указано в примере. Она ожидает результат работы функции "read_all_xml()" | Далее Плагин подготавливает необходимые внутренние инструменты для подключения и в случае успеха пробрасывает событие с именем "Event_connected". Успешное подключение обработать в отдельной функции "_wait_connected()" как указано в примере. Она ожидает результат работы функции "read_all_xml()" | ||
+ | |||
+ | == Пример реализации получения ответов от COM-объекта == | ||
+ | |||
+ | |||
[[Категория:Сценарии ExtSdk2]] | [[Категория:Сценарии ExtSdk2]] |
Версия 21:30, 7 апреля 2021
Для работы со СБИС3 Плагин из внешних систем, таких как 1С или SAP, требуется получить COM-объект, зарегистрированный Плагином в Вашей системе. Его название "Tensor.SbisPluginClientCOM".
Получение COM-объекта
class OleSbis3Plugin:
def __init__(self, **kwargs):
self.awaited_answers = {}
self.ole = win32com.client.Dispatch("Tensor.SbisPluginClientCOM")
self.version = None
self._wait_connected()
self.host = None
self.account_id = None
self.guid_module = None
def _wait_connected(self):
event = self.read_all_xml(['Event_connected'])
self.version = event[0]['data']['Version']
return
Из данного примера кода видно, что получение COM-объекта занимает одну строку "self.ole = win32com.client.Dispatch("Tensor.SbisPluginClientCOM")" с использованием библиотеки pywin32. Далее Плагин подготавливает необходимые внутренние инструменты для подключения и в случае успеха пробрасывает событие с именем "Event_connected". Успешное подключение обработать в отдельной функции "_wait_connected()" как указано в примере. Она ожидает результат работы функции "read_all_xml()"