|
Поиск объектов конфигурации | ☑ | ||
---|---|---|---|---|
0
nAPACEHAK
14.09.17
✎
10:50
|
Добра всем
Есть большая конфигурация. тыщу раз пиленая-перепиленая. в ней есть остатки объектов конфигурации - справочники, документы, перечисления итд, которыми когда то пользовались наверно, но потом успешно забыты. Есть идеи как можно все это "добро" выловить? например, есть справочник, но к нему нигде нет обращений; или перечисление, которое уже давно забыто. ну итд. в общем хотелось бы избавиться от хлама |
|||
1
DrShad
14.09.17
✎
10:53
|
проверку конфигурации кури
|
|||
2
nAPACEHAK
14.09.17
✎
10:55
|
(1) наверно не то
на данном этапе пока не интересуют пустые обработчики, неиспользуемые функции итд а неиспользуемый справочник (целиком), например, проверка вроде как и не находит |
|||
3
Numerus Mikhail
14.09.17
✎
10:58
|
(2) вероятнее всего ваш неиспользуемый справочник будет использоваться в другом неиспользуемом справочнике. А тот справочник еще в какому-нибудь заброшенном документе. В итоге это всё закрутится в такой клубок, который вы не распутаете никогда :)
|
|||
4
nAPACEHAK
14.09.17
✎
11:01
|
(3) возможно.
но как то надо хоть понять масштаб трагедии ) |
|||
5
DrShad
14.09.17
✎
11:07
|
(4) тогда самому написать обходом по всем метаданным и искать вхождение типа в реквизиты объекта метаданных
|
|||
6
Рэйв
14.09.17
✎
11:12
|
(0)Сделай копию и попробуй удалить один справочник и посмотреть на предупреждения которые будут писаться при попытки скормить это дело базе. Там должно быть видно где используется и какие ошибки вызовет.Вот так по одному и удаляй.
а на перечисления тупо поищи ссылки |
|||
7
nAPACEHAK
14.09.17
✎
11:17
|
(6) при таком количестве существующих я боюсь до ледникового периода буду справочники то по одному удалять )))
(4) эмм... а примерно можете набросать? в смысле что б понять примерно как что где искать |
|||
8
DrShad
14.09.17
✎
11:20
|
(7) могу, но не буду
|
|||
9
DrShad
14.09.17
✎
11:21
|
&НаСервереБезКонтекста
Функция ПоискСсылокНаОбъект(ОбъектМетаданных,СтрСвязей) Коллекции = Новый Массив; Коллекции.Добавить(Метаданные.Справочники); Коллекции.Добавить(Метаданные.Документы); Коллекции.Добавить(Метаданные.РегистрыБухгалтерии); Коллекции.Добавить(Метаданные.РегистрыНакопления); Коллекции.Добавить(Метаданные.РегистрыСведений); Сч = 2; СтрокаТекУзла = ""; Для Каждого Коллекция Из Коллекции Цикл Для Каждого Объект Из Коллекция Цикл СтрПолей = ""; Попытка Для Каждого Реквизит Из Объект.СтандартныеРеквизиты Цикл Если Реквизит.Имя = "Ссылка" Тогда Продолжить; КонецЕсли; Для Каждого ТипРеквизита Из Реквизит.Тип.Типы() Цикл Если ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипРеквизита) Тогда ДобавитьРеквизит(СтрПолей,Реквизит); СтрСвязей = СтрСвязей + "struct"+Сч+":"+Реквизит.Имя+" -> struct1:""f0"" [dir = back]; |"; Продолжить; КонецЕсли; КонецЦикла; КонецЦикла; Исключение КонецПопытки; Попытка Для Каждого Реквизит Из Объект.Реквизиты Цикл Для Каждого ТипРеквизита Из Реквизит.Тип.Типы() Цикл Если ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипРеквизита) Тогда ДобавитьРеквизит(СтрПолей,Реквизит); СтрСвязей = СтрСвязей + "struct"+Сч+":"+Реквизит.Имя+" -> struct1:""f0"" [dir = back]; |"; Продолжить; КонецЕсли; КонецЦикла; КонецЦикла; Исключение КонецПопытки; Попытка Для Каждого Реквизит Из Объект.Измерения Цикл Для Каждого ТипРеквизита Из Реквизит.Тип.Типы() Цикл Если ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипРеквизита) Тогда ДобавитьРеквизит(СтрПолей,Реквизит); СтрСвязей = СтрСвязей + "struct"+Сч+":"+Реквизит.Имя+" -> struct1:""f0"" [dir = back]; |"; Продолжить; КонецЕсли; КонецЦикла; КонецЦикла; Исключение КонецПопытки; Попытка Для Каждого Реквизит Из Объект.Ресурсы Цикл Для Каждого ТипРеквизита Из Реквизит.Тип.Типы() Цикл Если ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипРеквизита) Тогда ДобавитьРеквизит(СтрПолей,Реквизит); СтрСвязей = СтрСвязей + "struct"+Сч+":"+Реквизит.Имя+" -> struct1:""f0"" [dir = back]; |"; Продолжить; КонецЕсли; КонецЦикла; КонецЦикла; Исключение КонецПопытки; |
|||
10
DrShad
14.09.17
✎
11:22
|
взято из обработки, которая по выбранному объекту метаданных выводит графически где используется сам объект и какие объекты использует он
|
|||
11
VladZ
14.09.17
✎
11:23
|
(0) Ну не используется и не надо. Смысл удалять? Чтобы глаза не мозолило? Убьешь кучу времени на "наведение красоты". Через какое-то время нагенеришь такую же кучу неиспользованных объектов. Переводи задачу в категорию "фоновая несрочная" и потихоньку удаляй лишнее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |