−6°C
завтра: 4°C
Погода в Перми
−6°C
утром−7°C
днем−2°C
завтра4°C
Подробно
 63,95
−0.0602
Курс USD ЦБ РФна 19 октября
63,9542
−0.0602
 71,13
+0.2276
Курс EUR ЦБ РФна 19 октября
71,1299
+0.2276
PRM.Форум /Компьютеры Интернет Связь / Программирование /

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

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

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

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

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

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

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

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

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

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

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

Модератор: