Значение табличной части документа, для всех видов документов

1. user1091067 15.07.20 17:45 Сейчас в теме
Здравствуйте, не могу понять как вывести все значения всех реквизитов. С реквизитами документа все работает, а с табличной частей нет. Для примера использую документ реализация товаров и услуг.Вопрос как можно вывести все табличные части построчно. Примерно так Сообщить(ТекущийТовар.Наименование +" "+ТекущийТовар.Цена +" "+ ТекущийТовар.Валюта) для табличной части Товары.

	ТД = Объект.Документ;
	
	Для Каждого Реквизит Из Объект.Документ.Метаданные().Реквизиты Цикл
        Сообщить("Реквизит " + Реквизит.Имя + " значение " + Объект.Документ[Реквизит.Имя]);
    КонецЦикла;
	
	Сообщить(Объект.Документ.УникальныйИдентификатор());
	ТЧ = Объект.Документ.Метаданные().ТабличныеЧасти;
	Для Каждого ТабличнаяЧасть Из ТЧ Цикл
		Сообщить(ТабличнаяЧасть);
		Сообщить(ТабличнаяЧасть.Имя);
		Для Каждого РеквизитТЧ Из ТабличнаяЧасть.Реквизиты Цикл
			Сообщить("  -  " + РеквизитТЧ.Имя + "  " + РеквизитТЧ.Тип);	
			//Сообщить(Объект.Документ.Метаданные().ТабличныеЧасти[ТабличнаяЧасть.Имя].РеквизитТЧ.Имя);	- ошибка 
		КонецЦикла;
	КонецЦикла;
	
	ДокументОбъект = РеквизитФормыВЗначение("Объект");
	ДокументОбъект.ВыгрузитьОбъект();
	

	
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 15.07.20 18:41 Сейчас в теме
вот зачем вам это? что бы просто посмотреть?
так для этого консоль запросов есть, там в конструкторе или по "*" одним запросом все данные и можно получить, так еще там и удобнее, все аккуратненько в табличке будет.


а так по своему вы такую текстовую кашу получите, все вкривь и вкось... только для мазахистов
4. user1091067 15.07.20 18:57 Сейчас в теме
(2) В задании сказано что нужно воспользоваться метаданными, эта обработка нужна для универсальной выгрузки любого документа, Название колонок или же реквизиты ТЧ, Сообщить могу ,а вот сами значения вывести не могу (
6. soft_wind 15.07.20 19:04 Сейчас в теме
(4)
В задании сказано что нужно воспользоваться метаданными, эта обработка нужна для универсальной выгрузки любого документа,


а для этого есть ХДТО, 3-4 команды
и любой объект выгружается в файл ХМЛ, со всеми полями и ТЧ
7. user1091067 15.07.20 19:16 Сейчас в теме
(6) мне просто нужно понять, как можно вывести строку из табличной части Товары Реализации Товаров и Услуг
Прикрепленные файлы:
8. soft_wind 15.07.20 19:32 Сейчас в теме
(7) ааа! а вам пример, шаблон, результирующего файла дали?
надо ли выводить наименование Реквизита, наименования ТЧ
как разделять значения, черз запятую, или через пробел, как тогда будете отличать разделение между значения если такое получится
Диван модерн раскладной штука 1 10 000 1 300 ...
или все в одну строчку, без разделителей

ну и задачки дают без всякой практической ценности ...
9. user1091067 15.07.20 19:50 Сейчас в теме
(8) мне нужно самому придумать свой текстовый формат выгрузки, который бы обеспечивал загрузка и восстановление документа. Я планировал вывести через запятую. Мне просто нужно понять как можно вывести хоть что-то из ТЧ, кроме реквизитов. А потом буду уже дальше голову ломать как это сделать ))
3. VictorRGB2 13 15.07.20 18:51 Сейчас в теме
вот так

лДок = Документы.<ИмяДокумента>.НайтиПоНомеру(<ДействительныйНомерДокумента>);

Для Каждого реквизит Из лДок.Метаданные().Реквизиты Цикл
        Сообщить(реквизит.Имя);
КонецЦикла;

тч = лДок.Метаданные().ТабличныеЧасти;
	
Для Каждого таблчасть Из тч Цикл
	Для Каждого реквизитТЧ Из таблчасть.Реквизиты Цикл
		сообщить(реквизитТЧ.Имя);
	КонецЦикла;
КонецЦикла;
Показать
5. user1091067 15.07.20 19:03 Сейчас в теме
(3)
лДок = Документы..НайтиПоНомеру();

Для Каждого реквизит Из лДок.Метаданные().Реквизиты Цикл
Сообщить(реквизит.Имя);
КонецЦикла;

тч = лДок.Метаданные().ТабличныеЧасти;

Для Каждого таблчасть Из тч Цикл
Для Каждого реквизитТЧ Из таблчасть.Реквизиты Цикл
сообщить(реквизитТЧ.Имя);
КонецЦикла;
КонецЦикла;
Показать


Мне нужно чтобы выводилось значение ТЧ, те название кол-во и цена товара и тд
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот