tormozit / RDT1C

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

Консоль запросов. Краш системы при заполнении параметра #374

Closed Pufilov closed 1 year ago

Pufilov commented 1 year ago

Программное окружение Платформа: 8.3.16.1502 Режим БД: клиент-серверный Конфигурация. Название: Самопал (1.22.09.15) Конфигурация. Основной режим запуска: Обычное приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Автоматический Конфигурация. Режим совместимости: Версия8_2_16 Конфигурация. Режим использования синхронных вызовов: Использовать Инструменты разработчика. Версия: Портативный 6.67.6p Инструменты разработчика. Инструмент: Прочее Инструменты разработчика. Перехват клавиатурного ввода: Нет Инструменты разработчика. Объекты на сервере: Нет Инструменты разработчика. Серверный модуль: Нет Клиент. Приложение: Обычное приложение 64б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. Отладка разрешена: Да Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Майкрософт Windows 10 Корпоративная LTSC 64-разрядная Русский Клиент. ОС от имени администратора: Нет Клиент. ОС Текущая кодовая страница: 866 Клиент. ОС выполнение BAT: Да Клиент. ОС пинг сервера: 0мс

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

  1. готовим запрос, определяем параметр
  2. устанавливаем значение паараметра не через форму подбора, а вводим в строку начало наименования
  3. после энтера крашится система image

Ожидаемое поведение Заполненный параметр как в релизе 6.61.1p. В релизе 6.62.2p замечено улучшение (фича) по заполнению параметра при вводе не из формы подбора а при вводе строки. С релиза 6.64.1p и дальше тоже система крашится при вводе из строки, при выборе из формы подбора - все ок

tormozit commented 1 year ago

Нужна картинка в момент появления ошибки, чтобы была видна таблица параметров и особенно текущая строка таблицы

Pufilov commented 1 year ago

image

Pufilov commented 1 year ago

Ошибка получается если вводить по Наименованию. Если по коду - все отлично заполняется в параметре.

tormozit commented 1 year ago

Перед появлением ошибки остановись в процедуре ирОбщий.ТаблицаДанныхВыбораМенеджераЛкс на строке ТаблицаРезультата = Запрос.Выполнить().Выгрузить(); И покажи текст запроса.

Pufilov commented 1 year ago

ВЫБРАТЬ ПЕРВЫЕ 51 Т.Ссылка КАК Ссылка, Т.ПометкаУдаления КАК ПометкаУдаления, Т.ЭтоГруппа КАК ЭтоГруппа, Т.Код КАК Код, Т.Наименование КАК Наименование ИЗ Справочник.Контрагенты КАК Т ГДЕ (Т.Наименование ПОДОБНО &П СПЕЦСИМВОЛ "/" И Т.Наименование ПОДОБНО &П2 СПЕЦСИМВОЛ "/" ИЛИ Т.Код = &П3) УПОРЯДОЧИТЬ ПО Наименование = &СтрокаПоиска УБЫВ, Код = &ЧислоПоиска УБЫВ, Наименование ПОДОБНО &СтрокаПоиска + "%" УБЫВ, Ссылка АВТОУПОРЯДОЧИВАНИЕ

tormozit commented 1 year ago

Попробуй в консоли запросов выполнить запрос. Возникнет ли та же ошибка?

ВЫБРАТЬ
Т.Ссылка 
ИЗ
Справочник.Контрагенты КАК Т
ГДЕ ЛОЖЬ
УПОРЯДОЧИТЬ ПО
Код = &ЧислоПоиска УБЫВ
АВТОУПОРЯДОЧИВАНИЕ
Pufilov commented 1 year ago

Сам запрос в 1С отрабатывается нормально, но там П3 и ЧислоПоиска числового типа. а в процедуре параметры П3 и ЧислоПоиска = Неопределено

tormozit commented 1 year ago

Что есть ПЗ?

Pufilov commented 1 year ago

Попробуй в консоли запросов выполнить запрос. Возникнет ли та же ошибка?

ВЫБРАТЬ
Т.Ссылка 
ИЗ
Справочник.Контрагенты КАК Т
ГДЕ ЛОЖЬ
УПОРЯДОЧИТЬ ПО
Код = &ЧислоПоиска УБЫВ
АВТОУПОРЯДОЧИВАНИЕ

тут все отлично, ошибок нет

Pufilov commented 1 year ago

image

tormozit commented 1 year ago

Правильно я понял, что запрос

ВЫБРАТЬ Т.Ссылка ИЗ Справочник.Контрагенты КАК Т
ГДЕ ЛОЖЬ
УПОРЯДОЧИТЬ ПО
Код = &ЧислоПоиска УБЫВ
АВТОУПОРЯДОЧИВАНИЕ

С параметром ЧислоПоиска = Неопределено в консоли запросов выполняется без ошибки?

Pufilov commented 1 year ago

Этот запрос после определения параметров приводи параметр к типу число image и все отлично, без ошибок

tormozit commented 1 year ago

Пробуй добавить такую правку

            Иначе**Если ЧислоПоиска <> Неопределено Тогда**
                НайтиДобавитьЭлементОтбораКомпоновкиЛкс(ГруппаИли, ПолеПоискаПоСтроке.Имя, ЧислоПоиска, ВидСравненияКомпоновкиДанных.Равно,, Ложь);
                ТекстСортировки.Добавить(ПолеПоискаПоСтроке.Имя + " = &ЧислоПоиска УБЫВ");
Pufilov commented 1 year ago

А вот когда параметр добавить руками, без указания типов image то все валится :)

Pufilov commented 1 year ago

Если ЧислоПоиска <> Неопределено Тогда

все отлично. работает без вылетов

tormozit commented 1 year ago

Создал задачу https://www.hostedredmine.com/issues/960050

tormozit commented 1 year ago

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