Во-первых, сразу вопрос: а зачем ее использовать? Как минимум, она повторяет нативную функцию isset, а потом джуны путают на экзамене есть ли в php is_set или нету. Во-вторых, если ей не передать второй параметр - она сделает таки этот нативный isset. В-третьих, IDE (тот же, любимый джунами, эклипс) автоподставляет is_set при печати "is" + ctrl+пробел
И что мы получаем? событие OnBeforeIBlockElementUpdate. Проверка в нем типа такой
Код
is_set($array['PROPERTY_VALUES']['TEST']);
Никто ведь документацию не читает (особенно коменты к ней) Если сделать функцию, которая принимает ссылку на переменную и этой ссылке сделать isset *мегапуть* - этот путь будет создан. Вот вам пример
И что же в итоге? Контентщик деактивирует элемент в админке из списка. По факту в массиве на апдейт только 'ACTIVE' => 'N'. После is_set там еще и массив с доп свойствами. И битрикс после этого изменяет активность и ВСЕ доп свойства. Последние, конечно, обнуляет.