|
Ошибка "Поле не найдено" в консоли запросов | ☑ | ||
---|---|---|---|---|
0
eugenyfs
29.04.15
✎
22:44
|
Привет всем!!
Воспользовался консолью запросов ИР, чтобы отладить запрос. Столкнулся с такой проблемой. Передаю в запрос параметр, который указывает на ссылку из Справочника Номенклатура, в коде перед выполнением запроса: мОбъектЗапроса.Параметры.Таблица = Новый ТаблицаЗначений; мОбъектЗапроса.Параметры.Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); СТР = мОбъектЗапроса.Параметры.Таблица.Добавить(); СТР.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Вагонка Липа Сорт Э (16х98мм) длина 2,0 м."); В самой консоли пишу запрос: ВЫБРАТЬ Таблица.Номенклатура.ТипНоменклатуры Поместить втТаблицаЗначений ИЗ &Таблица как Таблица Выдает ошибку: Текст запроса: Строка 2: {(2,1)}: Поле не найдено "Таблица.Номенклатура.ТипНоменклатуры" <<?>>Таблица.Номенклатура.ТипНоменклатуры Само поле существует. Сам запрос в программе работает. А в консоли нет. Параметр ссылка передается. Если просто сделать ВЫБРАТЬ Таблица.Номенклатура Поместить втТаблицаЗначений ИЗ &Таблица как Таблица То выводится элемент ссылка на справочник Номенклатура. А вот доступ к полям этого справочника отсутствует. Думаю уже бросить эту консоль и отладить запрос в самой программе. Может кто подскажет в чем проблемма? |
|||
1
pessok
29.04.15
✎
22:54
|
(0) собственно, ИР тут не причем. Это стандартное поведение временных таблиц. Нельзя подчиненные поля вытаскивать, т.к. хоть для таблиц-параметров и обязательна строгая типизация, в самом запросе ее нет
|
|||
2
pessok
29.04.15
✎
22:55
|
+(1) соответственно, просто добавь еще колонку и добавь туда тип номенклатуры на стадии формирования ТЗ
|
|||
3
eugenyfs
29.04.15
✎
23:14
|
Да дело в том, что в самой программе запрос работает. Поля читаются. Я просто хотел изменить его. И соответственно в консоли потестировать. Но не смог. Интересно то что если получить ссылку на элемент справочника запросом в самой консоли, и выбрать тип номенклатуры, то он работает.
Вот такой код: ВЫБРАТЬ Номенклатура.Ссылка Как Ссылка Поместить втТаблицаЗначений ИЗ Справочник.Номенклатура как Номенклатура ГДЕ Номенклатура.Наименование = "Вагонка Липа Сорт Э (16х98мм) длина 2,0 м." ; Выбрать ТаблицаТоваров.Ссылка.ТипНоменклатуры ИЗ втТаблицаЗначений Как ТаблицаТоваров Сам запрос посложнее, размещается на трех листах. Это так выдержки из него. |
|||
4
pessok
29.04.15
✎
23:18
|
(3) все правильно. а конструктор не работает, потому что у него нет типизации, типизация происходит в момент исполнения. исправляй руками, будь мужиком :)
|
|||
5
eugenyfs
29.04.15
✎
23:32
|
Ну да придется делать. Спасибо за разъяснение. Буду теперь знать.
|
|||
6
RomaH
naïve
30.04.15
✎
00:08
|
выразить как вроде помогает
|
|||
7
eugenyfs
30.04.15
✎
06:52
|
RomaH - Гениально!
Скромная надпись ВЫРАЗИТЬ(Таблица.Номенклатура КАК Справочник.Номенклатура) как Номенклатура И все видится. Спасибо ребята за ответы. Буду теперь отлаживать запрос. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |