Рейтинг: 0.1654  
Отложено
Предложил Пользователь 13767 23.09.2014 09:08:08

В методы добавления/изменения/удаления добавить параметр, отключающий события.

Несколько раз сталкивался с ситуацией, когда надо связать функционал какого-либо модуля с инфоблоками, и проще всего это сделать через обработчики событий, но тут мы можем столкнуться с зацикленностью, и вот в этой ситуации сабж. бы сильно помог.
Рейтинг: 1.158  
Ответил Жуков Евгений 23.09.2014 10:53:10
Артем, этот вопрос рассматривался неоднократно и решение давно выработано. Отключение событий невозможно - сам продукт их использует. Как избежать зацикленности - тоже известно.
Рейтинг: 1.3771  
Ответил Жуков Евгений 23.09.2014 15:17:07
Рейтинг: 60.2055  
На голосовании
Предложил Пользователь 203730 08.07.2014 16:08:39

Массовые Update и Delete в ORM

В настоящий момент ORM поддерживает только Update/Delete по первичному ключу.

В результате если вам нужно удалить 10000 из 1 миллиона при определенном условии приходится или писать говнокод (перебор в цикле, а при указанных объемах это уже пошаговый процесс) или писать говнокод (sql-запрос ручками с поддержкой 3х баз даных).

В общем даешь методы bulkUpdate и bulkDelete которые смогут:
а) обновлять/удалять записи по условиям а не по ключам
б) смогут использовать в запросах свои же поля (например, увеличить значение целочисленного поля НА 1, т.е. SET x = x + 1)
Рейтинг: 5.9187  
Отложено
Предложил Пользователь 10869 20.02.2014 17:29:09

Методы и события Add, Update, Delete

Во всех методах Add, Update, Delete, сделать возможность отключать отработку событий OnBefore* и OnAfter*

По умолчанию конечно все должно срабатывать.