|
Доступ к содержимому ТЧ, не зная имен колонок | ☑ | ||
---|---|---|---|---|
0
igel1969
25.01.19
✎
15:14
|
Здравствуйте!
1С 8.2 УТ 10.3 Пишу внешнюю обработку. В ней есть несколько Табличных частей. У каждой ТЧ есть несколько колонок. Названия все разные. Мне нужно все это выгрузить каждую ТЧ в отдельный текстовый файл с разделителями. Писать для каждой ТЧ Текст.ДобавитьСтроку(СокрЛП(ТЧ1.Реквизит1) + ";" + СокрЛП(ТЧ1.Реквизит2) + СокрЛП(ТЧ1.Реквизит2) и т.д.); считаю ниже своего программистского достоинства. Считаю что должна быть возможность написать процедуру, в которую передавать ТЧ, чтобы эта процедура выгружала в текстовый файл ТЧ любой структуры. А свойства "Колонки" у ТЧ нет. И доступа к ячейкам по индексу тоже нет. Если только выгрузить на форму в Табличное поле и брать оттуда? Просто нет необходимости эти данные визуально отображать. Не подскажете - можно как-то выкрутиться? |
|||
1
Mort
25.01.19
✎
15:18
|
ВнешняяОбработка.Метаданные()
|
|||
2
igel1969
25.01.19
✎
15:26
|
(1) Хм, во-первых я прошу прощения, что неправильно написал - у меня не обработка, а отчет внешний.
Далее, я пытался писать Отчет.Метаданные(); ЭтотОтчет.Метаданные(); Обработка.Метаданные(); ЭтаОбработка.Метаданные(); ИмяОтчета.Метаданные(); Все-время ругается на первое слово - нет такой переменной! |
|||
3
ДенисЧ
25.01.19
✎
15:26
|
тз = ТЧ.ВыгрузитьКолонки();
и вперёд |
|||
4
igel1969
25.01.19
✎
15:27
|
(3) Это я в хелпе легко нашел. А что дальше - как, зная имя колонки, получить содержимое?
|
|||
5
igel1969
25.01.19
✎
15:28
|
(1)
ВнешняяОбработка.Метаданные() ВнешнийОтчет.Метаданные() тоже пробовал |
|||
6
Вафель
25.01.19
✎
15:29
|
ТЧ.Выгрузить и это уже таблица значений, а у нее есть колонки
|
|||
7
igel1969
25.01.19
✎
15:29
|
(6) попробую
|
|||
8
Ёпрст
25.01.19
✎
15:30
|
["тут имя колонки"]
|
|||
9
igel1969
25.01.19
✎
15:50
|
(8) Да, я пошел по Вашему пути, большое спасибо!
Хотя, возможно и путь (6) сработал бы. Прототип процедуры выглядит так: Процедура ВыгрузитьВФайл(ТЧ) ТЗ = ТЧ.ВыгрузитьКолонки(); Предупреждение(ТЗ.Колонки.Количество()); Для каждого Стр Из ТЧ Цикл Для каждого Кол из ТЗ.Колонки Цикл Сообщить(Стр[Кол.Имя]); КонецЦикла; КонецЦикла; КонецПроцедуры Просто дальше вместо Сообщить я вставлю то, что мне надо. |
|||
10
igel1969
25.01.19
✎
15:51
|
(8) в смысле - все работает в моей процедуре
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |