tormozit / RDT1C

Подсистема "Инструменты разработчика" для платформы 1С 8
http://devtool1c.ucoz.ru
88 stars 9 forks source link

Конвертор текста БД. Параметры через знак вопроса (?) #483

Closed JohnyDeath closed 1 year ago

JohnyDeath commented 1 year ago

Программное окружение

Платформа: 8.3.23.1688
Режим БД: клиент-серверный
Конфигурация. Название: Бухгалтерия предприятия КОРП, редакция 3.0. БитФинанс (3.0.136.32/3.1.54.10)
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим управления блокировкой данных: Управляемый
Конфигурация. Режим совместимости: Версия8_3_17
Конфигурация. Режим использования синхронных вызовов: Использовать
Конфигурация. Версия БСП: 301
Конфигурация. Использовать обычные формы в управляемом приложении: Да
Инструменты разработчика. Версия: Расширение 6.83.1e
Инструменты разработчика. Инструмент: Прочее
Инструменты разработчика. Перехват клавиатурного ввода: Да
Инструменты разработчика. Объекты на сервере: Да
Инструменты разработчика. Асинхронность запрещена: Нет
Инструменты разработчика. Разрешены имитаторы: Да

Воспроизведение проблемы

  1. Через Анализ техножурнал. Открыл Событие техножурнала.
  2. Дважды кликаю в ячейку со значением свойства "Оператор обращения к БД SDBL"
  3. Открывается окно конвертора текста БД, в котором параметры запроса начинаются со знака вопроса (?)
    SELECT
    ОрганизацииТ.Ссылка AS Ссылка,
    ОрганизацииТ.Наименование AS Наименование
    FROM
    Справочник.Организации AS ОрганизацииТ
    WHERE
    Ссылка = ?Моя_Организация

    image

Поэтому дальнейшая передача запроса в консоль через консоль запросов выпадает с ошибкой:

Поле объекта не обнаружено (ВариантыЗначения) {ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(7451)}:Если СтрокаПараметра.ВариантыЗначения.Количество() = 0 Тогда {ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(3059)}:ОбновитьТипЗначенияВСтрокеПараметровВФорме(СтрокаПараметра); {ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.МодульОбъекта(288)}:Форма.Открыть(); {ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(578)}:Результат = КонсольЗапросов.ОткрытьДляОтладки(Объект, , , Модально, Объект2); {ИнструментыРазработчикаTormozit Обработка.ирАнализТехножурнала.Форма.КонверторТекстаСУБД.Форма(22)}:ирОбщий.ОтладитьЛкс(Запрос);

В строке сообщения: {ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.МодульОбъекта(65)}: Ошибка при вызове метода контекста (НайтиПараметры): {(7, 11)}: Синтаксическая ошибка "?Моя_Организация" Ссылка = <<?>>?Моя_Организация

Ожидаемое поведение Хотелось бы, чтобы параметры начинались со знака "&"

JohnyDeath commented 1 year ago

Методом тыка обнаружил, что снятая галка "Пересборка текста" решает проблему image

tormozit commented 1 year ago

ошибку открытия консоли воспроизвел https://www.hostedredmine.com/issues/966180

tormozit commented 1 year ago

ошибку конвертации воспроизвел https://www.hostedredmine.com/issues/966181

tormozit commented 1 year ago

Можешь указать исходный текст запроса (до конвертации)?

tormozit commented 1 year ago

Исправлено в 6.83.2

JohnyDeath commented 1 year ago

Можешь указать исходный текст запроса (до конвертации)?

Текст запроса еще нужен? Он у меня в ТЖ был, которые я уже поудалял. Но если нужно, то думаю, что смогу сделать

JohnyDeath commented 1 year ago

Исправлено в 6.83.2

На версии 6.83.2 указанные проблемы ушли: и знак параметра и передача в консоль. Спасибо!