|
Самый простой способ получить список всех объектов метаданных конфигурации? | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
07.02.18
✎
11:23
|
Хочу выгрузить конфигурацию в файлы с фильтрацией объектов метаданных по НЕ вхождению в заданные подсистемы.
Для этого хочу получить список всех объектов метаданных. Есть ли какой то простой способ это? |
|||
1
Bigbro
07.02.18
✎
11:28
|
Пока Метаданные.Справлчник()
... |
|||
2
Рэйв
07.02.18
✎
11:29
|
Менеджеры = Новый СписокЗначений;
Менеджеры.Добавить("Документы"); Менеджеры.Добавить("Справочники"); Менеджеры.Добавить("ПланыВидовХарактеристик"); Менеджеры.Добавить("ПланыСчетов"); Менеджеры.Добавить("ПланыВидовРасчета"); Менеджеры.Добавить("ПланыОбмена"); Менеджеры.Добавить("БизнесПроцессы"); Менеджеры.Добавить("Задачи"); Менеджеры.Добавить("Константы"); Для Каждого Эл из Менеджеры Цикл Имя=Эл.Значение; Для каждого Вид из Метаданные[Имя] Цикл Сообщить(""+Имя+"."+Вид.Имя); Конеццикла; КонецЦикла; |
|||
3
Рэйв
07.02.18
✎
11:29
|
если что забыл, то добавишь в СЗ:-)
|
|||
4
Мыш
07.02.18
✎
11:33
|
(2) Менеджеры = СтрРазделить("Справочники,Документы,..",",");
|
|||
5
Рэйв
07.02.18
✎
11:34
|
(4)Так тоже можно
|
|||
6
TormozIT
гуру
07.02.18
✎
11:35
|
(1) Это лишь вершина утомительного айсберга. Таких свойств очень много.
|
|||
7
Serg_1960
07.02.18
✎
12:11
|
(0) "Для этого хочу получить список всех объектов метаданных" - ПолучитьСтруктуруХраненияБазыДанных() ?
|
|||
8
TormozIT
гуру
07.02.18
✎
12:12
|
(7) Далеко не все объекты метаданных участвуют в структуре БД.
|
|||
9
Serg_1960
07.02.18
✎
12:26
|
Эээ.. ничего умнее, чем в конфигураторе включить фильтр "По подсистемам" и на панели "Отбор по подсистемам" снять галочку у корня и установить на последней "не входящие в подсистемы" и далее ручками, ручками в голову не приходит.
|
|||
10
Serg_1960
07.02.18
✎
12:33
|
PS: Как-то голову себе не забивал этим, ибо в моих типовых конфигурациях ("Редактируется с сохранением поддержки") нет метаданных, которые не входят в подсистемы.
|
|||
11
бомболюк
07.02.18
✎
13:24
|
получаешь от Метаданные ILanguageExtenter и вперед.
|
|||
12
Serg_1960
07.02.18
✎
13:27
|
Мой скромный гений забуксовал, родив две гениальные строки:
Для Каждого ТекПодсистема Из Метаданные.Подсистемы Цикл Для Каждого ТекОбъект Из Метаданные.Подсистемы[ТекПодсистема.Имя].Состав Цикл |
|||
13
Cyberhawk
07.02.18
✎
14:03
|
(12) Возможность перебирать объекты подсистемы появилась только с какого-то релиза платформы 8.2, до этого нельзя было легко получить все объекты определенной подсистемы...
|
|||
14
TormozIT
гуру
07.02.18
✎
17:58
|
Да. Я сделал обход всех подсистем и их состава. Но есть объекты которые не входят в подсистемы.
|
|||
15
Вафель
07.02.18
✎
18:06
|
на бсп можно прям по справочнику искать
|
|||
16
Cyberhawk
08.02.18
✎
10:40
|
(15) Там нет гарантии, что он актуальный
|
|||
17
Serg_1960
09.02.18
✎
14:54
|
Перед обходом по подсистемам, получаешь из метаданных все объекты, сохраняешь их (имена) в любой удобной коллекции и при обходе составов по подсистемам - ищешь и удаляешь из коллекции. В конечном осадке остаются объекты, не включенные ни в одну подсистему.
|
|||
18
TormozIT
гуру
09.02.18
✎
15:35
|
(17) "получаешь из метаданных все объекты"
Так в этом то и заключается основная проблема. Как это сделать то? |
|||
19
Вафель
09.02.18
✎
15:39
|
(18) циклом конечно же )))
|
|||
20
Сияющий в темноте
09.02.18
✎
16:20
|
виды обьектов жестко а внутри обьекты перебираются без проблем,так что просто загружаем в таблицу,чтобы иметь возможность отбора
|
|||
21
vde69
09.02.18
✎
16:23
|
сделал за 15 минут
&НаСервереБезКонтекста Процедура Команда1НаСервере() мТип = Тип("ОбъектМетаданных"); мТЗ = ПолучитьСтруктуруХраненияБазыДанных(); Для Каждого эл из мТЗ Цикл Если эл.Метаданные = "" Тогда Продолжить; КонецЕсли; Попытка Если ТипЗнч(Метаданные.НайтиПоПолномуИмени(эл.Метаданные)) = мТип Тогда Сообщить(эл.Метаданные); КонецЕсли; Исключение КонецПопытки; КонецЦикла; КонецПроцедуры |
|||
22
Serg_1960
09.02.18
✎
16:32
|
(21) На прочтение (7) и (8) уйдёт менее 15 секунд :)
|
|||
23
vde69
09.02.18
✎
16:34
|
(22) то, что не имеет отражение в БД за чем нужно?
|
|||
24
Serg_1960
09.02.18
✎
16:42
|
Ну считай это упражнение для ума. "хочу получить список всех объектов метаданных" - автор так хочет, для чего - не сказал.
|
|||
25
TormozIT
гуру
09.02.18
✎
23:11
|
(24) Как это не сказал (написал)? В (0) четко написал, что для выгрузки конфигурации в файлы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |