Обработка для проверки использования справочников в документах
Всем доброго времени суток! Помогите пожалуйста, нужна обработка срочно, которая будет автоматически просматривать каждый справочник и документ через метаданные, чтобы в итоге выводился результат в виде таблицы (с подготовленным макетом, скрин макета предоставлю ниже), в которой будет видно, в каком документе используется тот или иной справочник (примерный код начал делать, но дальше тронуться не могу)
Прикрепленные файлы:


По теме из базы знаний
- Проверка использования помеченных на удаление элементов справочников
- Работа с кодами - числами, датами, кодами справочников, номерами документов, идентификаторами в 1С и в других базах данных
- Прекрасный инструмент-велосипед для изменения справочников и документов в БП 3.0
- Удаление справочников и документов с возможностью отбора
- Приемы работы с СКД: выгрузка данных справочников и документов в линейном виде в табличный документ
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сообщить("Справочники");
Для Каждого ОбъектМетаданныхСправочник Из Метаданные.Справочники Цикл
НайтиСсылкиНаОбъектМетаданных("СправочникСсылка."+ОбъектМетаданныхСправочник.Имя);
КонецЦикла;
Сообщить("Документы");
Для Каждого ОбъектМетаданныхДокумент Из Метаданные.Документы Цикл
НайтиСсылкиНаОбъектМетаданных("ДокументСсылка."+ОбъектМетаданныхДокумент.Имя);
КонецЦикла;
Функция НайтиСсылкиНаОбъектМетаданных(ТипЗнчОбъектМетаданных)
ТипСсылкаНаОбъектМетаданных = Тип(ТипЗнчОбъектМетаданных);
Для Каждого Справочник Из Метаданные.Справочники Цикл
Для Каждого Реквизит Из Справочник.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(ТипСсылкаНаОбъектМетаданных) Тогда
Сообщить("Справочник "+Справочник+" Реквизит "+Реквизит+" содержит "+ТипЗнчОбъектМетаданных);
КонецЕсли;
КонецЦикла;
Для Каждого ТабличнаяЧасть Из Справочник.ТабличныеЧасти Цикл
Для Каждого Реквизит Из ТабличнаяЧасть.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(ТипСсылкаНаОбъектМетаданных) Тогда
Сообщить("Справочник "+Справочник+"Табличная часть "+ТабличнаяЧасть.Имя+" Реквизит "+Реквизит+" содержит "+ТипЗнчОбъектМетаданных);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Для Каждого Документ Из Метаданные.Документы Цикл
Для Каждого Реквизит Из Документ.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(ТипСсылкаНаОбъектМетаданных) Тогда
Сообщить("Документ "+Документ+" Реквизит "+Реквизит+" содержит "+ТипЗнчОбъектМетаданных);
КонецЕсли;
КонецЦикла;
Для Каждого ТабличнаяЧасть Из Документ.ТабличныеЧасти Цикл
Для Каждого Реквизит Из ТабличнаяЧасть.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(ТипСсылкаНаОбъектМетаданных) Тогда
Сообщить("Документ "+Документ+"Табличная часть "+ТабличнаяЧасть.Имя+" Реквизит "+Реквизит+" содержит "+ТипЗнчОбъектМетаданных);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот