17 окт. 2016 г.

Есть ли свойство 1С

// Универсальная функция для проверки наличия свойств у значения любого типа данных
// Переменные:
// 1. Переменная - переменная любого типа, для которой необходимо проверить наличие свойства
// 2. ИмяСвойства - переменная типа "Строка", содержащая искомое свойства
//
Функция СодержитСвойство(Переменная, ИмяСвойства) Экспорт // 14.10.2014 - Пермитин Ю.А.
     
    // Исключения. Эти типы не имеют свойств при проверке
    ТипПеременной = ТипЗнч(Переменная);
    Если ТипПеременной = Тип("Неопределено") ИЛИ ТипПеременной = Тип("Массив") Тогда
        Возврат Ложь;
    КонецЕсли;
     
    // Инициализируем структуру для теста с ключом (значение переменной "ИмяСвойства") и значением произвольного GUID'а
    GUIDПроверка = Новый УникальныйИдентификатор;
    СтруктураПроверка = Новый Структура;
    СтруктураПроверка.Вставить(ИмяСвойства, GUIDПроверка);
    // Заполняем созданную структуру из переданного значения переменной
    ЗаполнитьЗначенияСвойств(СтруктураПроверка, Переменная);
    // Если значение для свойства структуры осталось NULL, то искомое свойство не найдено, и наоборот.
    Если СтруктураПроверка[ИмяСвойства] = GUIDПроверка Тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;
КонецФункции
Источник
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07