Доступ к базе 1С из MariaDB

25.12.19

Интеграция - Внешние источники данных

Прямое соединение MariaDB с базой на сервере MSSQL. Получение доступа к актуальным данным 1С из сторонних программ.

Формируем запрос, который хотим публиковать в MariaDB.

 

 

В SQL Server Profiler смотрим получившийся запрос.

 

 

Смотрим подсказку https://mariadb.com/kb/en/library/connect-odbc-table-type-accessing-tables-from-another-dbms/

Полученный запрос используем в создании виртуальной таблицы на MariaDB

create table `TovarAvailable`
COLLATE='cp1251_bin'
engine=CONNECT
table_type=ODBC
CONNECTION='Driver=SQL Server Native Client 10.0;Server=localhost;Database=UT3;UID=UUU;PWD=PPP'
SRCDEF='SELECT T3._Description AS tovar, 
T4._Description AS characteristic, 
T5._Description AS warehouse, 
T1.Fld22666Balance_ AS available,
T1.Fld22667Balance_ AS shipment
FROM (SELECT _Fld22660RRef AS Fld22660RRef, 
_Fld22663RRef AS Fld22663RRef, 
_Fld22661RRef AS Fld22661RRef, 
CAST(SUM(_Fld22666) AS NUMERIC(32, 8)) AS Fld22666Balance_, 
CAST(SUM(_Fld22667) AS NUMERIC(32, 8)) AS Fld22667Balance_
FROM UT3.dbo._AccumRgT22669 AS T2
WHERE (_Fld954 = 0) AND (_Period = \'5999-11-01 00:00:00\') AND (_Fld22666 <> 0) AND (_Fld22666 <> 0) OR
(_Fld954 = 0) AND (_Period = \'5999-11-01 00:00:00\') AND (_Fld22666 <> 0) AND (_Fld22667 <> 0) OR
(_Fld954 = 0) AND (_Period = \'5999-11-01 00:00:00\') AND (_Fld22666 <> 0) AND (_Fld22667 <> 0) OR
(_Fld954 = 0) AND (_Period = \'5999-11-01 00:00:00\') AND (_Fld22667 <> 0) AND (_Fld22667 <> 0)
GROUP BY _Fld22660RRef, _Fld22663RRef, _Fld22661RRef
HAVING (CAST(SUM(_Fld22666) AS NUMERIC(32, 8)) <> 0.0) OR
(CAST(SUM(_Fld22667) AS NUMERIC(32, 8)) <> 0.0)) AS T1 LEFT OUTER JOIN
UT3.dbo._Reference169 AS T3 ON T1.Fld22660RRef = T3._IDRRef AND T3._Fld954 = 0 LEFT OUTER JOIN
UT3.dbo._Reference318 AS T4 ON T1.Fld22661RRef = T4._IDRRef AND T4._Fld954 = 0 LEFT OUTER JOIN
UT3.dbo._Reference267 AS T5 ON T1.Fld22663RRef = T5._IDRRef AND T5._Fld954 = 0';

Проверяем что получилось.

SELECT * FROM TovarAvailable

Можно на стороне MSSQL создать view на основе полученного запроса и предоставить доступ к нему. В этом случае мы не показываем параметры авторизации и структуру таблиц коллегам разработчикам.

Таким образом минимальными средствами выводим, например, справочник на сайте.  

 

В примере использовались:

Управление торговлей, редакция 11 (11.3.2.207)

1С:Предприятие 8.3 (8.3.9.2309)

Microsoft SQL Server Standard Edition (64-bit) 10.50.6529.0

MariaDB 10.4.8

Вступайте в нашу телеграмм-группу Инфостарт

MariaDB интеграция

См. также

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

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    27893    38    49    

43

Внешние источники данных Программист Бизнес-аналитик 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Розница 3.0 Платные (руб)

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL, в шину данных с поддержкой REST API (CSV, JSON. SQL), в локальные файлы (CSV, JSON, XLS, XLSX) или в Google Sheets. Это дополнительная подключаемая обработка.

18000 руб.

21.08.2024    5687    11    4    

12

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

Хотите, чтобы остатки и цены товаров в вашей базе всегда были актуальными без лишних усилий? Теперь это возможно - автоматизируйте процесс загрузки и обновления данных о номенклатуре от ваших поставщиков или конкурентов. Как это работает? Вы сами настраиваете правила и расписание для каждого поставщика, чтобы обновление информации из произвольных форматов прайс-листов происходило автоматически.

15000 руб.

15.05.2024    2865    5    0    

6

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

19.12.2016    51381    108    106    

77

Производство готовой продукции (работ, услуг) Внешние источники данных 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

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

10200 руб.

24.06.2021    24234    61    55    

44

Внешние источники данных Загрузка и выгрузка в Excel Зарплата Бюджетный учет Системный администратор Программист 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

60000 руб.

16.11.2018    32187    23    31    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Идальго 239 26.12.19 10:54 Сейчас в теме
Не совсем ясно зачем так делать. Хм, а коллеги разработчики не могут разве тоже самое сделать, или просто самостоятельно данные получить(запрос выполнить, sql консолью воспользоваться) и т.п.? Ну, а если это всё для сайта, то просто создать в БД сайта таблицу - наверное недостаточно, для полноценной интеграции (здесь наверное нужно какой0то ещё функционал доделать).
Для отправки сообщения требуется регистрация/авторизация