При работе с ВнешнимиИсточникамиДанных часто возникает задача смены параметров подключения — например, при переносе отчетов между базами или смене серверов БД. Давайте разберемся, как правильно управлять этими настройками, чтобы не возникало проблем с доступом к данным.
Если вам нужно изменить параметры подключения без написания кода, воспользуйтесь штатным механизмом платформы. Это самый простой и надежный способ для администратора или разработчика.
Если ваша задача требует гибкости (например, автоматическое переключение между тестовой и рабочей базой при открытии отчета), целесообразно использовать программное управление. Это позволяет задавать параметры соединения «на лету» перед выполнением запросов к ВнешнимИсточникамДанных.
Рассмотрим пример кода, который поможет вам динамически управлять параметрами соединения:
ПараметрыСоединения = ВнешниеИсточникиДанных.ИмяВашегоИсточника.ПолучитьОбщиеПараметрыСоединения();
ПараметрыСоединения.АутентификацияСтандартная = Истина;
ПараметрыСоединения.ИмяПользователя = «sa»;
ПараметрыСоединения.Пароль = «ваш_пароль»;
ПараметрыСоединения.СтрокаСоединения = «Driver={SQL Server};Server=MyServer;Database=MyDB;»;
ПараметрыСоединения.СУБД = «MSSQLServer»;
ВнешниеИсточникиДанных.ИмяВашегоИсточника.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
ВнешниеИсточникиДанных.ИмяВашегоИсточника.УстановитьСоединение();
Важные замечания при написании кода:
УстановитьОбщиеПараметрыСоединения до того, как система начнет выполнять выборку данных, иначе 1С может использовать кэшированные параметры из предыдущих сеансов.УстановитьПараметрыСоединенияПользователя.УстановитьСоединение инициирует проверку работоспособности заданных параметров.Чаще всего ситуация, когда отчет «запоминает» старые настройки, связана с тем, что платформа сохраняет параметры соединения в настройках пользователя. Если вы работаете в Управляемых формах, эти данные привязываются к объекту ВнешнийИсточникДанных, заданному в конфигураторе. При переносе отчета между разными базами 1С важно убедиться, что имена источников данных в конфигураторе совпадают. Если имена совпадают, платформа использует параметры, уже сохраненные в текущей информационной базе. Если вы хотите принудительно обновить параметры, просто удалите сохраненные настройки через окно Управление внешними источниками данных, о котором мы говорили выше.
Данный механизм универсален и работает как в Управляемых формах, так и в Обычных формах, поскольку является частью фундаментальной архитектуры платформы 1С.