|   |   | 
| 
 | Ошибка "Поле не найдено" в консоли запросов | ☑ | ||
|---|---|---|---|---|
| 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 - Гениально!
 Скромная надпись ВЫРАЗИТЬ(Таблица.Номенклатура КАК Справочник.Номенклатура) как Номенклатура И все видится. Спасибо ребята за ответы. Буду теперь отлаживать запрос. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |