infostart-hub / toolkit

Infostart Toolkit
https://infostart.ru/marketplace/toolkit/
73 stars 7 forks source link

Платформенная ошибка при компоновке отчета с ошибочным заполнением параметров #671

Closed d-hurricane closed 5 months ago

d-hurricane commented 1 year ago

Описание ошибки В консоли СКД если попытаться сформировать отчет, где не указан обязательный для заполнения параметр, появится сообщение об ошибке:

Поле объекта не обнаружено (Тип) {InfostartToolkitPROF Обработка.ИТК_КонсольРазработчика.Форма.Основная.Форма(3645)}:ТребуетсяОбновлениеРезультатаВыполнения = (ТекущиеДанные.Тип = ИТК_Перечисления.ЭлементДанныхКод()); {ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(63)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат); {(1)}:Модуль.ОжидатьЗавершение(Параметры[0],Параметры[1],Параметры[2]) {InfostartToolkitPROF ОбщийМодуль.ИТК_БСПКлиентСервер.Модуль(75)}:Выполнить(Выражение); {InfostartToolkitPROF ОбщийМодуль.ИТК_БСПКлиентСервер.Модуль(20)}:ВыполнитьМетод(ПолноеИмя, Параметры); {InfostartToolkitPROF ОбщийМодуль.ИТК_ДлительныеОперацииКлиент.Модуль(199)}:ИТК_БСПКлиентСервер.ВыполнитьПроцедуру("ДлительныеОперацииКлиент.ОжидатьЗавершение", ПараметрыПроцедуры); {InfostartToolkitPROF Обработка.ИТК_КонсольРазработчика.Форма.Основная.Форма(3545)}:ИТК_ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершенииВыполнения(Строка), ПараметрыОжидания); {InfostartToolkitPROF Обработка.ИТК_КонсольРазработчика.Форма.Основная.Форма(3484)}:ВыполнитьОперациюЧерезДлительныеОперации(ОбрабатываемаяСтрока, НаименованиеОперации, Режим, ИгнорироватьЛимитСтрок); {InfostartToolkitPROF Обработка.ИТК_КонсольРазработчика.Форма.Основная.Форма(1413)}:ВыполнитьОперацию("Выполнение");

Сценарий воспроизведения Шаги по воспроизведению:

  1. Открыть консоль СКД. Запустить конструктор. Добавить набор данных с запросом Выбрать 1 КАК Поле.
  2. Добавить в конструкторе параметр ОбязательныйПараметр. Выбрать ему тип, например Число. Установить флажок "Запрет незаполненных значений".
  3. Настроить вариант отчета по умолчанию, выведя в детальных записях Поле. Вывести параметр ОбязательныйПараметрв пользовательские настройки. Закрыть конструктор СКД.
  4. Добавить в дереве данных в подчинение схеме компоновки данных пользовательские настройки.
  5. Очистить в пользовательских настройках значение параметра и нажать кнопку "Выполнить".
  6. Убедиться, что помимо предупреждения о незаполненном параметре появилось также сообщение об ошибке.

Ожидаемое поведение, если бы ошибки не было Отчет не должен сформироваться, должно быть только предупреждение о незаполненном параметре.

Скриншоты image

Окружение: Infostart Toolkit PROF 2022.5.0

Платформа: 8.3.21.1624 (Linux x86-64) Режим БД: клиент-серверный

Конфигурация: 1С:Комплексная автоматизация 2 (2.5.8.267/3.2.34.8) Основной режим запуска: Управляемое приложение Режим совместимости: Версия8_3_17 Версия БСП: 3.1.5.473

Клиент: Тонкий клиент ОС: Windows x86-64 (Microsoft Windows 10 version 10.0 (Build 17763)) Язык: ru Режим запуска: Управляемое приложение

ChernyakAI commented 1 year ago

Аналогичная ошибка (Infostart Toolkit PROF 2023.2.03). Только не при отсутствии обязательного параметра, а когда его тип системе не нравится. Например, если забыл переименовать стандартный период с именем "Период", а в запросе оказалась выборка из виртуальной таблицы СрезПоследних (ветка на форуме).

Evg-lylyk commented 5 months ago

Проблема решена в 2024.1, 2024.2