9°C
завтра: 17°C
Погода в Перми
9°C
вечером10°C
ночью7°C
завтра17°C
Подробно
 94,32
+0.2500
Курс USD ЦБ РФна 18 апреля
94,3242
+0.2500
 100,28
+0.3446
Курс EUR ЦБ РФна 18 апреля
100,2787
+0.3446
PRM.Форум /Компьютеры Интернет Связь / Программирование /

Программирование в 1С: Метаданные...

  • Вопрос такой: Как в конкретном документе получить список полей этого документа через объект "Метаданные"?

    Например, если я хочу получить список документов, определенных в данной конфигурации, то просто пишу цикл:

    Для Счетчик = 1 По Метаданные.Документ() Цикл
    Идент = Метаданные.Документ(Счетчик).Идентификатор;
    Предст = Метаданные.Документ(Счетчик).Представление();
    СписокЗнач.ДобавитьЗначение(Идент, Предст);
    КонецЦикла;

    И в СпискеЗначений имею весь список документов, так вот хотелось бы сделать то же самое, но только уже в конкретном документе вывести весь список полей (Номер, Дата, Цена, и т.д.)... Можно, конечно, и явно обращаться, но подразумевается, что не известно какая конфигурация и какой документ выберет пользователь...

    Помогите советом или подскажите на что нужно обратить внимание....

  • Я напримел сделал это так...

    МетаДокумент=Метаданные.Документ(Док.Вид());
    ........
    Для Номер=1 по Метаданные.ОбщийРеквизитДокумента() Цикл
    МетаРеквизит=Метаданные.ОбщийРеквизитДокумента(Номер);
    Значение=Док.ПолучитьАтрибут(МетаРеквизит.Идентификатор);
    .....
    КонецЦикла;
    Для Номер=1 по МетаДокумент.РеквизитШапки() Цикл
    МетаРеквизит=МетаДокумент.РеквизитШапки(Номер);
    Значение=Док.ПолучитьАтрибут(МетаРеквизит.Идентификатор);
    .....
    КонецЦикла;
    Пока Док.ПолучитьСтроку()=1 Цикл
    Для Номер=1 по МетаДокумент.РеквизитТабличнойЧасти() Цикл
    МетаРеквизит=МетаДокумент.РеквизитТабличнойЧасти(Номер);
    Значение=Док.ПолучитьАтрибут(МетаРеквизит.Идентификатор);
    КонецЦикла;
    КонецЦикла;

    Слово не воробей, с воза упало и топором не вырубишь...

Записей на странице:

Перейти в форум

Модератор: