Технология создания кросc-платформенной внешней компоненты на python.
Технология позволяет реализовать любую “внешнюю компоненту” с любым функционалом на python или любом другом языке.
Про nativ-api и прочее можно забыть как пережиток прошлого.
Итак, не буду скромничать - все гениальное просто:
Компонента состоит из http-сервера и модуля с необходимым функционалом.
Связь с компонентой осуществляется get, post запросами, которые поддерживает 1с8 и 1с77.
Если необходимо, обратная связь из компоненты в 1С, делается через sendkeys в windwows или xdotool в linux для прерывания 1С, далее конкретные данные можно забрать также Http-запросом.
Преимущества python-компоненты:
1. Кроссплатформенность
1. Огромное количество готовых библиотек, в т.ч. свободно распространяемых
2. Скорость разработки по сравнению с С(С++) выше от 5 и более раз
По этой схеме сделана python-компонента для связи беспроводного сканера на Android. Работает в Windows и linux по типу клавиатурного драйвера.
Другими словами, передается скан-код в любое активное окно 1С или другое – это один режим.
Второй режим(инвентаризация): поиск по скан-коду товара в 1С, далее все реквизиты найденного товара с подгруженным фото с сайта компании отображаются в сканере. Список отсканированных товаров, с выбранным количеством, выгружается обратно в документ 1С.
Еще сделана быстрая форма подбора товаров (библиотека PyQt5) с колонками кроме прочих: остаток, резерв, цены. Поддерживается модальный и немодальный режим. Доступ к данным сделан прямыми запросами MSSQL. Безопасность http-сервера осуществляется ограничением доступа к серверу только с выбранных адресов, в данном случае только с локальной машины.
Преимущества:
1. Работает много быстрее динамического списка 1С8
2. Есть быстрый поиск по текущей колонке при наборе текста
Для сервера сканера:
проверка http://localhost:9001/test
Сервер сканера принимает post-запросы http://localhost:9001/scan тело qr=[scancode] и выводит в активное окно [scancode]
Видео по работе сканера