0
- 05.04.2020 - 16:23
|
Всем привет, возникла такая задача, как через обработку обратиться к табличной части документа. Уже несколько часов не могу понять как это сделать. Пишет или ошибка итерации, или то, что табличная часть не найдена. Есть Документ - ПриходнаяНакладная У него табличная часть - Материалы Получается у меня вот такой код: Выборка = Документы.ПриходнаяНакладная.Выбрать(); Для Каждого ТекущаяСтрока Из Выборка.Материалы Цикл Сообщить(ТекущаяСтрока.Материал) КонецЦикла; При компиляции пишет ошибка итерации. Если я обращаюсь к табличной части как "Объект.Материалы", то пишет Поле "Материалы" не обнаружено. Помогите пожалуйста ^_^ | | |
1
- 05.04.2020 - 17:25
| У Выборка нет никаких Материады. У Выьорк есть Ссылка, а вот у Ссылка есть Материалы | | |
2
- 05.04.2020 - 17:31
| Цитата:
Спасибо за совет, сделал как ты сказал те Выборка.Ссылка.Материалы, но теперь выдает ошибку "ЗНАЧЕНИЕ НЕ ЯВЛЯЕТСЯ ЗНАЧЕНИЕМ ОБЪЕКТНОГО ТИПА(МАТЕРИАЛЫ)" | | |
3
- 05.04.2020 - 19:23
| (2)Код покажите | | |
4
- 06.04.2020 - 12:09
|
а где сам объект? я прошу простить, может не понимаю до конца.... может имеет смысл обратиться к ТЧ с помощью запроса? и в запросе в качестве фильтра нужно будет указать сам документ, табличную часть которого надо достать. а? | | |
5
- 06.04.2020 - 13:11
|
ВЫБРАТЬ ПриходнаяНакладнаяМатериалы.Ссылка КАК Ссылка, ПриходнаяНакладнаяМатериалы.Номенклатура КАК Номенклатура, ПриходнаяНакладнаяМатериалы.Количество КАК Количество ИЗ Документ.ПриходнаяНакладная.Материалы КАК ПриходнаяНакладнаяМатериалы ГДЕ ПриходнаяНакладнаяМатериалы.Ссылка = &Ссылка Запрос.УстановитьПараметр("Ссылка", ПоступлениеСсылка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ..... вот с этой "ПоступлениеСсылка" надо понять. | | |
6
- 06.04.2020 - 16:59
| Думаю, что дело вовсе не в том, что надо выбирать документы запросом или нет. Можно прекрасно работать и без запроса | | |
7
- 06.04.2020 - 18:10
|
6-USSR >да я не настаиваю именно на запросе. это в качестве альтернативы :) | | |
8
- 06.04.2020 - 20:45
|
Автор не понимает что такое ссылка и что есть объект. Выборка = Документы.ПриходнаяНакладная.Выбрать(); Пока Выборка.Следующий() цикл ДокОбъект = Выборка.Ссылка.ПолучитьОбъект(); Для Каждого Строка Из ДокОбъект.Материалы Цикл Сообщить(Строка.Материал); КонецЦикла; КонецЦикла; на запросы потом переделает, когда будет понимание | |
| Интернет-форум Краснодарского края и Краснодара |