Если вдруг python оказался друг
Интеграция - Внешние источники данных
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Данный пример обработки больше подойдет для новичков, кто, зная 1С, решил попробовать свои силы в python, но не знает, как получить из него данные.
Одно из решений это подключение через COM-объекты. Python позволяет регистрировать свои COM-объекты через библиотеку win32com. Решение было подсмотрено в статье на хабре https://habr.com/ru/articles/332082/. Для этого создаётся свой класс со спецификацией, где указываются методы, которые будет доступны.
Чтобы вызвать нужный метод, достаточно просто подключиться к нужному COM-объекту.
OnePY = Новый COMОбъект("OnePY");
Ответ = OnePY.getsum(1, 7);
Передавать между python и 1С через COM-объект можно значения простых типов: строки, числа и списки. Для более сложных структур, например, словарей, их можно конвертировать в обычный json, и он будет передан как обычная строка. В обработке представлены несколько вариантов передачи значений.
Можно попробовать и более интересные вещи, например, сделать визуализацию данных с помощью библиотеки matplotlib в виде графика и передать его в 1С. Примеры вариантов графиков можно посмотреть тут https://matplotlib.org/stable/plot_types/index.html.
Одним из неудобных моментов такой схемы является то, что если вы хотите запускать обработку на разных компьютерах (не серверный вариант), то везде вам придётся вручную регистрировать питоновский скрипт, плюс устанавливать дополнительные библиотеки. Текущая обработка позволяет это все автоматизировать, выложить скрипт, его зарегистрировать и установить все необходимые библиотеки по нажатию одной кнопки "Зарегистрировать скрипт". Единственное условие, на этом компьютере должен быть установлен python.
Тестирование проводилось на платформе 1С (8.3.21.1624).
Вступайте в нашу телеграмм-группу Инфостарт