Вывод в поле Наименование справочника Штатное список значений из справочника Подразделения? Есть два справочника Штатное и Подразделения. В справочнике Штатное есть автоматически генерируемое поле Наименование. Как программно сделать так чтобы в поле Наименование справочника Штатное выводились списком значений из поля Наименование справочника Подразделения? Я только начал изучать программирование в 1С. Вариант с добавлением в код модуля списка выбора я уже реализовал. Но сами понимаете что это не то. Посмотрите код. Может у кого то решение есть лучше.
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.Наименование.РежимВыбораИзСписка = Истина;
Элементы.Наименование.СписокВыбора.Добавить("Администрация");
Элементы.Наименование.СписокВыбора.Добавить("Бухгалтерия");
Элементы.Наименование.СписокВыбора.Добавить("Отдел ИТ");
КонецПроцедуры
&НаКлиенте
Процедура ТЧШтатноеЕдиницыПриИзменении(Элемент)
РассчитатьСуммуТЧШтатное();
КонецПроцедуры
&НаКлиенте
Процедура ТЧШтатноеОкладПриИзменении(Элемент)
РассчитатьСуммуТЧШтатное();
КонецПроцедуры
&НаКлиенте
Процедура ТЧШтатноеСуммаПриИзменении(Элемент)
Стр = Элементы.ТЧШтатное.ТекущиеДанные;
Если Стр.Единицы=0 И Стр.Оклад=0 Тогда
ИначеЕсли Стр.Единицы=0 Тогда
Стр.Единицы=Стр.Сумма / Стр.Оклад;
ИначеЕсли Стр.Оклад=0 Тогда
Стр.Оклад=Стр.Сумма / Стр.Единицы;
Иначе
Стр.Оклад=Стр.Сумма / Стр.Единицы;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура РассчитатьСуммуТЧШтатное()
Стр = Элементы.ТЧШтатное.ТекущиеДанные;
Стр.Сумма = Стр.Единицы * Стр.Оклад;
КонецПроцедуры
&НаКлиенте
Процедура ЕдиницыИтогПриИзменении(Элемент)
Стр = Элементы.Штатное.ТекущиеДанные;
Стр.ЕдиницыИтог = Стр.Единицы + 1;
КонецПроцедуры
&НаКлиенте
Процедура СуммаИтогПриИзменении(Элемент)
Стр = Элементы.Штатное.ТекущиеДанные;
Стр.СуммаИтог = Стр.Сумма + 1;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Объект.ЕдиницыИтог = Объект.ТЧШтатное.Итог("Единицы");
Объект.СуммаИтог = Объект.ТЧШтатное.Итог("Сумма");
КонецПроцедуры
Категория:
Справочники Динамический отчет на СКД с разными вариантами На днях делал несколько однотипных отчетов на СКД.
Общий принцип: формируются все варианты отчета, указанные в настройках схемы и каждый вариант выводится на отдельной вкладке.
Потом возникла мысль попробовать объединить все схемы в один отчет, чтобы не плодить лишних объектов в конфигурации. При этом количество вариантов в этих схемах заранее неизвестно. Ok, challenge accepted.
В тестовой конфигурации создаю для отчета две схемы компоновки, "Склад" и "Заявки".
Запросы наборов данных приводить не буду, для каждой схемы в настройках добавляю несколько вариантов отчетов.
Теперь переходим к созданию формы. Практически все реквизиты формы будут создаваться при выборе необходимого макета отчета.
Код 1C v 8.2 УП &НаСервере
Процедура СоздатьПереченьОтчетов()
Для Каждого Макет Из РеквизитФормыВЗначение( "Отчет" ) . Метаданные( ) . Макеты Цикл
Элементы. МакетОтчета. СписокВыбора. Добавить( Макет. Имя, Макет. Синоним) ;
КонецЦикла ;
КонецПроцедуры
&НаСервере
Процедура ОбработатьВыборМакета()
Макет = РеквизитФормыВЗначение( "Отчет" ) . ПолучитьМакет( МакетОтчета) ;
мУдалить = ? ( ПустаяСтрока( РеквизитыКУдалению) , Новый Массив, ПолучитьИзВременногоХранилища( РеквизитыКУдалению) ) ;
мДобавить = Новый Массив;
кУдалению = Новый Массив;
Для Каждого Вариант Из Макет. ВариантыНастроек Цикл
ИмяРеквизита = "ТабДок_" + Вариант. Имя;
тРеквизит = Новый РеквизитФормы( ИмяРеквизита, Новый ОписаниеТипов( "ТабличныйДокумент" ) ) ;
мДобавить. Добавить( тРеквизит) ;
кУдалению. Добавить( ИмяРеквизита) ;
КонецЦикла ;
ИзменитьРеквизиты( мДобавить, мУдалить) ;
Пока Элементы. СтраницыОтчета. ПодчиненныеЭлементы. Количество( ) Цикл
Элементы. Удалить( Элементы. СтраницыОтчета. ПодчиненныеЭлементы[0 ]) ;
КонецЦикла ;
Для Каждого Вариант Из Макет. ВариантыНастроек Цикл
Страница = Элементы. Добавить( "Страница_" + Вариант. Имя, Тип( "ГруппаФормы" ) , Элементы. СтраницыОтчета) ;
Страница. Вид = ВидГруппыФормы. Страница;
Страница. Заголовок = Вариант. Представление;
ИмяРеквизита = "ТабДок_" + Вариант. Имя;
ТабДок = Элементы. Добавить( ИмяРеквизита, Тип( "ПолеФормы" ) , Страница) ;
ТабДок. Вид = ВидПоляФормы. ПолеТабличногоДокумента;
ТабДок. ПутьКДанным = ИмяРеквизита;
ТабДок. ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы. Нет;
ЭтаФорма[ИмяРеквизита]. Очистить( ) ;
КонецЦикла ;
РеквизитыКУдалению = ПоместитьВоВременноеХранилище( кУдалению, УникальныйИдентификатор) ;
КонецПроцедуры
&НаСервере
Процедура СформироватьОтчеты()
Схема = РеквизитФормыВЗначение( "Отчет" ) . ПолучитьМакет( МакетОтчета) ;
Для Каждого Вариант Из Схема. ВариантыНастроек Цикл
Отчет. КомпоновщикНастроек. ЗагрузитьНастройки( Вариант. Настройки) ;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета. Выполнить( Схема, Отчет. КомпоновщикНастроек. ПолучитьНастройки( ) ) ;
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки. Инициализировать( Макет) ;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода. УстановитьДокумент( ЭтаФорма["ТабДок_" + Вариант. Имя]) ;
ПроцессорВывода. Вывести( ПроцессорКомпоновки) ;
КонецЦикла ;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СоздатьПереченьОтчетов( ) ;
КонецПроцедуры
&НаКлиенте
Процедура МакетОтчетаПриИзменении(Элемент)
ОбработатьВыборМакета( ) ;
КонецПроцедуры
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьОтчеты( ) ;
КонецПроцедуры
Смотрим, что получилось.
Выгрузка базы 1Cv8skd.rar
Источник
Категория:
Схема Компоновки Данных Добавление в список выбора листов excel-файла с возможностью последующего к ним обращения
Код 1C v 8.х
Процедура ЗаполнитьЛисты()
ЭлементыФормы. Листы. СписокВыбора. Очистить( ) ;
Таблица = ПолучитьCOMОбъект( Файл) ;
Для Н = 1 По Таблица. Sheets. Count Цикл
ТекущийЛист = Строка( Таблица. Sheets( Н) . Index) + ". " + Таблица. Sheets( Н) . Name;
ЭлементыФормы. Листы. СписокВыбора. Добавить( ТекущийЛист) ;
КонецЦикла ;
ЭлементыФормы. Листы. Значение = ТекущийЛист;
КонецПроцедуры
Процедура КнопкаВыполнитьНажатие(Кнопка)
Если ЭлементыФормы. Листы. Значение = "" Тогда
Предупреждение( "Выберите лист" , 5 ) ;
Возврат ;
КонецЕсли ;
Таблица = ПолучитьCOMОбъект( Файл) ;
Индекс = Число( Сред( ЭлементыФормы. Листы. Значение, 1 , Найти( ЭлементыФормы. Листы. Значение, ". " ) - 1 ) ) ;
Лист = Таблица. Sheets( Индекс) ;
Строка = 1 ;
Столбец = 4 ;
КодНоменклатуры = Лист. Cells( Строка, Столбец) . Value) ;
Номенклатура = Лист. Cells( Строка, Столбец + 1 ) . Text) ;
КонецПроцедуры
Категория:
Работа с Microsoft Office и OpenOffice Поле выбора ~ Как заполнить список выбора элемента формы? Код 1C v 8.х
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Организации.Ссылка,
| Организации.Наименование КАК Наименование
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| Организации.ГоловнаяОрганизация = &ПустаяОрганизация
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Организации.ГоловнаяОрганизация,
| Организации.ГоловнаяОрганизация.Наименование
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| Организации.ГоловнаяОрганизация <> &ПустаяОрганизация
|
|УПОРЯДОЧИТЬ ПО
| Наименование" ) ;
Запрос. УстановитьПараметр( "ПустаяОрганизация" , Справочники. Организации. ПустаяСсылка( ) ) ;
СписокОрганизаций = Новый СписокЗначений;
Выборка = Запрос. Выполнить( ) . Выбрать( ) ;
Пока Выборка. Следующий( ) Цикл
СписокОрганизаций. Добавить( Выборка. Ссылка, Выборка. Наименование) ;
КонецЦикла ;
СписокОрганизаций. Вставить( 0 , Справочники. Организации. ПустаяСсылка( ) , "По всем сотрудникам" ) ;
ЭлементыФормы. ОтборПоОрганизации. СписокВыбора = СписокОрганизаций;
ЭлементыФормы. ОтборПоОрганизации. Значение = ЭлементыФормы. ОтборПоОрганизации. СписокВыбора. Получить( 0 ) . Значение;
Посмотрите также пример:
Загрузка значений в элемент список значений на форме Категория:
Работа с Формой (Диалог) и её элементами Битая ссылка, <Объект не найден>, Уникальный Идентификатор, GUID Когда кто-то удаляет данные из базы без проверки ссылок на эти объекты, то везде где этот объект использовался появляется сообщение вида: <Объект не найден> (84:bf5600145e3710ab11dda4c605dbe824) .
В данной статье я опишу пример быстрого восстановления данных.
Для пользователя:
Скачиваете эту обработку восстановления объектов по GUID :
Для 1С 8.1:
здесь или
Скачивать файлы может только зарегистрированный пользователь!
Для 1С 8.2:
Скачивать файлы может только зарегистрированный пользователь!
!!! Новая Версия!!! 8.2 и 8.3 -
Скачивать файлы может только зарегистрированный пользователь! Подробное описание:
Объект не найден в 1С или про Битые ссылки 1С
и открываете ее в программе:
1. Копируем фразу <Объект не найден... и вставляем в поле Объект не найден, жмем на кнопку GUID -> и получаем 05dbe824-a4c6-11dd-bf56-00145e3710ab
2. Если Вы знаете что удалили, то можете сразу нажать кнопку Создать Объект Из GUID - Пункт 4.
3. Если Вы не знаете что удалили, тогда вам нужно поднять архивную копию базы, открыть там обработку и вставить полученный GUID в поле GUID.
далее нажать Ссылку -> и в правом поле отобразится необходимый Вам объект(в моем случае Попов Роман Владимирович).
Открыв его, узнаем что это справочник Сотрудники и всю содержащуюся в справочнике информацию. Возвращаемся в базу, где необходимо восстановить объект и жмем кнопку Создать Объект Из GUID
4. Из открывшегося списка выбираем Справочник Сотрудники, в открывшейся форме заполняем все поля данными из архивной базы и жмем OK. Все, данный объект восстановлен.
Для быстрого поиска всех <Объект не найден> используйте
Поиск в базе битых ссылок - "объект не найден"
Для программиста:
Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х ГУИДССЫЛКИ = СсылкаНаОбъект. УникальныйИдентификатор( ) ;
Для того чтобы преобразовать <Объект не найден> (84:bf5600145e3710ab11dda4c605dbe824) в УникальныйИдентификатор (GUID)
Код 1C v 8.х
ГУИДУдОбъктаСтр = СтрЗаменить( ГУИДУдОбъкта, "<Объект не найден> (" , "" ) ;
ГУИДУдОбъктаСтр = СтрЗаменить( ГУИДУдОбъктаСтр, ")" , "" ) ;
ГУИДУдОбъктаСтр = СтрЗаменить( ГУИДУдОбъктаСтр, "0x" , "" ) ;
ГУИДУдОбъктаСтр = Сред( ГУИДУдОбъктаСтр, Найти( ГУИДУдОбъктаСтр, ":" ) + 1 , СтрДлина( ГУИДУдОбъктаСтр) ) ;
ГУИД = Сред( ГУИДУдОбъктаСтр, 25 , 8 ) + "-" + Сред( ГУИДУдОбъктаСтр, 21 , 4 ) + "-" + Сред( ГУИДУдОбъктаСтр, 17 , 4 ) + "-" + Сред( ГУИДУдОбъктаСтр, 1 , 4 ) + "-" + Сред( ГУИДУдОбъктаСтр, 5 , 12 ) ;
Для получения ссылки по уникальному идентификатору, используйте код:
Код 1C v 8.х
УникальныйИдентификатор = Новый УникальныйИдентификатор( ГУИД)
Если ПолучитьСсылкуНоМенеджеруОбъекта( Справочники, УникальныйИдентификатор) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта( Документы, УникальныйИдентификатор) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта( ПланыВидовХарактеристик, УникальныйИдентификатор) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта( ПланыСчетов, УникальныйИдентификатор) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта( ПланыОбмена, УникальныйИдентификатор) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта( БизнесПроцессы, УникальныйИдентификатор) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта( Задачи, УникальныйИдентификатор) Тогда
КонецЕсли ;
Функция ПолучитьСсылкуНоМенеджеруОбъекта(ОбъектыМенеджер,УникальныйИдентификатор)
Для Каждого Менеджер Из ОбъектыМенеджер Цикл
СсылкаНаОбъектГуид = Менеджер. ПолучитьСсылку( УникальныйИдентификатор) ;
Если СсылкаНаОбъектГуид. ПолучитьОбъект( ) < > Неопределено Тогда
Возврат Истина ;
КонецЕсли ;
КонецЦикла ;
Возврат Ложь ;
КонецФункции
Создать объект документ или справочник и установить ему свой Уникальный идентификатор
Код 1C v 8.х
Попытка
УникальныйИд = Новый УникальныйИдентификатор( ТекGUID) ;
Исключение
Возврат ;
КонецПопытки ;
КартинкаСпр= БиблиотекаКартинок. Справочник;
КартинкаДок= БиблиотекаКартинок. Документ;
СписокВыбора = Новый СписокЗначений;
СписокВыбора. Добавить( null , "СПРАВОЧНИКИ" ) ;
Для каждого ЭлементМетаданных Из Метаданные. Справочники Цикл
Структурка= Новый Структура;
Структурка. Вставить( "Имя" , ЭлементМетаданных. Имя) ;
Структурка. Вставить( "Тип" , 1 ) ;
СписокВыбора. Добавить( Структурка, ЭлементМетаданных. Синоним, , КартинкаСпр) ;
КонецЦикла ;
СписокВыбора. Добавить( null , "ДОКУМЕНТЫ" ) ;
Для каждого ЭлементМетаданных Из Метаданные. Документы Цикл
Структурка= Новый Структура;
Структурка. Вставить( "Имя" , ЭлементМетаданных. Имя) ;
Структурка. Вставить( "Тип" , 2 ) ;
СписокВыбора. Добавить( Структурка, ЭлементМетаданных. Синоним, , КартинкаДок) ;
КонецЦикла ;
Результат= СписокВыбора. ВыбратьЭлемент( "Выберите тип ссылки" ) ;
Если Результат= Неопределено Тогда
Возврат ;
КонецЕсли ;
Структурка= Результат. Значение;
Если Структурка= null Тогда
Возврат ;
КонецЕсли ;
НовыйОбъект= Неопределено ;
Если Структурка. Тип= 1 Тогда
Объект= Справочники[Структурка. Имя]. СоздатьЭлемент( ) ;
Объект. ОбменДанными. Загрузка= Истина ;
Объект. УстановитьСсылкуНового( Справочники[Структурка. Имя]. ПолучитьСсылку( УникальныйИд) ) ;
Иначе
Объект= Документы[Структурка. Имя]. СоздатьДокумент( ) ;
Объект. ОбменДанными. Загрузка= Истина ;
Объект. УстановитьСсылкуНового( Документы[Структурка. Имя]. ПолучитьСсылку( УникальныйИд) ) ;
КонецЕсли ;
Форма= Объект. ПолучитьФорму( ) ;
Форма. Открыть( ) ;
Для 1С 7.7 смотрите:
Технология восстановления удаленных объектов или элементов в 1С 7.7
еще можно получить ИдентификаторДокумента при OLE доступе:
Код 1C v 7.x Если Док_Источник. ВыбратьДокументы( ВыбНачПериода, ВыбКонПериода) = 1 Тогда
Пока Док_Источник. ПолучитьДокумент( ) = 1 Цикл
Объект = БазаОле. ЗначениеВстрокуВнутр( Док_Источник. ТекущийДокумент( ) ) ;
ИдентификаторДокумента = СокрЛП( ПолучитьИД( Объект) ) ;
КонецЦикла ;
Еще посмотрите метод:
ЗначениеВСтрокуВнутр(<?>);
Синтаксис:
ЗначениеВСтрокуВнутр(<Объект>)
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
<Объект> - значение объекта агрегатного типа данных которое нужно преобразовать.
Подробнее см. в документации, глава ''Системные процедуры и функции''
Категория:
1С Общие вопросы - Обычные формы Поле выбора ~ Заполнение списка значений в элементе поле выбора на форме Код 1C v 8.х
Для Каждого Метаданное из Метаданные. РегламентныеЗадания Цикл
ЭлементыФормы. МетаданныеВыбор. СписокВыбора. Добавить( Метаданное. Имя, Метаданное. Представление( ) ) ;
КонецЦикла ;
Код 1C v 8.х
СписВыб = Новый СписокЗначений;
СписВыб. Добавить( "Закупочная" , "Закупочная" ) ;
СписВыб. Добавить( "Розничная" , "Розничная" ) ;
ЭлементыФормы. ПараметрЦены. СписокВыбора = СписВыб;
Код 1C v 8.х
ЭлементыФормы. Операционка. СписокВыбора. Добавить( "Windows 98" ) ;
ЭлементыФормы. Операционка. СписокВыбора. Добавить( "Windows 2000" ) ;
ЭлементыФормы. Операционка. СписокВыбора. Добавить( "Windows XP" ) ;
Код 1C v 8.х
Запрос = Новый Запрос;
Запрос. УстановитьПараметр( "Физлицо" , Физлицо) ;
Запрос. Текст =
"ВЫБРАТЬ
| ФизическиеЛицаСоставСемьи.Имя
|ИЗ
| Справочник.ФизическиеЛица.СоставСемьи КАК ФизическиеЛицаСоставСемьи
|ГДЕ
| ФизическиеЛицаСоставСемьи.Ссылка = &Физлицо
|
|УПОРЯДОЧИТЬ ПО
| ФизическиеЛицаСоставСемьи.НомерСтроки" ;
ЭлементыФормы. Родственник. СписокВыбора. ЗагрузитьЗначения( Запрос. Выполнить( ) . Выгрузить( ) . ВыгрузитьКолонку( "Имя" ) ) ;
Категория:
Работа с Формой (Диалог) и её элементами Получить список Документов конфигурации Код 1C v 8.х
СписокВыбора = ЭлементыФормы. ОбъектПоиска. СписокВыбора;
Для Каждого Документ Из Метаданные. Документы Цикл
Если ПравоДоступа( "Просмотр" , Документ) Тогда
ИмяДокумента = Документ. Синоним;
Если ИмяДокумента = "" Тогда
ИмяДокумента = Документ. Имя;
КонецЕсли ;
Структура = Новый Структура;
Структура. Вставить( "Тип" , "Документ" ) ;
Структура. Вставить( "Объект" , Документ) ;
СписокВыбора. Добавить( Структура, ИмяДокумента, , ЭлементыФормы. КартинкаДокумента. Картинка) ;
КонецЕсли ;
КонецЦикла ;
Код 1C v 7.x
Для Индекс= 1 По Метаданные. Документ( ) Цикл
Значение = Метаданные. Документ( Индекс) . Идентификатор;
Представление = Метаданные. Документ( Индекс) . Представление( ) ;
Комментарий = Метаданные. Документ( Индекс) . Комментарий;
Сообщить( значение+ " " + Представление+ " " + Комментарий) ;
КонецЦикла ;
ФормРегистр. УдалитьВсе( ) ;
Для ъ= 1 По Метаданные. Регистр( ) Цикл
ФормРегистр. ДобавитьЗначение( Метаданные. Регистр( ъ) . Идентификатор, Метаданные. Регистр( ъ) . Представление( ) ) ;
КонецЦикла ;
Если ФормРегистр. РазмерСписка( ) > 0 Тогда
ФормРегистр. ТекущаяСтрока( 1 ) ;
КонецЕсли ;
Процедура гСписокРеквизитовДокумента(Список,Документ,ФлагПредставление=0) Экспорт
Для i= 1 По Метаданные. Документ( Документ) . РеквизитШапки( ) Цикл
Ж= Метаданные. Документ( Документ) . РеквизитШапки( i) ;
Если ФлагПредставление= 0 Тогда
Представление= Ж. Идентификатор;
Иначе
Представление= Ж. Представление( ) ;
КонецЕсли ;
Список. ДобавитьЗначение( Ж. Идентификатор, "Ш: " + Представление) ;
КонецЦикла ;
Для i= 1 По Метаданные. Документ( Документ) . РеквизитТабличнойЧасти( ) Цикл
Ж= Метаданные. Документ( Документ) . РеквизитТабличнойЧасти( i) ;
Если ФлагПредставление= 0 Тогда
Представление= Ж. Идентификатор;
Иначе
Представление= Ж. Представление( ) ;
КонецЕсли ;
Список. ДобавитьЗначение( Ж. Идентификатор, "Т: " + Представление) ;
КонецЦикла ;
Для i= 1 По Метаданные. ОбщийРеквизитДокумента( ) Цикл
Ж= Метаданные. ОбщийРеквизитДокумента( i) ;
Если ФлагПредставление= 0 Тогда
Представление= Ж. Идентификатор;
Иначе
Представление= Ж. Представление( ) ;
КонецЕсли ;
Список. ДобавитьЗначение( Ж. Идентификатор, "О: " + Представление) ;
КонецЦикла ;
КонецПроцедуры
Категория:
Метаданные Получить список Справочников конфигурации Код 1C v 8.2 УП &НаКлиенте
Процедура ПоКнопкеЧтениеИзМетаданных(Команда)
Перем СписокСправочников;
СписокСправочников = Новый СписокЗначений;
СписокСправочников = СправочникиИзМетаданных( ) ;
Для Сч = 0 По СписокСправочников. Количество( ) - 1 Цикл
Сообщить( СписокСправочников. Получить( Сч) )
КонецЦикла ;
КонецПроцедуры
&НаСервере
Функция СправочникиИзМетаданных()
Перем СписокСправочников, СправочникИзМетаданных;
СписокСправочников = Новый СписокЗначений;
Для Каждого СправочникИзМетаданных Из Метаданные. Справочники Цикл
СписокСправочников. Добавить( СправочникИзМетаданных. Имя) ;
КонецЦикла ;
Возврат СписокСправочников;
КонецФункции
Код 1C v 8.х
СписокВыбора = ЭлементыФормы. ОбъектПоиска. СписокВыбора;
Для Каждого Справочник Из Метаданные. Справочники Цикл
Если ПравоДоступа( "Просмотр" , Справочник) Тогда
ИмяСправочника = Справочник. Синоним;
Если ИмяСправочника = "" Тогда
ИмяСправочника = Справочник. Имя;
КонецЕсли ;
Структура = Новый Структура;
Структура. Вставить( "Тип" , "Справочник" ) ;
Структура. Вставить( "Объект" , Справочник) ;
СписокВыбора. Добавить( Структура, ИмяСправочника, , ЭлементыФормы. КартинкаСправочника. Картинка) ;
КонецЕсли ;
КонецЦикла ;
Код 1C v 7.x
Для Индекс= 1 По Метаданные. Справочник( ) Цикл
Значение = Метаданные. Справочник( Индекс) . Идентификатор;
Представление = Метаданные. Справочник( Индекс) . Представление( ) ;
Комментарий = Метаданные. Справочник( Индекс) . Комментарий;
Сообщить( Значение+ " " + Представление+ " " + Комментарий) ;
КонецЦикла ;
Категория:
Метаданные