![]() |
Обращение к табличной форме документа Всем привет, возникла такая задача, как через обработку обратиться к табличной части документа. Уже несколько часов не могу понять как это сделать. Пишет или ошибка итерации, или то, что табличная часть не найдена. Есть Документ - ПриходнаяНакладная У него табличная часть - Материалы Получается у меня вот такой код: Выборка = Документы.ПриходнаяНакладная.Выбрать(); Для Каждого ТекущаяСтрока Из Выборка.Материалы Цикл Сообщить(ТекущаяСтрока.Материал) КонецЦикла; При компиляции пишет ошибка итерации. Если я обращаюсь к табличной части как "Объект.Материалы", то пишет Поле "Материалы" не обнаружено. Помогите пожалуйста ^_^ |
У Выборка нет никаких Материады. У Выьорк есть Ссылка, а вот у Ссылка есть Материалы |
[quote=USSR;47579481] У Выборка нет никаких Материады. У Выьорк есть Ссылка, а вот у Ссылка есть Материалы [/quote]ъ Спасибо за совет, сделал как ты сказал те Выборка.Ссылка.Материалы, но теперь выдает ошибку "ЗНАЧЕНИЕ НЕ ЯВЛЯЕТСЯ ЗНАЧЕНИЕМ ОБЪЕКТНОГО ТИПА(МАТЕРИАЛЫ)" |
(2)Код покажите |
а где сам объект? я прошу простить, может не понимаю до конца.... может имеет смысл обратиться к ТЧ с помощью запроса? и в запросе в качестве фильтра нужно будет указать сам документ, табличную часть которого надо достать. а? |
ВЫБРАТЬ ПриходнаяНакладнаяМатериалы.Ссылка КАК Ссылка, ПриходнаяНакладнаяМатериалы.Номенклатура КАК Номенклатура, ПриходнаяНакладнаяМатериалы.Количество КАК Количество ИЗ Документ.ПриходнаяНакладная.Материалы КАК ПриходнаяНакладнаяМатериалы ГДЕ ПриходнаяНакладнаяМатериалы.Ссылка = &Ссылка Запрос.УстановитьПараметр("Ссылка", ПоступлениеСсылка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ..... вот с этой "ПоступлениеСсылка" надо понять. |
Думаю, что дело вовсе не в том, что надо выбирать документы запросом или нет. Можно прекрасно работать и без запроса |
6-USSR >да я не настаиваю именно на запросе. это в качестве альтернативы :) |
Автор не понимает что такое ссылка и что есть объект. Выборка = Документы.ПриходнаяНакладная.Выбрать(); Пока Выборка.Следующий() цикл ДокОбъект = Выборка.Ссылка.ПолучитьОбъект(); Для Каждого Строка Из ДокОбъект.Материалы Цикл Сообщить(Строка.Материал); КонецЦикла; КонецЦикла; на запросы потом переделает, когда будет понимание |
Текущее время: 05:13. Часовой пояс GMT +3. |