//ЭлементыФормы.ОбъектПоиска - Поле Выбора на форме СписокВыбора = ЭлементыФормы.ОбъектПоиска.СписокВыбора; Для Каждого Документ Из Метаданные.Документы Цикл //Проверим, есть ли права на просмотр? Да- добавляем, Нет - пропускаем Если ПравоДоступа("Просмотр", Документ) Тогда ИмяДокумента = Документ.Синоним; Если ИмяДокумента = "" Тогда ИмяДокумента = Документ.Имя; КонецЕсли; Структура = Новый Структура; Структура.Вставить("Тип", "Документ"); Структура.Вставить("Объект", Документ); СписокВыбора.Добавить(Структура, ИмяДокумента, ,ЭлементыФормы.КартинкаДокумента.Картинка); КонецЕсли; КонецЦикла;
//Выведем список всех документов в окно сообщений Для Индекс=1 По Метаданные.Документ() Цикл Значение = Метаданные.Документ(Индекс).Идентификатор; Представление = Метаданные.Документ(Индекс).Представление(); Комментарий = Метаданные.Документ(Индекс).Комментарий; Сообщить(значение+" "+Представление+" "+Комментарий); КонецЦикла; // Выведем Список документов, ФормРегистр - Поле со списком на форме ФормРегистр.УдалитьВсе(); Для ъ=1 По Метаданные.Регистр() Цикл ФормРегистр.ДобавитьЗначение(Метаданные.Регистр(ъ).Идентификатор, Метаданные.Регистр(ъ).Представление()); КонецЦикла; Если ФормРегистр.РазмерСписка()>0 Тогда ФормРегистр.ТекущаяСтрока(1); КонецЕсли; //функция создаёт список реквизитов документа Процедура гСписокРеквизитовДокумента(Список,Документ,ФлагПредставление=0) Экспорт //шапка Для i=1 По Метаданные.Документ(Документ).РеквизитШапки() Цикл Ж=Метаданные.Документ(Документ).РеквизитШапки(i); Если ФлагПредставление=0 Тогда Представление=Ж.Идентификатор; Иначе Представление=Ж.Представление(); КонецЕсли; Список.ДобавитьЗначение(Ж.Идентификатор,"Ш: "+Представление); КонецЦикла; //многострочка Для i=1 По Метаданные.Документ(Документ).РеквизитТабличнойЧасти() Цикл Ж=Метаданные.Документ(Документ).РеквизитТабличнойЧасти(i); Если ФлагПредставление=0 Тогда Представление=Ж.Идентификатор; Иначе Представление=Ж.Представление(); КонецЕсли; Список.ДобавитьЗначение(Ж.Идентификатор,"Т: "+Представление); КонецЦикла; //общий Для i=1 По Метаданные.ОбщийРеквизитДокумента() Цикл Ж=Метаданные.ОбщийРеквизитДокумента(i); Если ФлагПредставление=0 Тогда Представление=Ж.Идентификатор; Иначе Представление=Ж.Представление(); КонецЕсли; Список.ДобавитьЗначение(Ж.Идентификатор,"О: "+Представление); КонецЦикла; КонецПроцедуры
&НаКлиенте Процедура ПоКнопкеЧтениеИзМетаданных(Команда) // Вставить содержимое обработчика. Перем СписокСправочников; СписокСправочников = Новый СписокЗначений; СписокСправочников = СправочникиИзМетаданных(); Для Сч = 0 По СписокСправочников.Количество() - 1 Цикл Сообщить(СписокСправочников.Получить(Сч)) КонецЦикла; КонецПроцедуры &НаСервере Функция СправочникиИзМетаданных() Перем СписокСправочников, СправочникИзМетаданных; СписокСправочников = Новый СписокЗначений; Для Каждого СправочникИзМетаданных Из Метаданные.Справочники Цикл СписокСправочников.Добавить(СправочникИзМетаданных.Имя); КонецЦикла; Возврат СписокСправочников; КонецФункции
//ЭлементыФормы.ОбъектПоиска - Поле Выбора на форме СписокВыбора = ЭлементыФормы.ОбъектПоиска.СписокВыбора; Для Каждого Справочник Из Метаданные.Справочники Цикл //Проверим, есть ли права на просмотр? Да- добавляем, Нет - пропускаем Если ПравоДоступа("Просмотр", Справочник) Тогда ИмяСправочника = Справочник.Синоним; Если ИмяСправочника = "" Тогда ИмяСправочника = Справочник.Имя; КонецЕсли; Структура = Новый Структура; Структура.Вставить("Тип", "Справочник"); Структура.Вставить("Объект", Справочник); СписокВыбора.Добавить(Структура, ИмяСправочника, ,ЭлементыФормы.КартинкаСправочника.Картинка); КонецЕсли; КонецЦикла;
//Выведем список всех справочников в окно сообщений Для Индекс=1 По Метаданные.Справочник() Цикл Значение = Метаданные.Справочник(Индекс).Идентификатор; Представление = Метаданные.Справочник(Индекс).Представление(); Комментарий = Метаданные.Справочник(Индекс).Комментарий; Сообщить(Значение+" "+Представление+" "+Комментарий); КонецЦикла;