Подключение к ExtSdk2 через OLE - Сценарии ExtSdk2 — различия между версиями
Строка 21: | Строка 21: | ||
</source> | </source> | ||
− | Из данного примера кода видно, что получение COM-объекта занимает одну строку "self.ole = win32com.client.Dispatch("Tensor.SbisPluginClientCOM")" с использованием библиотеки pywin32 | + | Из данного примера кода видно, что получение COM-объекта занимает одну строку "self.ole = win32com.client.Dispatch("Tensor.SbisPluginClientCOM")" с использованием библиотеки pywin32. |
+ | Далее Плагин подготавливает необходимые внутренние инструменты для подключения и в случае успеха пробрасывает событие с именем "Event_connected". Успешное подключение следует подождать в отдельной функции "_wait_connected(self)" как указано в примере. Она ожидает результат работы функции "read_all_xml" | ||
[[Категория:Сценарии ExtSdk2]] | [[Категория:Сценарии ExtSdk2]] |
Версия 21:18, 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(self)" как указано в примере. Она ожидает результат работы функции "read_all_xml"