Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

1С: ПараметрыСоединенияВнешнегоИсточникаДанных — использование

Обновлено: 15.09.2026  ·  Официальная база знаний

Симптомы ошибок внешних источников данных в 1С

При обращении к таблицам внешнего источника данных (MS SQL, Oracle, PostgreSQL, MySQL) платформа выбрасывает исключение: Ошибка подключения к внешнему источнику данных, Источник данных не открыт или «Не заданы параметры соединения с внешним источником».

Место сбояИсключениеПричина
При вызове метода УстановитьСоединение()Ошибка аутентификации ODBC / OLEDBВ конфигураторе зашит тестовый логин/пароль к базе данных
Регламентное заданиеВнешний источник данных недоступенОтсутствует явная инициализация строки соединения в контексте сервера

Программное переопределение параметров соединения во встроенном языке 1С

  1. Создание и назначение объекта параметров соединения: перед выполнением любых запросов переопределите строку подключения динамически (например, из константы или регистра сведений):
    // Серверная процедура инициализации внешнего источника
    &НаСервере
    Процедура ПодключитьВнешнююБД()
        ПараметрыПодключения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
        
        // Формирование строки подключения ODBC / OLE DB
        ПараметрыПодключения.СтрокаСоединения = 
            "Driver={ODBC Driver 18 for SQL Server};" +
            "Server=192.168.1.50;Database=ProductionDB;" +
            "Uid=db_user;Pwd=SecretPassword;TrustServerCertificate=yes;";
            
        ПараметрыПодключения.АутентификацияСтандартная = Истина;
        ПараметрыПодключения.ИмяПользователя = "db_user";
        ПараметрыПодключения.Пароль = "SecretPassword";
        
        // Назначение параметров конкретному объекту метаданных
        ВнешниеИсточникиДанных.ВнешняяБазаSQL.УстановитьПараметрыСоединения(ПараметрыПодключения);
        ВнешниеИсточникиДанных.ВнешняяБазаSQL.УстановитьСоединение();
    КонецПроцедуры
  2. Безопасное закрытие соединения после транзакции:
    &НаСервере
    Процедура ОтключитьВнешнююБД()
        ВнешниеИсточникиДанных.ВнешняяБазаSQL.РазорватьСоединение();
    КонецПроцедуры
  3. Установка драйверов на всех серверах кластера 1С: убедитесь, что разрядность установленного ODBC драйвера строго соответствует разрядности сервера 1С (для 64-битного rphost требуется 64-битный драйвер ODBC).

Безопасность: Никогда не храните боевые пароли к внешним базам в коде конфигуратора. Используйте защищенные константы, параметры сеанса или защищенный регистр сведений.

Практический опыт инженера: Практика ITSTM: При подключении к Microsoft SQL Server через ODBC Driver 18 всегда явно прописывайте в строке подключения параметр TrustServerCertificate=yes, иначе соединение упадет с ошибкой 'SSL Provider: The certificate chain was issued by an authority that is not trusted'.

Частые вопросы (FAQ)

Почему соединение с внешним источником сбрасывается в фоновых заданиях?

Фоновое задание запускается в изолированном фоновом сеансе. Параметры соединения внешнего источника действуют только в рамках текущего сеанса и должны инициализироваться заново в модуле фонового задания.

Что быстрее при работе с SQL: Внешние источники данных или COM-соединение?

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

Как проверить доступность внешнего источника без генерации исключения?

Оберните вызов метода УстановитьСоединение() в стандартную конструкцию Попытка...Исключение и запишите ошибку через ЗаписьЖурналаРегистрации.

Поддерживают ли внешние источники работу с базами PostgreSQL?

Да, при установке официального драйвера psqlODBC (x64) в операционную систему сервера 1С.