Как получить значение использования реквизита для элемента или группы справочника кодом
Как получить значение использования реквизита для элекнта или группы справочника кодом?
Сейчас сравниваю со строкой. Есть варианты получить значение этого типа кодом?
Сейчас сравниваю со строкой. Есть варианты получить значение этого типа кодом?
Если ЭтоСправочник и Данные.Получить("IsFolder") = ИСТИНА тогда
Если Строка(ОбъектЗаполнения.Метаданные().Реквизиты[Реквизит.Имя].Использование) = "ДляЭлемента" тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
глобальный поиск по модулям рулит когда морковь и петрушка еще не созрели
Пример
морковь и петрушка стимулируют память
Пример
Функция РеквизитОрганизацияДоступен(Объект)
// Возвращаемое значение функции.
Результат = Истина;
МетаданныеОбъекта = Объект.Метаданные();
Если (ОбщегоНазначения.ЭтоСправочник(МетаданныеОбъекта)
ИЛИ ОбщегоНазначения.ЭтоПланВидовХарактеристик(МетаданныеОбъекта))
И МетаданныеОбъекта.Иерархический Тогда
ИмяРеквизитаОрганизация = ИмяРеквизитаОрганизация(МетаданныеОбъекта);
РеквизитОрганизация = МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизитаОрганизация);
Если РеквизитОрганизация = Неопределено Тогда
Если ОбщегоНазначения.ЭтоСтандартныйРеквизит(МетаданныеОбъекта.СтандартныеРеквизиты, ИмяРеквизитаОрганизация) Тогда
// Стандартный реквизит всегда доступен и для элемента и для группы.
Возврат Истина;
КонецЕсли;
СтрокаСообщения = НСтр("ru = 'Для объекта метаданных %1 не определен реквизит с именем %2.'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, МетаданныеОбъекта.ПолноеИмя(), ИмяРеквизитаОрганизация);
ВызватьИсключение СтрокаСообщения;
КонецЕсли;
Если РеквизитОрганизация.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляГруппы И Не Объект.ЭтоГруппа Тогда
Результат = Ложь;
ИначеЕсли РеквизитОрганизация.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента И Объект.ЭтоГруппа Тогда
Результат = Ложь;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
Показатьморковь и петрушка стимулируют память
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
глобальный поиск по модулям рулит когда морковь и петрушка еще не созрели
Пример
морковь и петрушка стимулируют память
Пример
Функция РеквизитОрганизацияДоступен(Объект)
// Возвращаемое значение функции.
Результат = Истина;
МетаданныеОбъекта = Объект.Метаданные();
Если (ОбщегоНазначения.ЭтоСправочник(МетаданныеОбъекта)
ИЛИ ОбщегоНазначения.ЭтоПланВидовХарактеристик(МетаданныеОбъекта))
И МетаданныеОбъекта.Иерархический Тогда
ИмяРеквизитаОрганизация = ИмяРеквизитаОрганизация(МетаданныеОбъекта);
РеквизитОрганизация = МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизитаОрганизация);
Если РеквизитОрганизация = Неопределено Тогда
Если ОбщегоНазначения.ЭтоСтандартныйРеквизит(МетаданныеОбъекта.СтандартныеРеквизиты, ИмяРеквизитаОрганизация) Тогда
// Стандартный реквизит всегда доступен и для элемента и для группы.
Возврат Истина;
КонецЕсли;
СтрокаСообщения = НСтр("ru = 'Для объекта метаданных %1 не определен реквизит с именем %2.'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, МетаданныеОбъекта.ПолноеИмя(), ИмяРеквизитаОрганизация);
ВызватьИсключение СтрокаСообщения;
КонецЕсли;
Если РеквизитОрганизация.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляГруппы И Не Объект.ЭтоГруппа Тогда
Результат = Ложь;
ИначеЕсли РеквизитОрганизация.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента И Объект.ЭтоГруппа Тогда
Результат = Ложь;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
Показатьморковь и петрушка стимулируют память
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот