Коннектор MySQL для 1С и OneScript (open-source)

08.04.25

Интеграция - WEB-интеграция

Библиотека для работы с базами MySQL на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

Если вы не слышали ранее об Открытом Пакете Интеграций (что вполне вероятно), то небольшая вводная часть ниже, под катом. Тем, кто уже знаком с ОПИ, данный раздел можно пропустить.

 
 Что такое Открытый Пакет Интеграций

 

Открытый Пакет Интеграций (ОПИ) - это open-source набор методов для простой и быстрой интеграции с различными популярными API. Он состоит из аналогичных по функционалу 1С-расширения (CFE), OS-пакета и программы для Windows и Linux, которые предоставляют готовые функции для работы с целым набором различных онлайн-сервисов.


  • ОПИ бесплатен и имеет открытый исходный код на GitHub. Вы всегда можете получить последнюю версию библиотеки на странице репозитория, а подписавшись - узнавать о выходе обновлений. Все релизы сопровождаются статьями на Инфостарт и разделами единой документации. На Инфостарт вы можете подписаться уже хоть сейчас, а про документацию я расскажу далее.

 

 

 

  • Удобная единая документация. Она расположена на сайте openintegrations.dev и содержит в себе всю информацию, необходимую для работы: инструкции по предварительным действиям для начала интеграции, описания всех методов с параметрами и возвращаемыми значениями, примеры кода и т.д. Каждый API имеет там свой раздел.

 

 

 

 

  • Простая установка. ОПИ распространяется во множестве вариантах: как XML файлы расширения, как EDT проект расширения, как файл расширения формата .cfe (версия 1С 8.3.9), как файл пакета для OneScript и еще в целом наборе пакетов и файлов для Windows и Linux. Из этого набора вы всегда сможете выбрать тот способ установки, который лучше подойдет для вашей конкретной задачи

 

На момент последнего обновления данной статьи, доступны следующие API:

Наиболее актуальную информацию можно посмотреть в репозитории или на вводной странице документации.

 

MySQL - мощная, надежная и широко используемая система управления базами данных компании Oracle, наиболее часто встречаемая в веб-разработке

 

Она часто является фундаментом как для отдельных веб-приложений (например, в стеке LAMP), так и в решениях на основе популярных CMS (вроде Wordpress, Joomla или Drupal) и платформ электронной коммерции (WooCommerce, OpenCart и др.)

 

Обмен данными с сайтом компании или интернет магазином - задача для 1С программистов достаточно тривиальная. Поэтому, для работы с теми из них, которые используют для хранения данных базы MySQL, в ОПИ теперь есть следующие методы:

 

  • Основные методы
    • Открытие соединения
    • Закрытие соединения
    • Выполнение SQL-запроса
    • Формирование строки подключения из основных данных
    • Получение структуры настроек TLS
  • Методы ORM
    • Создание базы данных
    • Удаление базы данных
    • Получение информации о таблице
    • Создание таблицы
    • Очистка таблицы
    • Удаление таблицы
    • Добавление записей
    • Получение записей
    • Обновление данных записей
    • Удаление записей

 

Этим методы схожи с теми, что были реализованы для двух предыдущих СУБД в наборе ОПИ: SQLite и PostgreSQL. Они все в качестве основы используют общий модуль с методами ORM, так что если вы уже знакомы с ними, тот тут для вас не будет ничего нового

 

 
 Создание базы данных
 
 Добавление записи
 
 Получение записей
 
 Большой пример с произвольными SQL запросами

 

Больше примеров, а также информацию о каждом доступном методе, его параметрах и возвращаемом значении, как и всегда, можно найти в документации


 

TLS

Все методы для работы с MySQL (как и для работы с PostgreSQL, начиная с прошлого обновления) поддерживают использования защищенного соединения через TLS. Для его включения необходимо передать структуру настроек, получаемую методом ПолучитьНастройкиTls в последний параметр подходящего метода. В структуре настроек же можно дополнительно настроить отключение проверки некорректных или самоподписанных сертификатов, а также указать путь к файлу конкретного CA, если его нет в системном хранилище

 

    // С TLS

    Адрес = "api.athenaeum.digital";
    Порт  = "3307";

    СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль, Порт);
    НастройкиTLS      = OPI_MySQL.ПолучитьНастройкиTls(Ложь);

    Результат = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);

    OPI_MySQL.ЗакрытьСоединение(Результат);

 

Другие изменения

И еще немного о других изменениях в данном обновлении:

 

Поддержка TLS в библиотеке TCP

Библиотека TCP, наряду с PostgreSQL и MySQL, теперь также поддерживает защищенное соединение из коробки. Настраивается оно по тому же принципу, что был описан выше для MySQL

 

Новый раздел в документации: "О внешних компонентах"

Все больше библиотек ОПИ в основе своей используют внешние компоненты. Новый, посвященный им, раздел документации позволяет узнать больше о внутреннем устройстве и работе, а также о требованиях и зависимостях (для Linux), необходимых для функционирования всех внешних компонент ОПИ

 

 

Также, все библиотеки, использующие внешние компоненты, теперь помечены в документации специальными панельками

 

Код внешних компонент, также как и 1Сный, открыт и находится в репозитории. При желании вы можете пересобрать внешние компоненты сами - этому посвящена одна из частей нового раздела

 

Ну, а на этом все! Все ссылки на ресурсы Открытого пакета интеграций будут ниже

Спасибо за внимание!

 

 Если вам нравится ОПИ, то не забывайте поддерживать его на GitHub и Инфостарт!

 

 

Репозиторий ОПИ: github.com/Bayselonarrend/OpenIntegrations

Последний релиз: github.com/Bayselonarrend/OpenIntegrations/releases/latest

 
 Куда жать и где скачать?

 

Другие статьи про Открытый пакет интеграций на Инфостарт:

 

 

 Мой GitHub:    https://gitub.com/Bayselonarrend 
 OpenYellow:    https://openyellow.org
 Лицензия MIT:  https://mit-license.org

mysql бд субд интеграция db

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    3130    5    0    

11

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    35258    70    45    

30

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    2860    2    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    1140    7    2    

9

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19335    24    22    

20

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    4828    4    2    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Prepod2003 262 08.04.25 11:29 Сейчас в теме
Здравствуйте!

Изучаю ваш Открытый Пакет Интеграций и пытаюсь глубже понять архитектуру решений, особенно в сравнении с использованием ODBC-драйверов. Искусственный интеллект помог мне составить таблицу сравнения ОПИ и ODBC в контексте 1С.

Скажите, пожалуйста, насколько корректно составлено это сравнение? Всё ли верно определено в таблице, и нет ли неточностей в формулировках?

Заранее благодарю за обратную связь!
Прикрепленные файлы:
2. bayselonarrend 2602 08.04.25 11:42 Сейчас в теме
(1) Здравствуйте. Это очень интересно и, на самом деле, очень похоже на правду)
Прикрепленные файлы:
3. Prepod2003 262 08.04.25 11:55 Сейчас в теме
(2) Спасибо большое за ваши правки и пояснения — они действительно помогли глубже понять архитектуру и реализацию ОПИ. Я изначально воспринимал ваш проект как аналог ODBC-драйвера, то есть как некую прослойку между 1С и базами данных с внешней компонентой, которую нужно отдельно подключать и настраивать.

Но после ваших уточнений стало очевидно, что вы реализовали решение на гораздо более высоком уровне, чем я предполагал:

Использование Rust вместо C++ — это современно, безопасно и производительно.

Компоненты не требуют установки вручную, а аккуратно встроены в расширение 1С и подгружаются из общих макетов — это реально удобно для конечных пользователей.

Отсутствие необходимости думать о строках подключения, параметрах TLS и т.д. — всё инкапсулировано в функции, и работает из коробки.

Использование нативных библиотек для PostgreSQL, MySQL, SQLite через чистый Rust-код — это не просто интеграция, это фактически лёгкий, асинхронный SDK внутри 1С.

По сути, вы создали не просто "обёртку", а полноценный, продуманный инструмент интеграции, который по уровню реализации уже приближается к промышленным решениям, и при этом остаётся open-source.

Огромное спасибо за такую проработанную, качественную и удобную разработку. ОПИ действительно можно использовать в боевых проектах без опасений.
RustIG; fatman78; starponyx; +3 1 Ответить
5. dhurricane 08.04.25 16:56 Сейчас в теме
(3) Вы не только для анализа архитектуры решения ИИ используете, но и для комментирования решения? :) Зачем?
o.nikolaev; SirAlex; SirStefan; YokoYolo; Somebody1; akR00b; Merkalov; CK3; bayselonarrend; Mowl; +10 Ответить
8. Mowl 08.04.25 17:09 Сейчас в теме
(5) Зачем напрягаться если можно не напрягаться :-)
RustIG; Prepod2003; +2 Ответить
27. RustIG 1878 10.04.25 07:59 Сейчас в теме
(5) для таких , как я , например. А то я тоже не вникаю, как все устроено и зачем. :) Препод2023 разьяснил в 5ти коротких абзацах. Воистину - препод. Отличный талант разьяснять предмет!
13. YokoYolo 4 08.04.25 17:27 Сейчас в теме
4. 0ct0ber 08.04.25 16:53 Сейчас в теме
6. bayselonarrend 2602 08.04.25 17:06 Сейчас в теме
(4) Сделаю как-нибудь)
fatman78; 0ct0ber; +2 Ответить
7. 0ct0ber 08.04.25 17:09 Сейчас в теме
(6) Либа и компонента для pg прям выручила. Сейчас надо тянуть уже из MSSQL.
10. bayselonarrend 2602 08.04.25 17:12 Сейчас в теме
(7) Рад, что помогло, но пока MS не сделаю
16. hifak 09.04.25 09:28 Сейчас в теме
(10) А с MariaDB будет работать?
17. bayselonarrend 2602 09.04.25 09:41 Сейчас в теме
(16) Должно, у них вроде совместимые спецификации
20. Anqben 09.04.25 10:34 Сейчас в теме
(17) MariaDB это вроде форк мускля после покупки его ораклом, так что да
21. bayselonarrend 2602 09.04.25 10:36 Сейчас в теме
18. bayselonarrend 2602 09.04.25 09:41 Сейчас в теме
9. Mowl 08.04.25 17:10 Сейчас в теме
Отличная библиотека, спаасибо
11. bayselonarrend 2602 08.04.25 17:15 Сейчас в теме
12. YokoYolo 4 08.04.25 17:27 Сейчас в теме
Т.е. ODBC для работы не нужен, так?
14. bayselonarrend 2602 08.04.25 17:30 Сейчас в теме
(12) Нет, все на внешних компонентах в макетах
YokoYolo; akR00b; +2 Ответить
15. YokoYolo 4 09.04.25 09:09 Сейчас в теме
19. Anqben 09.04.25 10:33 Сейчас в теме
Здравствуйте. Спасибо за статью

Не было идеи сделать ВК для MongoDB (и других NoSQL СУБД)?
22. bayselonarrend 2602 09.04.25 10:37 Сейчас в теме
(19) Была но я на нем как-то застопорился, т.к. официальный крейт для MongoDB довольно тяжелый и чисто асинхронный
23. bayselonarrend 2602 09.04.25 10:58 Сейчас в теме
24. aximo 2263 09.04.25 16:20 Сейчас в теме
Я где-то что-то пропустил, а для баз файлов firebird что-то подобное есть?
25. bayselonarrend 2602 09.04.25 16:27 Сейчас в теме
(24) В ОПИ нету, а так где-то была недавно публикация на ИС
26. aximo 2263 09.04.25 16:33 Сейчас в теме
(25) я знаю как работать - просто хотел еще один вариант.
Оставьте свое сообщение