Работа с Postgre SQL из 1С



Задача: считать данные из таблицы в базе на сервере Postgre SQL.



Чтобы подключиться к базе и увидеть её структуру, можно воспользоваться программой pgAdmin.

Она бесплатная и можно скачать с официального сайта.



Есть два основных варианта, с помощью которых можно считать данные через 1С:



- ADODB (COM объект)

- Внешние источники данных (объект платформы)



🔹Считать записи первым способом можно используя код из Листинга 1.



На выходе у нас есть подключение к базе, и мы можем делать что нам требуется (на что хватит прав). Можно работать через sql запросы, либо с объектами напрямую.



🔸Второй вариант позволяет сразу увидеть структуру самой базы данных.

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



При создании внешнего источника данных можно либо вручную задать структуру внешних таблиц, либо воспользоваться конструктором таблиц, в котором задаются параметры подключения и выполняется подключение к базе данных. После подключения к БД, появляется структура базы и можно выбрать нужные таблицы.



❗️ Важный нюанс!!! То подключение, которое мы выполнили в конфигураторе, не сохраняется.

Для того чтобы данный источник заработал в режиме 1С: Предприятие, необходимо либо в коде один раз задать параметры подключения (листинг 2), либо воспользоваться платформенной обработкой "Управление внешними источниками данных". ❗️



🔹 Особенности подключения ADODB:



Требуется драйвер OLEDB

Можем выполнять SQL запросы

Необходимо знать структуру базы данных

Работает медленнее чем второй способ (но есть исключения)



🔸 Особенности подключения через внешние источники данных:



Требуется драйвер ODBC

Можно использовать в динамических списках и СКД

Требуется выполнить подключение в режиме предприятия

Можно работать с объектом в привычном конструкторе запросов

Нельзя использовать временные таблицы после выборки данных из внешней базы. Необходимо предварительно выгрузить результат запроса в ТЗ.

Работает в разы быстрее, чем ADODB





> > > Случайный пост < < <



#ЕБ_Повседневность