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

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 85 11.04.24 16:01 Сейчас в теме
	Сообщить("Справочники");
	Для Каждого ОбъектМетаданныхСправочник Из Метаданные.Справочники Цикл
		НайтиСсылкиНаОбъектМетаданных("СправочникСсылка."+ОбъектМетаданныхСправочник.Имя);
	КонецЦикла;
	
	Сообщить("Документы");
	Для Каждого ОбъектМетаданныхДокумент Из Метаданные.Документы Цикл
		НайтиСсылкиНаОбъектМетаданных("ДокументСсылка."+ОбъектМетаданныхДокумент.Имя);
	КонецЦикла;


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

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