Обработка для проверки использования справочников в документах

1. user1Cer 09.04.24 21:43 Сейчас в теме
Всем доброго времени суток! Помогите пожалуйста, нужна обработка срочно, которая будет автоматически просматривать каждый справочник и документ через метаданные, чтобы в итоге выводился результат в виде таблицы (с подготовленным макетом, скрин макета предоставлю ниже), в которой будет видно, в каком документе используется тот или иной справочник (примерный код начал делать, но дальше тронуться не могу)
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vadim-SH 10.04.24 06:43 Сейчас в теме
Посмотри обработку MD83Exp.epf идет с конфигурацией Конвертация Данных.
Думаю, ее можно переделать под твою задачу.
3. user1Cer 10.04.24 07:13 Сейчас в теме
(2)скиньте ссылочку плиз
5. alex_4x 87 11.04.24 16:01 Сейчас в теме
    Сообщить("Справочники");
    Для Каждого ОбъектМетаданныхСправочник Из Метаданные.Справочники Цикл
        НайтиСсылкиНаОбъектМетаданных("СправочникСсылка."+ОбъектМетаданныхСправочник.Имя);
    КонецЦикла;
    
    Сообщить("Документы");
    Для Каждого ОбъектМетаданныхДокумент Из Метаданные.Документы Цикл
        НайтиСсылкиНаОбъектМетаданных("ДокументСсылка."+ОбъектМетаданныхДокумент.Имя);
    КонецЦикла;


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

Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот