А теперь причина создания темы:
Проблема: иногда один редактор заполняет например описание элемента, но оставляет пустой картинку, а другой в это же время заполняет картинку, но не заполняет описание. Соответственно, второй при сохранении затирает работу первого (удаляет описание). Устранить проблему на уровне человеческого фактора возможности нет.
Есть такое ТЗ: если один из редакторов начал вносить изменения в элемент инфоблока, то надо запретить всем остальным возможность вносить изменения в этот элемент до момента окончания работы этого редактора с этим элементом (т.е. по сути запретить даже входить в карточку элемента).
Пока были такие мысли:
привязаться к событию, но вроде на вход в карточку у битрикса нет события, только запрос к iblock_element_edit, наверно надо будет править где-то там?
Создавать в init.php переменную, в которую будем собирать все id редактируемых на данный момент элементов и при запросе на редактирование проверять наличие id из переменной в этом запросе. При завершении редактирования (OnAfterIBlockElementUpdate) удалять из переменной id элемента.
Верно ли мыслю?
В общем, прошу помощи с реализацией.