Введение
Программа «1С:Предприятие» является универсальной платформой для разработки систем учёта. Системы базирующиеся на данной платформе широко распространены. К основному преимуществу платформы можно отнести скорость создания решений закрывающих появляющиеся потребности бизнеса, при этом предоставляя возможность быстрого создания пользовательского интерфейса.
Широкий набор библиотек созданных для использования в интерпретаторе языка Python, а так же лаконичность языка, позволяют с высокой скоростью решать задачи анализа больших данных и достаточно легко применять машинное обучение. Анализ данных является неотъемлемой частью практического в любой отрасли, а Python это подходящий инструмент для решения подобных задач.
Далее рассмотрим как эти два решения могут дополнить друг друга позволяя получить новые данные.
Обоснование
1С:Предприятие несмотря на всю универсальность построения учётных систем, совершенно не годится для серьёзного анализа данных внутри системы.
Платформа предоставляет достаточно ограниченный набор объектов для анализа данных, а создать собственные объекты невозможно т.к. среда разработки не предоставляет объектно ориентированный подход, позволяя использовать заготовленные классы объектов, этакий предметно ориентированное подход.
Зачастую для обхода данного ограничения используются сторонние решения выполняющие прямые запросы к базе данных. Однако подход с прямыми запросами противоречит политике лицензирования платформы.
Далее предлагаю рассмотреть как можно использовать всю мощь языка Python из системы 1С:Предприятие не прибегая к нарушениям лицензионного соглашения 1С.
Способ интеграции
1С:Предприятие предоставляет широкий спектр программных интерфейсов для интеграции с сторонними решениями. В данной статье будет использован простой запуск приложений командной строки с передачей параметров. Достаточно установить интерпретатор Python.
Преимущества:
- Без веб-сервера
- Без COM-объектов
- Кроссплатформенность
Примеры использования
Прогноз продаж
Пример выполнения простого скрипта с использованием алгоритма постоянства на машинном обучении. Более сложные алгоритмы не рассматриваются т.к. задача статьи показать пример взаимодействия а не погружаться в основы анализа.
Для работы скрипта потребуется установка библиотек > pip install pandas > pip install matplotlib > pip install scikit-learn
Фото лица
В примере показано использование Python на клиенте, с передачей картинки в 1С. Работа с библиотекой OpenCV демонстрирует расширенный спектр применения Python.
Для работы скрипта потребуется установленная библиотека opencv > pip install opencv-python
Произвольный скрипт
Пример применения произвольных алгоритмов показывает возможность определения логики скрипта Python в пользовательском режиме 1С:Предприятие. Данный подход увеличивает риски безопасности т.к. пользователь может заложить вредоносный код, поэтому следует использовать осмотрительно. Однако этот вариант позволяет менять и настраивать модели анализа в пользовательском режиме 1С:Предприятие.
Требования к ПО
На момент написания статьи использовал следующие версии ПО
- 1С:Предприятие 8.3.15 (не ниже 8.3.6)
- Python 3.7 (можно скачать с официального сайта python.org)
Заключение
Перечисленные примеры использования возможно рассмотреть во внешней обработке, её можно скачать здесь✔
Пожалуйста, напишите комментарий если вы видите необходимость развития данной темы, или если считаете что данная тема тупиковая. В любом случае конструктивная критика приветствуется 😉
Присоединяйтесь к моему каналу в telegram