Поиск реквизитов с типом ДокументСсылка(все документы) и СправочникСсылка(Все справочники) в документах и справочниках.
В процессе изучения самописной базы на новой работе возникла необходимость найти все реквизиты где стоит тип ДокументСсылка или СправочникСсылка. А так как вручную просматривать всю конфигурацию долго, накидал небольшую программку. Возможно будет полезна не только мне, так как наличие таких полей вызывает ненужные реструкторизации при удалении из конфигурации объектов.
ВсеДоки = ЗначениеВСтрокуВнутр(Документы.ТипВсеСсылки().Типы());
ВсеСпр = ЗначениеВСтрокуВнутр(Справочники.ТипВсеСсылки().Типы());
Для Каждого Док из Метаданные.Документы Цикл
Для Каждого Рек из Док.Реквизиты Цикл
РекТип = ЗначениеВСтрокуВнутр(Рек.Тип.Типы());
Если РекТип = ВсеДоки Тогда
Сообщить("В документе " + Док.Представление() + " реквизит " + Рек.Имя + " имеет тип Все документы!");
ИначеЕсли РекТип = ВсеСпр Тогда
Сообщить("В документе " + Док.Представление() + " реквизит " + Рек.Имя + " имеет тип Все справочники!");
КонецЕсли;
КонецЦикла;
Для Каждого ТЧ из Док.ТабличныеЧасти Цикл
Для Каждого Рек из ТЧ.Реквизиты Цикл
РекТип = ЗначениеВСтрокуВнутр(Рек.Тип.Типы());
Если РекТип = ВсеДоки Тогда
Сообщить("В документе " + Док.Представление() + " в ТЧ " + ТЧ.Имя + " реквизит " + Рек.Имя + " имеет тип Все документы!");
ИначеЕсли РекТип = ВсеСпр Тогда
Сообщить("В документе " + Док.Представление() + " реквизит " + Рек.Имя + " имеет тип Все справочники!");
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Конфигурация -Отчет по конфигурации — и все находите…
Поиск ссылок на объект тоже помогает весьма
Сегодня тоже задался целью (схалявить и найти готовую обработку) найти все реквизиты/измерения/ресурсы… у которых установлен тип ДокументСсылка(все документы) и/или СправочникСсылка(Все справочники)
Ваш метод не сильно подходит, так как, если тип будет составной, допустим ДокументСсылка(все документы) и один из справочников, то проверка
этого уже не выявит
http://infostart.ru/public/545418/
пришлось запилить свой велик