1С и ODBC

02.06.21

Разработка - Работа с интерфейсом

ODBC (Open Database Connectivity) — это программный интерфейс, универсальное средство доступа к базам данных, разработанное для обмена между источниками (базами данных) разного типа. Данный интерфейс принято считать более низкоуровневым, чем библиотека ADOdb, однако причина эта кроется не в более низком качестве, но в том, что ODBC послужила своего рода фундаментом более поздней ADOdb – работу с последней поддерживают все типы баз, работающие и с первой. В данной статье мы расскажем о том, как взаимодействуют ODBC и 1С, а точнее, поговорим о механизме 1С ВнешнийИсточникДанных и его использовании с вышеупомянутым интерфейсом.

В конфигураторе 1С 8 создадим новый ВнешнийИсточникДанных и назовем его.

 

Рис. 1 Новый ВнешнийИсточникДанных в конфигураторе 1С 8

 

Для подключения к источнику данных необходимо заполнить строку соединения. Можно воспользоваться конструктором строки (кнопка “…” справа), однако я бы рекомендовал ручной ввод, как и делаю сам. Итак, вводим “Driver={ODBC Driver 17 for SQL Server}; Server=localhost; Database=Test;”

Название драйвера копируем из конструктора строки соединения, где будет предложено несколько вариантов. Нас интересует тип “ODBC.... ”. В моем случае было предложено “ODBC Driver 17 for SQL Server”.

Далее "Тип СУБД" – MS SQL server. Используем стандартную идентификацию – задаем пользователя и пароль.

Можно указать в строке соединения, например, “Driver={ODBC Driver 17 for SQL Server}; Server=localhost; Database=Test; User Id=USER; Password=PASS; ” (но светить пароли мы тут не будем, разумеется).

 

Рис. 2 Заполнение строки соединения для подключения к источнику данных

 

Важный момент: скопируйте строку подключения – она пригодится позднее!      

Следующая вкладка – “Данные”. Добавляем таблицу из нашего источника, используя функцию “Выбрать из списка таблиц внешнего источника данных”. Далее жмем зеленый плюсик, после чего система еще раз покажет окно подключения. Жмем “Ок”.

 

Рис. 3 Добавление таблицы при настройке ODBC

 

При добавлении таблиц можно указать только их необходимые поля, оставив остальное за бортом. Пока что остановимся на этом – закрываем окно “ВнешнийИсточникДанных”.

 

Рис. 4 Закрытие ВнешнегоИсточникаДанных в конфигураторе 1С 8

 

Добавляем подключенную таблицу в подсистему, обновляем конфигурацию и запускаем в системе 1С режим Предприятие.

Сюрприз! В пользовательском режиме 1С при выборе нашей таблицы dbo_mytable возникает окно подключения к источнику данных.

 

Рис. 5 Подключение к источнику данных

 

Жмем “Изменить общие параметры”, здесь нам опять потребуется строка подключения, скопированная ранее. Заполняем все и получаем сообщение, что все хорошо, после чего еще раз в меню выбираем нашу таблицу.

 

Рис. 6 Соединение с внешним источником данных выполнено

 

Теперь мы видим данные таблицы внешнего источника в ODBC. Подключение сохранилось и при следующем запуске и выборе таблицы из MSSQL в 1С:Предприятие окно подключения вызываться не будет.  

 

   Использование конструктора запросов 1С

 

Запускаем консоль запросов:

 

Рис. 7 Консоль запросов в 1С:Предприятие

 

Видим таблицу из внешней БД, с которой можно работать, используя конструктор запросов в 1С. Таблица, можно сказать, как влитая в нашей 1С, однако такой вариант работы с внешней БД, се же, не лишен некоторых недостатков:

  • ВнешниеИсточникиДанных недоступны в расширениях (только снятие конфигурации с поддержки);
  • добавление новой таблицы во внешней БД потребует добавления во ВнешнийИсточникДанных;
  • в запросе нельзя соединить таблицы 1С и внешней БД. (возможное решение данной проблемы – сохранение результатов запроса к внешней БД во временную таблицу, так как ее уже можно будет соединять с таблицами 1С).

Ну, а о плюсах использования привычного конструктора запросов 1С, полагаю, читатель и так осведомлен: СКД, использование форм элемента списка и т. д. Надеюсь, данный материал был познавательным и интересным.

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62042    43    59    

81

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54665    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16889    22    4    

36

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11128    760    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    9867    153    acces969    31    

119

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3916    kalyaka    4    

29

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12271    1    5    

10

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

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

6000 руб.

18.01.2022    8933    1    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TMV 14 05.06.21 11:11 Сейчас в теме
Результат запроса ко внешней БД нельзя сохранить во временную таблицу, только выгрузить в таблицу значений с последующим помещением во временную таблицу.
2. Veleslav87 04.10.21 12:18 Сейчас в теме
(1)получается одним запросом никак не обойтись?
3. TMV 14 04.10.21 13:56 Сейчас в теме
4. Veleslav87 04.10.21 14:35 Сейчас в теме
(3)Я правильно понял, нужно : результат первого запроса выгрузить в ТЗ, создать МВТ и поместить туда ТЗ и после уже можно работать?
5. TMV 14 04.10.21 17:27 Сейчас в теме
(4)Если вы хотите в запросе использовать таблицы как конфигурации, так и внешних источников, то да - через промежуточную выгрузку в ТЗ и ее помещение во временную таблицу.
6. user950703 01.05.23 09:58 Сейчас в теме
Доброе время суток.
Извиняюсь, что задаю вопрос через длительный промежуток времени после написания статьи, только сейчас наткнулся на данный материал.
Вопрос (ы) заключаются в следующем.
1. ODBC как программа(сервис) работает на стороне клиента? Участвует ли 1С-сервер в его работе?
2. Почему 1С-сервер не нужно каким-либо образом конфигурировать для работы с ODBC при работе с внешними источниками данных в среде Microsoft и нужно - в среде Linux?
Оставьте свое сообщение