Пятница, 29.03.2024, 17:49
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Проблемные ситуации » Не подставляются параметры в COMОбъект("DataLinks") (Параметры соединения ADO в Консоли запросов)
Не подставляются параметры в COMОбъект("DataLinks")
aae99999Дата: Суббота, 16.11.2019, 17:21 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 10
Статус: Оффлайн
Платформа: 8.3.16.1030
Режим БД: файловый
Конфигурация. Название: Розница, редакция 2.2 (2.2.13.12)
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим совместимости: Версия8_3_12
Конфигурация. Версия БСП: 3.0.2.306
Инструменты разработчика. Версия: Расширение 5.13e
Инструменты разработчика. Объекты на сервере: Нет
Расширения. ИнструментыРазработчикаTormozit (5.13e)
Клиент. ОС: Windows x86-64 Microsoft Windows 10 version 10.0  (Build 18362)
Клиент. Приложение: Управляемое приложение 64б
Клиент. От имени администратора Windows: Нет
Клиент. Текущий язык системы: ru_RU

При выборе в строке соединения ADO вызывается процедура СтрокаСоединенияADOНачалоВыбора, но в ней отсутствует замена макро параметров подключения. В результате в Свойствах канала передачи данных вместо пароля заполнено "!Пароль!".
Считаю такое поведение не корректным.
Далее все правильно, при нажатии ОК - строка соединения полностью перезаполняется уже без шаблонов, а при "Отмена" остается как есть.

Возможно, конечно, заменить в этой Процедуре вот так:
ИсточникДанныхADO = ПолучитьИсточникДанныхADO();
СоединениеФакт = СтрЗаменить(СоединениеФакт,"!Путь!",ИсточникДанныхADO.Путь);
СоединениеADO.ConnectionString = СоединениеФакт;

Но я предлагаю внести изменения по такой замене в Функцию ПолучитьИсточникДанныхADO()
т.е. добавить именно там замену и далее 
ИсточникДанныхADO.ФактическаяСтрокаСоединения = ФактическаяСтрокаСоединения;
ИсточникДанныхADO.МаскируемаяСтрокаСоединения = МаскируемаяСтрокаСоединения; // Пароль "***"

ИМХО, код будет слегка компактнее и логичнее.

P.S. в Портативном варианте то же самое.
 
tormozitДата: Суббота, 16.11.2019, 19:06 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6110
Репутация: 153
Статус: Оффлайн
Это - задуманное поведение программы. Окно "Свойства канала передачи данных" позволяет корректно сформировать строку соединения с использованием параметризуемых фрагментов, которые затем будут подставляться динамически. Для проверки подключения к источнику данных в консоли есть собственная кнопка, учитывающая все настройки инструмента в отличие от окна "Свойства канала передачи данных". Не рекомендую заменять в строке соединения параметризуемые фрагменты на статические, т.к. в этом случае начнут игнорироваться значения соответствующих полей в форме инструмента.

Прикрепления: 4468199.png (43.7 Kb)
 
aae99999Дата: Воскресенье, 17.11.2019, 10:48 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 10
Статус: Оффлайн
Эту то кнопку хорошо видно!

Просто была странная ситуация с Oracle, когда на 8.3.16.1030 соединение ни в какую не поднималось, хотя драйвер в логи писал, что с сервером пытается соединится и чем то с ним даже обменивался.
Нужно было проверить не из 1С, а поля не заполнялись, это было слегка не удобно.
Бился долго, непонятно что это было, но после переустановки 1С соединение поднялось.
 
Форум » Основной » Проблемные ситуации » Не подставляются параметры в COMОбъект("DataLinks") (Параметры соединения ADO в Консоли запросов)
  • Страница 1 из 1
  • 1
Поиск: