Внешние источники данных 1С
Зачем нужны внешние источники
Иногда данные живут вне информационной базы 1С — в PostgreSQL, MS SQL Server, MySQL, Oracle и других СУБД. Платформа 8.3 даёт объект метаданных ВнешнийИсточникДанных: таблицы и функции сторонней БД описываются в конфигурации и используются как обычные источники в запросах, СКД и формах.
Типичные сценарии:
- аналитика и отчёты по «сырым» таблицам DWH;
- разовая или регламентная загрузка справочников из legacy-системы;
- чтение витрины, которую наполняет другой сервис.
Алгоритм внедрения
- Изучить структуру внешней БД — какие таблицы, поля или функции нужны.
- Создать ВнешнийИсточникДанных в конфигураторе (Внешние источники данных), описать таблицы и поля — вручную или загрузить структуру из источника.
- Использовать объект в запросах, отчётах, коде.
- Настроить строку подключения в режиме 1С:Предприятие на том сервере, где выполняется код.
Подключение — ODBC и DSN
Доступ идёт через ODBC. Строка соединения — пары Ключ=Значение, разделённые ;.
Полная строка (пример MySQL):
DRIVER=MySQL ODBC 8.0 Unicode Driver;User ID=user;Password=***;Server=host;Database=warehouse
Через DSN — заранее созданное имя источника:
DSN=MyDB
DSN создают в утилите ODBC (Windows: Источники данных (ODBC)). На 64-bit Windows важна разрядность: для 64-bit сервера 1С — System32\odbcad32.exe, для 32-bit — SysWOW64\odbcad32.exe. На Linux — ODBCConfig и драйвер под вашу СУБД.
Поддерживаемые типы СУБД в свойстве Тип СУБД (официально): MS SQL Server, IBM DB2, PostgreSQL, Oracle, MySQL. Для других СУБД возможности зависят от ODBC-драйвера.
Где используется в конфигурации
| Возможность | Применение |
|---|---|
| Язык запросов | ВЫБРАТЬ ... ИЗ ВнешнийИсточник.Таблица |
| СКД | Источник данных отчёта |
| Динамический список | Форма со строками внешней таблицы |
| Общие реквизиты | Связь с объектами ИБ |
| Права доступа | RLS на таблицы и поля ВИД |
| BSL | Чтение и запись через объектную модель |
Записи внешних таблиц можно показывать в управляемых формах; обычные формы для ВИД не поддерживаются.
Структура в конфигурации может описывать меньше таблиц и полей, чем в реальной БД, но не больше — нельзя добавить поле, которого нет в источнике.
Запрос к внешней таблице
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВнешниеДанные.Код,
| ВнешниеДанные.Наименование
|ИЗ
| ВнешнийИсточник.СправочникКонтрагентов КАК ВнешниеДанные
|ГДЕ
| ВнешниеДанные.ПометкаУдаления = ЛОЖЬ";
Выборка = Запрос.Выполнить().Выбрать();
Имена таблиц — как в метаданных ВнешнийИсточникДанных, не обязательно как в SQL исходной БД (маппинг задаётся при описании структуры).
Синхронизация и загрузка
Для регулярного переноса данных во свою ИБ 1С обычно комбинируют:
- выборку из ВИД;
- запись в справочники/документы с проверкой дубликатов;
- регламентное задание на сервере.
Прямая запись во внешнюю СУБД уместна для узких задач (обновление статуса в staging-таблице), но учётные документы всё равно оформляют в 1С.
Типичные ошибки
| Проблема | Причина |
|---|---|
| «Нет соединения» в проде | Не настроена строка в режиме 1С:Предприятие |
| 32/64-bit ODBC | Неверная утилита администрирования DSN |
| Неверный Тип СУБД | Несоответствие драйверу |
| Медленные отчёты | Тяжёлые запросы без индексов на стороне СУБД |
| Путаница с ИБ 1С | Попытка читать _Reference напрямую из SQL |
Связанные материалы
- Работа с базами данных 1С — своя ИБ и язык запросов
- PostgreSQL и 1С — штатная СУБД базы 1С (это не ВИД)
- Интеграция — хаб
- Универсальный обмен — когда нужен обмен объектами, а не SQL-таблицами
Проверка себя
- Чем внешний источник данных отличается от PostgreSQL, на котором крутится ваша ИБ?
- Где задаётся строка подключения для пользователей в проде?
- Когда выберете HTTP/API вместо ВИД?
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Платформа 1С - архитектура среды исполнения, назначение и место в автоматизации бизнес-процессов. История 1С - развитие платформы, ключевые этапы роста и влияние на цифровизацию бизнеса и госсектора. Экосистема 1С - продукты платформы, инструменты разработки, внедрение и сопровождение корпоративных решений. Архитектура платформы 1С, объекты метаданных, регистры, модули и исполнение прикладного кода. Пошаговое создание учебной конфигурации: справочники, документ, регистры, проведение, подсистемы и роли. Синтаксис и пунктуация 1С - базовые правила записи кода, операторы и структура выражений. Типизация, набор правил определения типа данных значений языка. Управление потоком выполнения в 1С - последовательность операций, ветвления и контроль выполнения сценариев. Функции и процедуры 1С - различия, правила использования и организация переиспользуемой бизнес-логики. Объекты и классы 1С - модель метаданных, экземпляры объектов и работа с прикладными сущностями. Данные — это конкретные записи, созданные пользователями или автоматически системой в рамках определённых объектов. Каждая запись имеет уникальный идентификатор и соответствует описанию в метаданных. Обработка ошибок в 1С - перехват исключений, диагностика сбоев и устойчивые сценарии обработки.Платформа 1С
История 1С
Экосистема 1С
Архитектура и мета-объекты 1С
Конфигурирование — мини-склад
Синтаксис и пунктуация 1С
Переменные и типы данных 1С
Управление потоком выполнения 1С
Функции и процедуры 1С
Объекты и классы 1С
Работа с базами данных 1С
Обработка ошибок 1С