5°C
завтра: 9°C
Погода в Перми
5°C
утром6°C
днем10°C
завтра9°C
Подробно
 94,07
+0.4851
Курс USD ЦБ РФна 17 апреля
94,0742
+0.4851
 99,93
+0.1407
Курс EUR ЦБ РФна 17 апреля
99,9341
+0.1407
PRM.Форум /Компьютеры Интернет Связь / Программирование /

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

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

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

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

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

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

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

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

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

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

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

Модератор: