tormozit / RDT1C

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

Конструктора Запросов ИР. Некорректная сборка текста запроса при использовании параметров построителя в условиях виртуальной таблицы. #629

Closed PerlAmutor closed 2 months ago

PerlAmutor commented 2 months ago

https://github.com/user-attachments/assets/5672d34e-25de-4607-adf9-2eb429844ae6

Информация для технической поддержки Платформа: 8.3.25.1336 Режим БД: файловый Конфигурация. Название: 1С:ERP Управление предприятием 2 (2.5.17.95) Конфигурация. Основной режим запуска: Управляемое приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Управляемый Конфигурация. Режим совместимости: Версия8_3_24 Конфигурация. Режим использования синхронных вызовов: Использовать Конфигурация. Версия БСП: 301 Инструменты разработчика. Версия: Портативный 7.38.1p Инструменты разработчика. Инструмент: Конструктор запроса Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Да Инструменты разработчика. Серверный модуль БСП: Да Клиент. Приложение: Обычное приложение 64б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. Отладка разрешена: Нет Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Майкрософт Windows 10 Pro 64-разрядная Русский Клиент. ОС от имени администратора: Нет Клиент. ОС выполнение BAT: Да Клиент. ОС Системе не удается найти указанный путь. Текущая кодовая страница: 866

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

  1. Есть текст запроса, который некорректно переводится Конструктором Запросов ИР
    ВЫБРАТЬ
    *
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода {(&НачалоПериода)},
        &КонецПериода {(&КонецПериода)},
        ,
        ,
        ,
        ,
        &ДатаНачалаДействияНастройки < &НачалоПериода {&НачалоПериода} {Подразделение.* КАК Подразделение}) КАК Т

    В такой запрос:

    ВЫБРАТЬ
    *
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода {(&НачалоПериода)},
        &КонецПериода {(&КонецПериода)},
        ,
        ,
        ,
        ,
        &ДатаНачалаДействияНастройки < &НачалоПериода {&НачалоПериода
        Подразделение.* КАК Подразделение}) КАК Т

    Что делает его синтаксически не корректным. В то время как платформа 1С преобразует его в такой запрос::

    ВЫБРАТЬ
    *
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода {(&НачалоПериода)}, &КонецПериода {(&КонецПериода)}, , , , , &ДатаНачалаДействияНастройки < &НачалоПериода {(&НачалоПериода), (Подразделение).* КАК Подразделение}) КАК Т
tormozit commented 2 months ago

Ошибку воспроизвел https://www.hostedredmine.com/issues/990710

tormozit commented 2 months ago

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