Функция для получения Id свойства типа список(enum) в Bitrix по значению, а в случаи если такого значения не существует создаёт его и возвращает Id.
Функция в листинге ниже может в частности пригодиться при заполнении инфоблоков Bitrix элементами(в том числе товарами или торговыми предложениями) по api поскольку при этом может потребоваться работать с свойствами в виде списков(enum). Функция из листинга ниже принимает 3 значения, все они обязательные. Первое не смотря на то что называется $name - это значение искомого свойства. Второй параметр - Id инфоблока по которому осуществляется поиск. Третий параметр - код свойства, без приставки PROPERTY_, например если Вы планируете работать с свойством "Размер", в качестве кода можно передавать например "SIZE".
Пример вызова функции: myGetPropEnumId("Бязь",2,"CLOTH");//в данном случаи ищем по инфоблоку товарных предложений в свойстве Ткань, символьный код которого CLOHT. Функция вернёт Id уже существующего свойства типа список(Enum), а если свойства с таким значением нет, то сначала создаст его а затем вернёт его Id. Если произошла какая либо ошибка - возвращается false.