Поиск реквизитов с типом ДокументСсылка и СправочникСсылка

Поиск не типизированных реквизитов в справочниках и документах.

Поиск реквизитов с типом ДокументСсылка(все документы) и СправочникСсылка(Все справочники)  в документах и справочниках.

В процессе изучения самописной базы на новой работе возникла необходимость найти все реквизиты где стоит тип ДокументСсылка или СправочникСсылка. А так как вручную просматривать всю конфигурацию долго, накидал небольшую программку. Возможно будет полезна не только мне, так как наличие таких полей вызывает ненужные реструкторизации при удалении из конфигурации объектов. 

 

 ВсеДоки = ЗначениеВСтрокуВнутр(Документы.ТипВсеСсылки().Типы());
ВсеСпр  = ЗначениеВСтрокуВнутр(Справочники.ТипВсеСсылки().Типы());
Для Каждого Док из Метаданные.Документы Цикл
Для Каждого Рек из Док.Реквизиты Цикл
РекТип = ЗначениеВСтрокуВнутр(Рек.Тип.Типы());
Если РекТип = ВсеДоки Тогда
Сообщить("В документе " + Док.Представление() + " реквизит " + Рек.Имя + " имеет тип Все документы!");
ИначеЕсли РекТип = ВсеСпр Тогда
Сообщить("В документе " + Док.Представление() + " реквизит " + Рек.Имя + " имеет тип Все справочники!");
КонецЕсли;
КонецЦикла;
Для Каждого ТЧ из Док.ТабличныеЧасти Цикл
Для Каждого Рек из ТЧ.Реквизиты Цикл
РекТип = ЗначениеВСтрокуВнутр(Рек.Тип.Типы());
Если РекТип = ВсеДоки Тогда
Сообщить("В документе " + Док.Представление() + " в ТЧ " + ТЧ.Имя + " реквизит " + Рек.Имя + " имеет тип Все документы!");
ИначеЕсли РекТип = ВсеСпр Тогда
Сообщить("В документе " + Док.Представление() + " реквизит " + Рек.Имя + " имеет тип Все справочники!");
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;

 

3 Comments

  1. ZOMI

    Конфигурация -Отчет по конфигурации — и все находите…

    Reply
  2. KurganPX

    Поиск ссылок на объект тоже помогает весьма

    Reply
  3. Brawler

    Сегодня тоже задался целью (схалявить и найти готовую обработку) найти все реквизиты/измерения/ресурсы… у которых установлен тип ДокументСсылка(все документы) и/или СправочникСсылка(Все справочники)

    Ваш метод не сильно подходит, так как, если тип будет составной, допустим ДокументСсылка(все документы) и один из справочников, то проверка

    Если РекТип = ВсеДоки Тогда 

    этого уже не выявит

    пришлось запилить свой велик http://infostart.ru/public/545418/

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *