Коннектор 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    3277    5    0    

11

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

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

60000 руб.

07.05.2019    35440    70    45    

30

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

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

57600 руб.

26.11.2024    2995    3    3    

5

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

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

24000 руб.

27.09.2024    5031    5    2    

6

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

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

36000 руб.

03.08.2020    19428    24    22    

20

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    1199    7    2    

9

Обмен с ГосИС 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

3000 руб.

28.04.2016    93675    96    217    

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

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

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

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