Доступ к базе 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С:Предприятие 8 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

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

28500 руб.

15.11.2022    29079    36    49    

43

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

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

15000 руб.

15.05.2024    3343    6    1    

7

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

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

13200 руб.

19.12.2016    52087    109    107    

78

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

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

10200 руб.

24.06.2021    24709    61    55    

44

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

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

60000 руб.

16.11.2018    32566    23    31    

23

Внешние источники данных Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Платные (руб)

Внешняя обработка для загрузки номенклатуры и документов продаж из базы данных SQL программы R-keeper 7 фирмы UCS в 1с Бухгалтерию 8.3. С возможностью загрузки за период и синхронизации справочников.

9000 руб.

16.10.2019    26046    12    13    

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