Решил откомментить в форуме по D7, но коммент на целый пост получился, поэтому продублирую и здесь [spoiler] Резюмирую печальное пока что.
D7 упрощает работу, значительно. Можно забыть про богомерзкое копирование осточертевших getlist из модуля в модуль. В общем, все низкоуровневое убрали под капот - круто, спасибо.
Но из-за косяков (значительных пока что) использовать это получается коряво (красивый код, красивый код, херак GLOBALS). Неприятно. Также приходится по прежнему писать хитрые запросы все равно (ну например, insert on duplicate). Коллеги, поясните, как это ложится на схему универсально (mysql/oracle), если мы все равно пишем запросы? Или мы тут от Oracle вообще отказываемся?
Вижу две концовки. Первая - мы, партнеры, по-прежнему не будем наседать на Битрикс, и вот эта вот чудо-платформа и дальше будет существовать вот таким образом. Вторая - дожмем, додавим, и выпросим, и через год можно будет реально просто и удобно писать проекты.
Переходной период сложно дается, руки чешутся вернуться к старым добрым кускам говнокода собственным запросам, но главное заставить, потом все просто и реально экономично получается (и уже не хочется назад). Первый мой d7-опыт в модулях можно посмотреть на http://marketplace.1c-bitrix.ru/solut...d.metrika/ (d7 код открыт, все можно пощупать) С позиции чистого кода он далек до идеала, я бы не стал им хвалиться. Вот почему и хочется получить окончательные инструменты для дальнейшей работы.
Кстати там же, в приведенном модуле, мой собственный опыт убрать все админское под единый класс (D7 в этом ОЧЕНЬ помогает). Корявенько получилось, но получилось (по крайней мере сами админские страницы создаются очень быстро). К сожалению, не имею времени описать все подробно, поэтому тыкайте как есть И призываю Битрикс сделать это штатно.
Шкарупа Алексей, такое удаление дело личное. (и никто не мешает вам написать собственный класс и расширить функционал, если он вам так необходим и это большая проблема). Потому как сразу исключает использование обработчиков, которые сейчас есть по стандарту. Либо их написание и учет всех ньюансов станет довольно трудоемким (а без primari как обработать такие записи? и выполнить тот самый обработчик? ). например, нужно снести все заказы пользователя, а на сайте есть самописный модуль которые делает какие либо действия на обработчике ondelete как написать такой обработчик? А появятся в ORM такие методы, ну и будет соблазн их использовать и не думать об остальных...
Шкарупа Алексей написал: Ведь никто не хочет удалять записи из базы по одной, да?
Дело конечно личное, но я например не хотел бы, чтобы человек используя мой модуль - после тратил дни на поиск той или иной проблемы связанной именно с обработчиками вызываемыми после изменения/удаления/добавления, а после и вовсе брался переписывать модуль и облаживать иксами меня по почте.. Да и самому не очень хочется оказаться в такой ситуации.
Дело конечно личное, но я например не хотел бы, чтобы человек используя мой модуль - после тратил дни на поиск той или иной проблемы связанной именно с обработчиками вызываемыми после изменения/удаления/добавления, а после и вовсе брался переписывать модуль и облаживать иксами меня по почте.. Да и самому не очень хочется оказаться в такой ситуации.
Это вопрос, касающийся конкретной задачи.
все зависит от требований производительности если вам в 15-20 минут надо обабатывать не менее 100-500 тыс объектов вы заговорите по другому
Коваленко Алексей написал: если вам в 15-20 минут надо обабатывать не менее 100-500 тыс объектов вы заговорите по другому
Я не отрицаю, что такие задачи есть, но они частные задачи. Тут как раз и можно написать прямой запрос. И не призываю городить по 500к запросов в цикле. НО - это не та задачи без которой жить нельзя. Кому нужно тот напишет себе нужный метод. А то привыкли, что битрикс все делает сам. А разработчик при любом удобном случае отправляет в поддержку битрикса (порой просматривая сообщения на форуме от пользователя просто...), да и сам же таким стал (я тут не причем, все делает битрикс, мы используем стандартные механизмы и ничего не трогаем).
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».