Коннектор 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С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    6032    4    3    

7

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    3388    17    2    

19

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

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1821    1    0    

1

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

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

5196 руб.

28.04.2016    97334    109    218    

359

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

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

5000 руб.

08.11.2017    69602    415    298    

84

WEB-интеграция Программист 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    20246    58    52    

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

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

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

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

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

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

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

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

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

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

Огромное спасибо за такую проработанную, качественную и удобную разработку. ОПИ действительно можно использовать в боевых проектах без опасений.
lunjio; RustIG; fatman78; starponyx; +4 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 1916 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 2880 08.04.25 17:06 Сейчас в теме
(4) Сделаю как-нибудь)
fatman78; 0ct0ber; +2 Ответить
7. 0ct0ber 08.04.25 17:09 Сейчас в теме
(6) Либа и компонента для pg прям выручила. Сейчас надо тянуть уже из MSSQL.
10. bayselonarrend 2880 08.04.25 17:12 Сейчас в теме
(7) Рад, что помогло, но пока MS не сделаю
16. hifak 09.04.25 09:28 Сейчас в теме
(10) А с MariaDB будет работать?
17. bayselonarrend 2880 09.04.25 09:41 Сейчас в теме
(16) Должно, у них вроде совместимые спецификации
20. Anqben 09.04.25 10:34 Сейчас в теме
(17) MariaDB это вроде форк мускля после покупки его ораклом, так что да
21. bayselonarrend 2880 09.04.25 10:36 Сейчас в теме
18. bayselonarrend 2880 09.04.25 09:41 Сейчас в теме
9. Mowl 08.04.25 17:10 Сейчас в теме
Отличная библиотека, спаасибо
11. bayselonarrend 2880 08.04.25 17:15 Сейчас в теме
12. YokoYolo 4 08.04.25 17:27 Сейчас в теме
Т.е. ODBC для работы не нужен, так?
14. bayselonarrend 2880 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 2880 09.04.25 10:37 Сейчас в теме
(19) Была но я на нем как-то застопорился, т.к. официальный крейт для MongoDB довольно тяжелый и чисто асинхронный
23. bayselonarrend 2880 09.04.25 10:58 Сейчас в теме
24. aximo 2426 09.04.25 16:20 Сейчас в теме
Я где-то что-то пропустил, а для баз файлов firebird что-то подобное есть?
25. bayselonarrend 2880 09.04.25 16:27 Сейчас в теме
(24) В ОПИ нету, а так где-то была недавно публикация на ИС
26. aximo 2426 09.04.25 16:33 Сейчас в теме
(25) я знаю как работать - просто хотел еще один вариант.
Для отправки сообщения требуется регистрация/авторизация