Этот тип является менеджером записи регистра сведений

SeiOkami 495 5 11 13

Является ли переданный тип менеджером записи регистра сведений. К сожалению, либо этот вариант, либо тупо проверка представления типа

// Является ли переданный тип менеджером записи регистра сведений
// К сожалению, либо этот вариант, либо тупо проверка представления типа
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/25
// 
// Параметры:
//  ТипЗначения - Тип
//
// Возвращаемое значение:
//   Булево
Функция ЭтоМенеджерЗаписиРегистраСведений(Знач ТипЗначения) Экспорт
    
    ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
	Если ТипЗнч(ОбъектМетаданных) = Тип("ОбъектМетаданных") И Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) Тогда
		ТипМенеджераЗаписи = Тип("РегистрСведенийМенеджерЗаписи." + ОбъектМетаданных.Имя);
        ЭтоМенеджерЗаписи  = (ТипМенеджераЗаписи = ТипЗначения);
    Иначе
        ЭтоМенеджерЗаписи  = Ложь;
    КонецЕсли;
    
    Возврат ЭтоМенеджерЗаписи;
    
КонецФункции
4

Комментарии

Cthulhu
#1, ред. 22 апреля 2021 19:08


Возврат ?( НЕ Метаданные.РегистрыСведений.Содержит(Метаданные.НайтиПоТипу(ТипЗначения)), Ложь
, ЭтоМенеджерЗаписи = (Тип("РегистрСведенийМенеджерЗаписи." + Метаданные.НайтиПоТипу(ТипЗначения).Имя) = ТипЗначения) );


SeiOkami
#2, 22 апреля 2021 19:19

(1) Cthulhu, эммм.....
Зачем так нечитабельно писать код?
Да ещё и дважды искать метаданные...


SeiOkami
#3, 22 апреля 2021 19:19

(1) Cthulhu, хотя чисто как соревнование по "код в одну строку" - норм 🤣👍


Cthulhu
#4, 22 апреля 2021 19:43

SeiOkami, там вроде вполне читабельно.
вот - да, единственное что смутило - двойное обращение к одному объекту метаданных.
но - в случае использования без выноса в отдельную функцию - потерь не будет, т.к. экономия на накладных расходах компенсирует.


См. также

Ключ менеджера записи регистра сведений

ЭтоРегистрСведений (БСП)

Групповое изменение Измерения в НабореЗаписей регистра сведений

ПолучитьМенеджерЗаписиОбластиДанных (БСП)

ОткрытьФормуЗаписиРегистраСведенийПоОтбору (БСП)

СоздатьКлючЗаписиРегистраСведенийВспомогательныхДанных (БСП)

Очистка регистра сведений

УдалитьНаборЗаписейВРегистреСведений (БСП)

Модератору