Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

обращение к реквизитам таб частей

обращение к реквизитам таб частей
Я
   Droning
 
11.05.18 - 15:50
Для каждого Реквизит из Источник.Метаданные().ТабличныеЧасти.Реквизиты Цикл
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Имя реквизита табличной части: " + Реквизит.Имя + ".";
        Сообщение.Сообщить();
        
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Тип реквизита табличной части: " + Реквизит.Тип + ".";
        Сообщение.Сообщить();
        
    КонецЦикла;





поле объекта не обнаружено Реквизит


как правильно обратиться к реквизитам табличных частей?
 
 
   Droning
 
1 - 11.05.18 - 15:50
РеквизитТабличнойЧасти пробовал. может есть где статейка или инфа какая-то по правильности написания обращений к метаданным?
   lodger
 
2 - 11.05.18 - 15:53
(0) в Источник.Метаданные().ТабличныеЧасти лежит КоллекцияОбъектовМетаданных.
из них тоже надо выбрать в какой из них надо перебирать реквизиты.
   spacehelp
 
3 - 11.05.18 - 15:56
Для каждого Реквизит из Источник.Метаданные().ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты Цикл
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Имя реквизита табличной части: " + Реквизит.Имя + ".";
        Сообщение.Сообщить();
        
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Тип реквизита табличной части: " + Реквизит.Тип + ".";
        Сообщение.Сообщить();
        
    КонецЦикла;


где ТабличнаяЧасть1 - имя конуретной табличной части
   Droning
 
4 - 11.05.18 - 15:56
lodger
тоесть должно быть Источник.Метаданные().ТабличныеЧасти.Метаданные().Реквизиты ?????? извиняюсь, если хрень написал)
   Droning
 
5 - 11.05.18 - 15:57
spacehelp а если для всех табличных частей документа?
   xaozai
 
6 - 11.05.18 - 15:57
(0) Должен быть вложенный цикл по реквизитам.
Т.е., первый цикл перебирает ТЧ, второй реквизиты ТЧ.
   spacehelp
 
7 - 11.05.18 - 15:58
(4),
    Для Каждого ТабличнаяЧасть Из Источник.Метаданные().ТабличныеЧасти Цикл
        Сообщить("Табличная часть " + ТабличнаяЧасть.Имя);
        Для Каждого Реквизит Из ТабличнаяЧасть.Реквизиты Цикл
            Сообщить(Реквизит.Имя)
        КонецЦикла;
    КонецЦикла;
   lodger
 
8 - 11.05.18 - 15:59
(4) хрень написал.
у тебя там какие ТЧ есть в наличии?
если одна единственная, тогда по индексу можно 
Источник.Метаданные().ТабличныеЧасти[0].Реквизиты
или Источник.Метаданные().ТабличныеЧасти.Получить(0).Реквизиты

если несколько, тогда надо или узнать индекс (но вдруг его поменяют?) или искать по имени ТЧ.
   xaozai
 
9 - 11.05.18 - 15:59
+(6)
Для каждого ТЧ Из Источник.Метаданные().ТабличныеЧасти Цикл
    Для Каждого Рекв Из ТЧ.Реквизиты Цикл
        ////....

    КонецЦикла;
КонецЦикла;

   Droning
 
10 - 11.05.18 - 15:59
xaozai а можно поподробнее? может пример? или код?
 
 Рекламное место пустует
   Droning
 
11 - 11.05.18 - 16:00
xaozai спасибо, я понимаю, какой должна быть конструкия. у меня проблема с синтаксисом))) я салага еще)
   Droning
 
12 - 11.05.18 - 16:21
ВСЕМ СПАСИБО! заработало.

а по поводу синтаксиса-

В документации по встроенному языку не приводится перечень свойств объектов метаданных и коллекций подчиненных объектов. Для ознакомления со структурой объектов и составом свойств необходимо использовать отчет по конфигурации (в режиме Конфигуратор меню Конфигурация – Отчет по конфигурации). Имена, отображаемые в этом отчете, соответствуют именам свойств и коллекций подчиненных объектов.
   DrWatson
 
13 - 11.05.18 - 16:34
(12) В этом и во многих других случаях помогает Вычислить выражение (Shift-F9) в отладчике. Даже если нет справки вообще, пишешь там Источник.Метаданные() и видишь всё что тебе доступно.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует