Closed d-hurricane closed 1 year ago
Даже не знаю что с этим делать по тексту запросу ф. НайтиПараметры() должна была определить тип как "СправочникСсылка.Номенклатура, Неопределено", а определяет просто "СправочникСсылка.Номенклатура" моё мнение это ошибка платформы. Если я добавлю во все ссылочные типы Неопределено то будет непонятный выбор типа. Если заменю на выражение для тех параметров для которых значение не входит в ТипЗначения то могут быть проблемы при преобразовании, да и в интерактивном режиме невозможно будет задать нужно давать менять тип.
Если заменю на выражение для тех параметров для которых значение не входит в ТипЗначения
А если не менять на выражение, а расширить тип параметра?
А если не менять на выражение, а расширить тип параметра?
Писал выше, для каждого ссылочного параметра будет выбор типа
Не. Я имел ввиду не всегда, а именно когда значение параметра не вписывается в тип.
Не. Я имел ввиду не всегда, а именно когда значение параметра не вписывается в тип.
Варианты решения есть, но все они не простые. Сейчас есть ф. Поиска параметров в тексте запроса она определяет тип, значения в нее не передаются. Допустим передал, сделал. Дальше проблема что если значение поменяют на ссылку произойдет потеря Неопределено. Нужно расширять использование кнопки задания типа параметра... сейчас она нужна только чтобы задать МоментВремени, Границу
Хм. Может и не нужно решать проблему вписывания значения в тип параметра. Этот момент хотя бы как-то диагностировать. Дело ведь в том, что это запрос из отладки, потому и в голову не придет, что он может работать в консоли не так, как работает в отладчике. Как-нибудь хотя бы оповестить, что что-то загрузилось не так.
Проблема понятна, будем решать. Быстрого решения не обещаем
Решил пойти простым путем при таком значении это будет выражение Результат = Неопределено Реализовано в 2023.4.6
Описание ошибки В некоторых ситуациях при открытии сохраненного запроса для отладки
ИТК.Отл(Запрос)
могут искажаться типы значений параметров. Связано это как-то с приведением к типу поля таблицы в запросе, с которым сравнивается значение параметра.Сценарий воспроизведения Любым удобным способом, например в консоли кода, выполнить в режиме предприятия следующий код:
Убедиться, что при выполнении кода
Результат = Ложь
, т.е. не пустой.Найти в меню Консоли запросов InfostartToolkit сохраненный "Запрос (из отладки)", открыть его. Выполнить открытый запрос. Убедиться, что результат получился ошибочно пустой.
Перейти на закладку параметров запроса, найти в списке параметр "Ссылка". Если переключить тип параметра на "Выражение", то можно убедиться, что значение параметра есть пустая ссылка, вместо ожидаемого Неопределено.
Ожидаемое поведение, если бы ошибки не было Результаты в консоли запросов и в консоли кода не должны различаться и должны быть непустыми. Значение параметра запроса из отладки должно восстанавливаться как
Неопределено
.Скриншоты
Окружение: Infostart Toolkit PROF 2.4.1
Платформа: 8.3.18.1779 (Linux x86-64) Режим БД: клиент-серверный
Конфигурация: 1С:Комплексная автоматизация 2 (2.5.7.269) Основной режим запуска: Управляемое приложение Режим совместимости: Версия8_3_16 Версия БСП: 3.1.5.256
Клиент: ОС: Windows x86-64 (Microsoft Windows 10 version 10.0 (Build 17763)) Язык: ru Режим запуска: Управляемое приложение