ДополнительноеСвойствоИспользуется (БСП)

Автор: 1С
ОбщийМодуль.УправлениеСвойствамиСлужебный
БСП

Дополнительное свойство используется. Проверяет наличие объектов, использующих свойство.

// Проверяет наличие объектов, использующих свойство.
//
// Параметры:
//  Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.
// 
// Возвращаемое значение:
//  Булево. Истина, если найден хотя бы один объект.
//
Функция ДополнительноеСвойствоИспользуется(Свойство) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Свойство", Свойство);
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	ИСТИНА КАК ЗначениеИстина
	|ИЗ
	|	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
	|ГДЕ
	|	ДополнительныеСведения.Свойство = &Свойство";
	
	Если НЕ Запрос.Выполнить().Пустой() Тогда
		Возврат Истина;
	КонецЕсли;
	
	ВидыОбъектовМетаданных = Новый Массив;
	ВидыОбъектовМетаданных.Добавить("ПланыОбмена");
	ВидыОбъектовМетаданных.Добавить("Справочники");
	ВидыОбъектовМетаданных.Добавить("Документы");
	ВидыОбъектовМетаданных.Добавить("ПланыВидовХарактеристик");
	ВидыОбъектовМетаданных.Добавить("ПланыСчетов");
	ВидыОбъектовМетаданных.Добавить("ПланыВидовРасчета");
	ВидыОбъектовМетаданных.Добавить("БизнесПроцессы");
	ВидыОбъектовМетаданных.Добавить("Задачи");
	
	ТаблицыОбъектов = Новый Массив;
	Для каждого ВидОбъектовМетаданных Из ВидыОбъектовМетаданных Цикл
		Для каждого ОбъектМетаданных Из Метаданные[ВидОбъектовМетаданных] Цикл
			
			Если ЭтоОбъектМетаданныхСДополнительнымиРеквизитами(ОбъектМетаданных) Тогда
				ТаблицыОбъектов.Добавить(ОбъектМетаданных.ПолноеИмя());
			КонецЕсли;
			
		КонецЦикла;
	КонецЦикла;
	
	ТекстЗапроса =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	ИСТИНА КАК ЗначениеИстина
	|ИЗ
	|	ИмяТаблицы КАК ТекущаяТаблица
	|ГДЕ
	|	ТекущаяТаблица.Свойство = &Свойство";
	
	Для каждого Таблица Из ТаблицыОбъектов Цикл
		Запрос.Текст = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", Таблица + ".ДополнительныеРеквизиты");
		Если НЕ Запрос.Выполнить().Пустой() Тогда
			Возврат Истина;
		КонецЕсли;
	КонецЦикла;
	
	Возврат Ложь;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ИспользуютсяДополнительныеОтчетыИОбработки (БСП)

УстановитьЗначениеПризнакаИспользуется (БСП)

ЭтоОбъектМетаданныхСДополнительнымиРеквизитами (БСП)

Дополнительные свойства

ИспользоватьДопРеквизиты (БСП)

ИспользоватьДопСведения (БСП)

ЗначенияСвойств (БСП)

ЗначениеСвойства (БСП)

ДополнительныеЗначенияСвойства (БСП)

TurboConf 6 - расширение Конфигуратора 1С