В списке полей элемента можно сразу выводить значения его свойств. Обязательно должно быть использованы поля IBLOCK_ID и ID, иначе не будет работать корректно.
update items SET item = CONCAT(department_id, '_',type_id, '_', LPAD(item_id,4,'0'));
Пользователи (60+), которые вбивают эти данные привыкли вбивать формата 001, и чтобы время не терять на эти нули, в поле они уже будут подставлены, а в базу пойдут без них.
001
Разве не нужно обработчик в debounce обернуть?