Дополнительное свойство используется. Проверяет наличие объектов, использующих свойство.
// Проверяет наличие объектов, использующих свойство.
//
// Параметры:
// Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.
//
// Возвращаемое значение:
// Булево. Истина, если найден хотя бы один объект.
//
Функция ДополнительноеСвойствоИспользуется(Свойство) Экспорт
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Свойство", Свойство);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК ЗначениеИстина
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Свойство = &Свойство";
Если НЕ Запрос.Выполнить().Пустой() Тогда
Возврат Истина;
КонецЕсли;
ВидыОбъектовМетаданных = Новый Массив;
ВидыОбъектовМетаданных.Добавить("ПланыОбмена");
ВидыОбъектовМетаданных.Добавить("Справочники");
ВидыОбъектовМетаданных.Добавить("Документы");
ВидыОбъектовМетаданных.Добавить("ПланыВидовХарактеристик");
ВидыОбъектовМетаданных.Добавить("ПланыСчетов");
ВидыОбъектовМетаданных.Добавить("ПланыВидовРасчета");
ВидыОбъектовМетаданных.Добавить("БизнесПроцессы");
ВидыОбъектовМетаданных.Добавить("Задачи");
ТаблицыОбъектов = Новый Массив;
Для каждого ВидОбъектовМетаданных Из ВидыОбъектовМетаданных Цикл
Для каждого ОбъектМетаданных Из Метаданные[ВидОбъектовМетаданных] Цикл
Если ЭтоОбъектМетаданныхСДополнительнымиРеквизитами(ОбъектМетаданных) Тогда
ТаблицыОбъектов.Добавить(ОбъектМетаданных.ПолноеИмя());
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК ЗначениеИстина
|ИЗ
| ИмяТаблицы КАК ТекущаяТаблица
|ГДЕ
| ТекущаяТаблица.Свойство = &Свойство";
Для каждого Таблица Из ТаблицыОбъектов Цикл
Запрос.Текст = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", Таблица + ".ДополнительныеРеквизиты");
Если НЕ Запрос.Выполнить().Пустой() Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ИспользуютсяДополнительныеОтчетыИОбработки (БСП)
УстановитьЗначениеПризнакаИспользуется (БСП)
ЭтоОбъектМетаданныхСДополнительнымиРеквизитами (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)