База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Почему в запросе возникает ошибка «Поле не найдено ВТ_Врем.Номенклатура.нсиКодНС
- В этой теме 1 ответ, 2 участника, последнее обновление 20 часов, 11 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
8 сентября 2026 в 16:27 #38610
ВЫБРАТЬ
ТЗ.Спецификация КАК Спецификация,
ТЗ.Номенклатура КАК Номенклатура,
ТЗ.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
ТЗ.Количество КАК Количество,
ТЗ.МаркаСтали КАК МаркаСтали,
ТЗ.НомерГОСТа КАК НомерГОСТа,
ТЗ.Характеристика КАК Характеристика,
ТЗ.СтатьяКалькуляции КАК СтатьяКалькуляции,
ТЗ.ПрименениеМатериалаРедактирование КАК ПрименениеМатериалаРедактирование
ПОМЕСТИТЬ ВТ_Врем
ИЗ
&ТЗ КАК ТЗ
;////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Врем.Спецификация КАК Спецификация,
ВТ_Врем.Номенклатура КАК Номенклатура,
ВТ_Врем.Номенклатура.нсиКодНСИ КАК КодЕСНСИ,
ВТ_Врем.Номенклатура КАК НаименованиеМатериала,
ВТ_Врем.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
ВТ_Врем.Количество КАК Количество,
ВТ_Врем.МаркаСтали КАК МаркаСтали,
ВТ_Врем.НомерГОСТа КАК НомерГОСТа,
ВТ_Врем.Характеристика КАК Характеристика,
ВТ_Врем.СтатьяКалькуляции КАК СтатьяКалькуляции,
ВТ_Врем.ПрименениеМатериалаРедактирование КАК Примечание
ИЗ
ВТ_Врем КАК ВТ_Врем
ИТОГИ ПО
СтатьяКалькуляции{ВнешняяОбработка.QueryWizard.Форма.QueryWizard.Форма(118)}: Ошибка при вызове метода контекста (УстановитьТекстЗапроса): {(20, 23)}: Поле не найдено «ВТ_Врем.Номенклатура.нсиКодНСИ»
ВТ_Врем.Номенклатура.<<?>>нсиКодНСИ КАК КодЕСНСИ, -
8 сентября 2026 в 16:27 #38611
Ошибка «Поле не найдено ВТ_Врем.Номенклатура.нсиКодНСИ» возникает потому, что в таблице значений (ТЗ), которую вы передаете в параметр &ТЗ, поле Номенклатура — это ссылка на справочник, а в запросе вы пытаетесь обратиться к реквизиту справочника (нсиКодНСИ) через точку, что в запросах 1С к ТаблицеЗначений не работает.
В запросах 1С к ТаблицеЗначений нельзя обращаться к реквизитам объектов, которые лежат в колонках типа «Справочник», через точку. Там хранится просто ссылка, а не раскрытый объект.
Чтобы получить реквизит нсиКодНСИ, нужно сделать отдельное соединение с самим справочником Номенклатура.
Правильный вариант — сделать соединение с справочником Номенклатура по ссылке из таблицы значений, например так:
|ВЫБРАТЬ
| ВТ_Врем.Спецификация КАК Спецификация,
| ВТ_Врем.Номенклатура КАК Номенклатура,
| Номенклатура.нсиКодНСИ КАК КодЕСНСИ,
| ВТ_Врем.Номенклатура КАК НаименованиеМатериала,
| ВТ_Врем.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВТ_Врем.Количество КАК Количество,
| ВТ_Врем.МаркаСтали КАК МаркаСтали,
| ВТ_Врем.НомерГОСТа КАК НомерГОСТа,
| ВТ_Врем.Характеристика КАК Характеристика,
| ВТ_Врем.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ВТ_Врем.ПрименениеМатериалаРедактирование КАК Примечание
|ИЗ
| ВТ_Врем КАК ВТ_Врем
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
| ПО ВТ_Врем.Номенклатура = Номенклатура.Ссылка
|ИТОГИ ПО
| ВТ_Врем.СтатьяКалькуляцииОбратите внимание, что ИТОГИ ПО — это устаревшая конструкция, лучше использовать СГРУППИРОВАТЬ ПО и агрегатные функции.
Если хотите получить итог по СтатьяКалькуляции, то запрос должен выглядеть так:
|ВЫБРАТЬ
| ВТ_Врем.СтатьяКалькуляции КАК СтатьяКалькуляции,
| СУММА(ВТ_Врем.Количество) КАК Количество
|ИЗ
| ВТ_Врем КАК ВТ_Врем
|СГРУППИРОВАТЬ ПО
| ВТ_Врем.СтатьяКалькуляцииЕсли нужны остальные поля — добавьте их с агрегатными функциями или в отдельном запросе.
—
Итог: нельзя обращаться к реквизитам справочника через точку в таблице значений, нужно делать соединение с самим справочником.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.