Имя: Пароль:
1C
 
Как обойти все свойства метаданных?
,
0 Галахад
 
гуру
05.04.23
14:29
Например у  справочника есть свойства:

Тип
ДлинаНаименования
ДлинаКода
Владельцы
КоличествоУровней
ВидИерархии
Иерархический
ДлинаКода
И т.д.

Как получить все свойства программно?
1 Lama12
 
05.04.23
14:32
Реквизиты. Коллекция.
2 Fish
 
05.04.23
14:32
(0) Через метаданные.
Например:
ОбъектМетаданных: Справочник (MetadataObject: Catalog)
КоличествоУровней (LevelCount)
Использование:
Только чтение.
Описание:
Тип: Число.
Максимальное количество уровней иерархии справочника при условии, что свойство ОграничиватьКоличествоУровней имеет значение Истина. Если ОграничиватьКоличествоУровней имеет значение Ложь, то максимальное количество уровней иерархии неограниченно.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
3 Волшебник
 
05.04.23
14:33
4 Галахад
 
гуру
05.04.23
14:50
(1) Что-то не получается. Можно пример?

(2) Вопрос не в том как получить "КоличествоУровней", а как понять что какие свойства вообще есть.

(3) Спасибо, читаю.
5 Галахад
 
гуру
05.04.23
14:56
(3) Почитал, это немного не то.
6 TormozIT
 
гуру
05.04.23
15:03
В ИР есть отчет ирАнализМетаданных. Он использует рекурсивный обходчик ВСЕХ метаданных с их свойствами.
7 TormozIT
 
гуру
05.04.23
15:05
(6) Точнее там неполный обход метаданных. Но как перебрать все свойства, увидишь.
8 Галахад
 
гуру
05.04.23
15:07
(6) Спасибо, гляну.
9 TormozIT
 
гуру
05.04.23
15:33
Но суть в любом случае сведется к встраиванию в программу описания всех свойств каждого типа метаданных например в виде макета.
Аналогичный функционал есть и в https://github.com/salexdv/bsl_console . Возможно с нуля там будет проще разобраться.
10 Галахад
 
гуру
05.04.23
15:49
(9) Да, спасибо. Я почитал.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.