All streams
Search
Write a publication
Pull to refresh

Comments 168

Прямо с языка сняли статью, тоже хотел однажды написать разбор интерфейса их корпоративного портала, как делать не надо. В нем ужасно практически все, кроме, пожалуй, системы выдачи прав на объекты, оно ещё более менее интересно сделано. Остальное мрак... Даже в редакторе документов куча экранного места теряется на заголовок модального окна, вот прям хочется, чтобы манагерлов и разработчиков этого "продукта" заставили работать на нем без допиливаний и кастома на среднестатистическом ноуте.

Попробуйте на нем восстановить аккаунт сотрудника, если почта была утеряна, или личная. Прошло почти 10 лет, а воз ныне там..

Это какой-то не здоровый кейс. Т.е. почта утеряна, а аккаунт на битрикс надо восстановить? Может начать с восстановления почты?
Я думаю с такими запросами любая адекватная система посылает в долгое пешее путешествие минимум до тех. поддержки.

Всякое бывает, сам сталкивался с подобным несколько месяцев назад (не относится к битриксу). Старый пользователь зарегистрированный на почту корпоративного домена, ящик больше не доступен.

сменить почту в аккаунте пользователя, если у вас есть рабочий административный аккаунт, не представляет никаких сложностей. Если такого аккаунта нет - у вас в любой CMS будет проблема. (например, в WordPress)

У нас на работе есть битрикс24 и там аккаунт является личным аккаунтом человека, а не организации, поэтому вы и не имеете права восстанавливать к нему доступ.

Человек может от вас уволиться и работать с этим аккаунтом в другой фирме, или работать одновременно в двух фирмах, соответственно вы сможете получить доступ на чужой портал, если будет возможность восстанавливать пароли всех, кто у вас работал.

Для чего эти АИ вбросы?

"Своё" как я понял только душераздирающая история вначале про ниндзю?

С чего вообще решили тюнить MySQL, а не выпилить кривой самописный код, который генерит 4500 запросов?

С чего вы решили, что это кривой самописный код? Судя по моему (слава богу, очень небольшому) опыту с Битрикс, это как раз вендорский код.

тысячи и десятки тысяч запросов легко достигаются на штатных компонентах. Например, многоуровневый каталог средних размеров ( до 100к товаров) и компонент menu.sections.

Для чего эти АИ вбросы?

Интересно, что это первый комментарий комментарий за всё время с данного аккаунта, зарегистрированного 15 декабря 2017.

Кто бы говорил про вбросы...

Справедливости ради, статья реально выглядит, как анализ, скомпанованный ИИ на основе нескольких источников

Так и есть в основном ) Но под всем написанным подписываюсь )

С Битриксом я никак не связан, если намёк на это.

До этого просто почитывал. Но уже всё, накипело, - пора начать борьбу с АИ "экспертами".
Каждая публикация - это портянка результат кривого промта, которую даже сам автор не дочитал до конца.

Если бы в статье разложили реальный кейс - показал кривые запросы, кривой типовой код, сравнил замеры производительности с другими CMS в аналогичных кейсах...
Но зачем, и так схавают...

Собственно вот из ТГ уважаемного автора.
Собственно вот из ТГ уважаемного автора.

Никакого своего кода не было)

Нет, он мысли читает на расстоянии

Тот же вопрос к Вам. Судя по ситуации вы даже не разбирались, что там с кодовой базой.

Вместо того чтобы найти причину и устранять её, начали зачем-то "тюнить" СУБД. Причем что там "тюнилось" тоже большой вопрос (тупо конфиг поправили под рекомендации?). Анализ запросов начался уже после. Не исключаю ситуацию, что в результате "тюнинга" увеличили генерацию карточки товаров на условные 15%, при этом уронили корзину на 100.

Сколько лет работаю с битриксом ни разу подобного не встречал. В стандартном компоненте Битрикс нет такого количества запросов в карточке товара, из чего следует что кастомный код или шаблон из маркета там все же был. Если вы используете стандартный провайдер запросов то без труда отыщите какой компонент, класс и вызов метода генерит эти запросы. Ваше нытье по большей части относится не к ядру а к модулям из маркетплейса, которые там размещают все кому не лень, и там полно говнокода. Ни каких проблем с обновлением стандартных модулей ни когда не было. И да, элемент инфоблока можно создать в d7, и это есть в документации, сколько читал подобные статьи всегда было понятно, что автор просто не смог, и решил поныть об этом.

В стандартном компоненте Битрикс нет такого количества запросов в карточке товара

в карточке нет. А в компонентах, связанных с разделами, есть. Особенно если включить галочку "показывать количество товаров".

да, элемент инфоблока можно создать в d7, и это есть в документации

Это не совсем правда. Как элемент инфоблока (то есть кодом в пространстве \Bitrix\Iblock ) вы его создать не можете. Вот свежий код из ядра:

	/**
	 * Add iblock element.
	 *
	 * @param array $data			Element data.
	 * @return ORM\Data\AddResult
	 */
	public static function add(array $data): ORM\Data\AddResult
	{
		$result = new ORM\Data\AddResult();
		$result->addError(new ORM\EntityError(
			Loc::getMessage('ELEMENT_ENTITY_MESS_ADD_BLOCKED')
		));

		return $result;
	}

Но Вы можете работать с таблицей элементов инфоблока как с любой другой таблицей базы данных - разумеется, теряя всю связанную функциональность.

Ни каких проблем с обновлением стандартных модулей ни когда не было

если их не было у вас, это не значит, что их не существует. Я натыкался неоднократно ( особенно в периоды перехода PHP 7.0 - PHP 7.4, PHP 7.4 - PHP 8). Но в общей массе моего опыта ( сотни эпизодов обновления Битрикса) такие случаи были редкостью. Сейчас стало гуманнее в том плане, что система не умирает полностью; буквально на днях обновлял ядро Битрикса, в обновлении произошёл Fatal Error, - обновил страницу админки, снова запустил обновления и процесс пошёл дальше и успешно завершился. ( Встало ли корректно то самое проблемное обновление - увы, не знаю. Вроде, должно было, они заново скачиваются )

если добавить api код к инфоблоку и сгенерировать orm аннотацию, то можно через d7 создавать обьекты конкретного инфоблока и работать с их свойствами.

Он начинался с PHP 4.1.x тогда вообще много чего не было. А теперь есть линейка продуктов, свой какой-никакой фреймворк, позиционка на рынке, что с т.зр. стратегии компании вполне себе результат. К-во запросов обусловлено схемой БД, а не PHP, тем более сейчас версия 8.2.x. (отличный инструмент в умелых руках).

репутация «неprestижной технологии»

Это какой-то эвфемизм? Я что-то хахашечку неуловил.

ChatGPT так иногда некоторые слова пишет

Да и deepseek так же делает.

Да я уже давно понял, что статью AI собирал :)

Так любой ИМ такое же д...мо только в профиль. Помнится лет пять назад целиком интегрировал одно из ведущих решений, для небольшого им/каталога. На тестах оказалось, что генерация футера - 300 запросов. Психанул все удалил и сделал статический каталог. Отлично работает доселе.

Но ведь "в среднем" надо, чтобы "любая домохозяйка как-бы могла как-бы что-то делать"... Поэтому и обмазывают в кучу слоев...

Не любой. Самописные решения вполне позволяют с малым количеством запросов работать.

Так а зачем он тогда нужен, если надо писать все самому?

Самописное решение позволило мне работать вовсе без базы данных :). Но это совершенно иная история.

Речь про более или менее "готовые"

не любой. Я встречал одну CMS, которая на небольшом ( сотни товаров) каталоге и работала быстро, и код был приятный. На тысячах или десятках тысяч позиций там бы начались серьёзные проблемы, это было видно по архитектуре; но нишевый продукт - это тоже хорошо.

За такие цены можно нанять программиста, дизайнера и верстальщика. Они тебе все сбацают на симфони или ларке. Модули для интеграции с 1С продается в интернете огромное количество.

если бы было всё так просто, то давно было бы куча историй успеха типа "за 10 человекомесяцев командой из 3 человек мы создали продукт лучше битрикса по всем критериям". Но этого не происходит, хотя может и произойдет относительно скоро когда кодогенерация через AI станет получше, чем сейчас

если бы было всё так просто, то давно было бы куча историй успеха

Есть ощущение что в этой нише просто нет денег

давно было бы куча историй успеха

мы создали продукт

Остается вопрос нафига, а главное зачем?

Это не что-то запредельно сложное, уникальное или новое. 15 лет назад работал в фирме, которая занималась вэб-разработкой, в т.ч. интеграцией инетрнет-магазинов с 1С. Задача была поставлена на поток.

Попробуй такой функционал хотя бы за 500к написать, как например в редакции "Малый бизнес" а потом поговорим.

Так вопрос в том, что такой функционал не нужен, нужен функционал среднестатистического интернет-магазина

к сожалению, нельзя. Даше если брать старшую редакцию для Интернет-магазинов, "Бизнес" ( там есть множественные склады, порой это нужно), то она стоит всего 83900 р. ( А ещё есть партнёрская программа). Этих денег не хватит даже на месяц оплаты джуна ( не забываем про налоги и прочие отчисления с зарплаты)

Обычный интернет магазин с выгрузкой в 1С можно сделать и за 100к. Если не требовать кастомные вещи и пользоваться готовыми.

Немного странно в 2025-м убеждать программистов не пользоваться неисправимо глючным легаси вендором, которого пинают за всё плохое уже лет 10 как минимум

как будто программист это ЛПР

Перефразируя классику, продукты делятся на два типа: те, которые все ругают, и те, которыми никто не пользуется)

Для разработчиков 1С-Битрикс давно стал притчей во языцех — символом неэлегантной разработки и технического долга.

ALWAYS HAS BEEN

Причём задолго до своего рождения. Ибо это творение - пасынок 1С: Бухгалтерии...

Прежде чем писать подобную чушь, ознакомьтесь с предметом

Я прекрасно знаем с предметом и отлично помню, как он создавался и развивался. Битрикс мог стать нормальным продуктом, исправить архитектуру, исправить отношение к экосистеме плагинов, но под крылом 1С вместо исправлений было решение строить костыль на костыле, на код начхать, а продажи обеспечиваются за счёт мощи материнской компании и вендор лока.

О том, как всё плохо в самой 1С, можно прочитать в вашей же статье "почему 1С это хорошо". Поэтому в Битриксе тоже ничего не исправляли, а наслаивали одно неудачное решение на такое.

Была такая машина ИЖ "Ода", которая была изначально создана с кучей неудачных решений, про неё ещё говорили "ИЖ "Ода" - ошибка завода". Битрикс - та же "Ода", только у бизнеса в России было мало альтернатив - либо биться с интеграцией со Складом и Бухгалтерией самостоятельно, либо - Ода, то есть Битрикс. Других причин его покупать не было, конкуренты с рынка вымывались.

И всё это заворачивается в сообщество "разработчиков Битрикс", которые хорошо знают, как обслуживать это чудо технической мысли и знают, как правильно навешать грузики на правое заднее колесо, чтобы одно от вибрации не отвалилось на ходу как какой плагин поставить и дописать, чтобы работало вместо того, чтобы заниматься собственно разработкой.

И похоже не только Битрикс. Когда я увидел язык программирования надстроек 1с я просто "был поражен", зачем понадобился свой кривой язык программирования? А может ресурсы, затраченные на его разработку и интеграцию было пустить на улучшение самой программы? Умом Россию не понять...

В 1996 наблюдался определенный дефицит не кривых языков программирования. Сравнивая с бейсиком 1С не столь уж и кривой. А потом пошло-поехало.

Другой вопрос, что при в общем-то огромном развитии платформы, развитие самого языка несколько отстало.

В 1996 наблюдался определенный дефицит не кривых языков программирования.

Pascal, С++, Java, JS, Python, Perl, PHP.

Даже Питон был бы лучше.

Жава и Питон находились в зачаточном состоянии, Дельфи только появился. Писать что-то большое на Паскале было трудновато. А идея создания предметно-ориентированных языков была вполне популярна. Как и идея вендор-лока :)

Тогда в целом идея IDE находилась в зайчаточном состоянии. Я не знаю, как выглядела среда разработки 1С в 96 году, но сильно сомневаюсь, что она могла по удобству, функционалу и быстродействию конкурировать с той же Delphi. Но речь-то не о средах, речь о языках. А если говорить о языках, то в 96м году на всяких разных языках активно писали всякое гораздо более большое, чем пишут на 1С.

Битрикс изначально создавался в партнерстве с 1С

Насколько я помню, это не так. Партнерство появилось где-то с версии 6.0 или около того.

какое число SQL-запросов, оказывается, нужно битриксу чтобы отобразить обыкновенную страничку с описанием товара в магазине

Да, такая проблема была (или есть), но в моем случае вылечилась постановкой задачи разработчику сайта. Он переделал страницу на других компонентах (тоже штатных) и проблема почти ушла. Запросов стало меньше сотни на страницу.

меньше сотни на страницу

Круто!

Да я бы не назвал это круто. Просто терпимо. В предыдущей самописной редакции этого же сайта запросов было в разы меньше на страницах с тем же функционалом. Но зато посчитать эти самые запросы было довольно затруднительно. А в Битриксе я использовал готовую аналитику для этого.

Сколько человеко-лет займет сделать полноценный Интернет-магазин со всеми интеграциями (ЯМ, службы доставки, оплата), SEO-заморочками, чатом поддержки и выгрузкой товаров из того же 1С талантливыми PHP-разработчиками на Laravel?

Может люди программировать разучились? Я лет 15 назад прикрутил к сайту интернет-эквайринг за месяц, из них на разработку ушло дня три, остальное орг. вопросы и тестирование.

Что за магия в интеграциях? Jsonы сложно нагенерить?

В программирование пришло много неподготовленных людей и ещё больше маркетологов.

Сколько человеко-лет займет сделать полноценный Интернет-магазин со всеми интеграциями (ЯМ, службы доставки, оплата), SEO-заморочками, чатом поддержки и выгрузкой товаров из того же 1С

А сколько человеко-лет это займет в Битриксе?

Вы видимо опечатались в словосочетании человеко-часов

Самое интересное здесь, что не смотря на то, что Вам не нравится (да и мне не нравится), всё (ВСË) Вами перечисленное является успешной бизнес-моделью.
Дешёвое для производителя.
Преемственное.
Создающее рабочие места.
Поощряющее рост профессионализма участников в своей (битрикс) нише.
Экосистемное, дающее ответ на ВСЕ запросы клиентов, пусть и не всегда красивый.
Привязывающее к надёжному поставщику, который не исчезнет с рынка.
Практически безальтернативное, когда речь идёт об ОЧЕНЬ крупных решениях.
И многое другое....

Такой вот парадокс инженерного против рыночного.

Vendor-lock, монополизм и нечестная конкуренция с использованием госресурса - они такие, создают экосистемы, рабочие места и являются усмешкой бизнес моделью.

Какой госресурс использует Битрикс? Смешно читать.

Если про реестр российского ПО, то попасть туда может любой, при желании.

1С (не Битрикс, а основной продукт), продвигался за счёт "дружбы с государством". "Парус", например, был намного более современный и удобный продукт на тот момент, но возможностей для равной борьбы у них не было. Было использование административного ресурса, когда одна компания получает вид необходимую информацию и документацию мгновенно, а другая - с заметным опозданием, что для бухгалтерии чревато большими проблемами. И было это задолго до "реестра российского ПО"

Может просто разработчики Паруса медленно соображали. Или доподлинно известно, что кто-то мешал им дружить с кем надо?

Я уже не могу вспомнить точно, это 1С просто выдавали всё необходимое быстрее остальных или остальным медленнее и не всё, но результат был один - хочешь работать без штрафов, работай с 1С. И дело было не в программистах.

Вы серьёзно ? Парус был связан с бюджеткой больше 1С. И связи в органах у них были получше 1С, особенно на стартовом этапе :)

Это не про бюджетку

Я 15 лет занимаюсь успешной разработкой на битрикс и не согласен почти ни с чем. Голословные обвинения рушатся всего-то одним аргументом - вы просто не умеете работать на битрикс. За все годы я исправлял больше сотни проектов после разработчиков, которые даже не умудрились пройти базовый курс с объяснениями как работает система. Зато эти же разработчики оставляли потом негативные отзывы.

Основная ценность Битрикс это админка и готовый функционал. Разработчик на битрикс это очень разносторонний разработчик, который умеет и фронт и бэк, и ковыряться с настройками, и читать легаси код, и тюнить конфиги серверного ПО, и понимать как обновляется система, и читать курсы и меняющиеся документации. Ни одна система настолько не требовательна как битрикс, но когда ты в нём разобрался, ты там как рыба в воде всё ясно и понятно - сиди и работай. Звпустить магазин за неделю - легко. И что там не так с 1с интеграцией? Модуль накатил в 1с, за пару часов настроил и всё работает - проверено неоднократно.

И да D7 и копилот представляли в совершенно разных обновлениях и презентациях.

А еще я могу спокойно обновлять мажорные версии системы, если всё сделано в рамках документации.

С битрикс надо уметь и хотеть работать, тогда всех выдуманных проблем нет или они решаются.

Напишите, для начала, с проектами какой сложности у вас был опыт. Какой объем таблицы товаров и количество видов цен?

Я все сотни проектов описывать не буду, но расскажу про один. Есть рынок электротехнических товаров: кабели, автоматы, розетки и проч. Так вот на этом рынке есть несколько лидеров-производителей, а есть лидеры-продажники. И есть такая компания Толедо, для которой я участвовал в разработке b2b портала. Товров там порядка 2 млн, цен 5 + индивидуальные. 2 интенрации с 1с: первая обычная товары, цены, остатки; вторая кастомная через веб-сервис 1с. Поиск sphinx. Веб сервер еще старый идёт с апач, были уже тесты безв апача, работает еще быстрее, но пока не перешли бэна версию без апача. И это БУС.

Даже при таком кастоме, портал регулярно обновляется, успешно и легко мигрировал с php 7.3 на 8.3.

В статье ничего нет про уровень проектов, просто описано что всё плохо.

Актуальная версия модуля обмена с сайтом для конфигурации УТ - 7.0.2.23. Регистрация изменений сделана на уровне товаров, то есть при изменении одного вида цены по одному товару типовой модуль обмена будет выгружать все товары, со всеми видами цен, свойствами и т.п. Даже на 100 тыс товаров это просто умрет, пакеты не будут успевать обрабатываться в Битрикс. О каких 2 млн тут вообще может идти речь

И цена почти везде "по запросу" и остатка нет. Не случайно ли? Передать товары можно, раз в неделю полной выгрузкой, так как типовой модуль не умеет передать на сайт информацию что нужно только один товар удалить

Нет не случайно, по запросу товар, потому что он по запросу в рамках бизнес логики и всё. То есть товара физически нет.

Я не за и не против битрикс (не сталкивался, но 1С это мрак со стороны баз), я тыкнул просто в одну из ссылок по вашей ссылке.

лол, погулял по сайту буквально пару минут


Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 45056 bytes) in /home/bitrix/www/bitrix/modules/main/classes/mysql/database.php on line 499

[ErrorException] E_ERROR
Allowed memory size of 1073741824 bytes exhausted (tried to allocate 45056 bytes) (0)
/home/bitrix/www/bitrix/modules/main/classes/mysql/database.php:499
----------

https://its2.ru/catalog/50_dopolnyayushchie_katalogi/abb_s/ вот тут в одном только разделе около 35 000 товаров

Я как будто wayback machine открыл где-то на начале нулевых. Это вы это успешной разработкой называете?

Да и вы пишите чушь. При выгрузке цен, ничего кроме цен не выгружается + выгружаются цены только измененных товаров, а не весь каталог

https://dev.1c-bitrix.ru/api_help/sale/xml/index.php

Я окончание неправильное написал, конечно же выгружается карточка товара со всеми ценами. Но так как при изменении цены или остатка помечается к выгрузке карточка товара, то она уйдет вместе со всеми свойствами пусть и в другом узле обмена

Нет не уйдёт. Профиль выгрузки млжно настроить так что будет уходить только цена без свойств и остатков. То есть только файл prices.xml

В 1С настроены 2 узла, один для передачи товаров, другой для передачи цен. При изменении одного вида цены одного товара к изменению зарегистируется изменение товара на узле товаров и на узле цен. При очередном обмене из первого узла выгрузится товар со всеми свойствами, а из второго все цены, коих могут быть десятки или сотни.

Вкусвилл на Битриксе

Интересно, сколько они вложили в создание сайта плюс к лицензии и на что это пошло. Полагаю, кастомными доработками можно сделать все что угодно.

ХЗ что у них с сайтом, но приложуха лагает безбожно.

Боже, какая бредятина. Ни разу не фанат битрикса, но он может нормально работать если его правильно готовить. Прямота рук и мозги мастера вот что главное для любого инструмента.

Почему сертифицированные 1с специалисты не справляются ? Как так выходит ?

Я пользовался Битриксом еще в те времена, когда его еще не купила 1С. И пользуюсь сейчас. И как бы даже не задумывался, что все так плохо.

Принцип "крикикуешь - предлагай" никто не отменят, приведите несколько примеров альтернатив без описанных Вами проблем?

Когда-то давно, мы выбрали Опенкарт ("российской сборки").

ОЧЕНЬ медленные и до сих пор написанные на PHP (!);

Проблема не в PHP, а в том как оно написано - если его "один в один" перепишут на любой другой язык, получится то же самое чудище, только в профиль.

Справедливости ради - встречаются продукты и хуже (например, исходники в базе/облаке, которые исполняются через "eval").

установлен был он на самой дорогой VPS на SSD у нас на reg.ru.

Мне одному показалось, что reg.ru собирается поднять цены на и без того overpriced тарифы для битрикс-сайтов?

Походу вот и мотив, чего у автора типа накипело) Подготовить фон для изменения прайса))

Кстати, что касается юзабилити - у Рег.ру кабинет иногда тоже мозгом сложно понять. Не жесть как в РуЦентре, конечно, свят-свят, но про своё бревно в глазу забывать регрушке точно не стоит

обновлять боевой проект на Битриксе можно только по многоступенчатой схеме: сперва на тестовом стенде, потом на стенде для тестового стенда, затем точечно на копии базы

Кажется, нейросеть не совсем верно уловила мою иронию. Вот мое оригинальное изречение, тут же, на хабре:
Каждое обновление как пороховая бочка - сперва на тесте, потом на тесте теста, потом тестирование теста... ну вы поняли.

BitriXуй гавно. Подпишусь под каждой буквой статьи. 5 лет эксплуатации. 5 лет доводки и донастройки. И постоянные отговорки интегратора: "Это в код надо лезть". А эпичное требование перезагрузки компа для обновления клиента — высерьёзна?

А эпичное требование перезагрузки компа для обновления клиента

Что???

Что? При обновлении клиентского приложения битриха требуется перезагрузка компа. Вот что.

Что такое клиентское приложение битрикса?

Дрянь редкостная, по сути одновкладочный браузер с тем же тормозным веб интерфейсом.

Ссылку дайте посмотреть о чем речь, пожалуйста.

наверно он имел ввиду клиента битрикс24 для пк.

Вот это поворот! Кошка бросила котят - это Битрикс виноват)))

Ещё одна статья погубленная ChatGPT.

О, это вы ещё Siebel или SAP не видели... Любая система, растущая из ручной доработки под каждого клиента будет такой. Про собсно 1С, наверное, вы и так знаете 😁😁😁

Не удивлен, что фронтенд имеет проблемы с масштабируемостью.
Подсистема 1С для интеграция с Битрикс, на которую ведутся будущие клиенты, сделана настолько криво и неправильно, что ее проще переписать с нуля. А если переписывать с нуля, зачем тогда Битрикс? Только студентам-недоучкам могла прийти в голову идея передавать цены вместе с карточкой товара и исправить это можно только сторонними средствами, так как эта "особенность" зашита в схему обмена.
Все это будет работать только в магазине с несколькими сотнямя товаров и когда подавляющая часть покупателей - розница с одинаковыми ценами
На мой взгляд, компания 1С позорит свое доброе имя подобным сотрудничеством. Лучше бы потратили ресурсы на разработку стандартного интерфейса http сервиса для интеграции с интернет-магазинамм и встроили его поддержку в линейку УТ/КА/УП

передавать цены вместе с карточкой товара

Это неправда, уже давным давно настраиваются раздельные передачи свойств товаров, цен и остатков и для каждого профиля настраивается как часто обновляются конкретные данные. У меня есть опыт передачи даже 2х каталогов на 1 сайт - оптового и розничного и при этом они не смешиваются, не мешают друг другу и передаются успешно.

Напишите в таком случае тег формата обмена с сайтом, в котором можно отдельно передать цены и отдельно остатки

Давно цены передаются в специальном файле prices.xml

https://dev.1c-bitrix.ru/api_help/sale/xml/index.php

Я не про файл спрашивал, он действительно отдельный, а про отдельную выгрузку цен и остатков без информации о товарах. Для этого нужна отдельная регистрация изменений для них, а этого нет

я не понимаю ваш вопрос; вы про какую-то специфику на стороне 1С говорите? Просто я 1С в глаза не видел (скриншоты от заказчиков не в счёт), я только на стороне Битрикса работал.
Прилетает файл offers.xml , там только цены и склады в начале, а затем идут цены и складские остатки по каждому товару.
Если вы хотите "как в offers.xml, но 2 файла - цены отдельно, остатки отдельно", такого я не знаю. Коробочная часть так тормозила, что я с самого начала переписал на свою реализацию, так оно и живёт уже который год ( и работает несравненно быстрее, чем коробка) :)

Мой выпрос был адресован не вам, а @dima_kos, который написал что из коробки обмен 1С с битрикс прекрасно работает с сотней тысяч товаров

Редко пишу комментарии, но тут тяжело не отписаться. Сразу договорюсь, что к интернет-магазинам почти ни разу не притрагивался и работал в первую очередь с Корпоративными порталами. Однако ядро везде одинаковое и потому мое мнение имеет место быть.

Про Битрикс много всего плохого можно сказать:
- Обилие легаси? Да.
- Запутанный функционал и кодовая база? К сожалению да, нужен год просто чтобы начинать понимать bitrix-way (типо мы тут все молодежные).
- Страх при каждом обновлении? 50/50 (об этом ниже)
- Плохое мобильное приложение? Да. Без аппеляционно.

И при всем при этом.... Статья меня напрягла откровенной дезинформацией в ряде случаев....
Думаю построить свой комментарий так:
1. Сначала притензии к статье
2. Потом пояснение за все накопленные вопросы.

Тейк №1: Непродуманная система, которая генерирует 1800+ запросов на простую прогрузку и написана на PHP(!)

Я когда впервые прочитал это даже несколько раз проверял "не показалось ли". Самая тяжелая страница, на моей памяти, генерила 200+ запросов(можно даже на самой странице глянуть черещ режим откладки в админ-панели сверху) и сразу же уходила в кэш на сутки, после чего отдвалась за считанные мгновения. 1800 - для стандартной реализации Битрикса - невозможная цифра. Такое возможно только при кривой доработке и запросах к БД в цикле (кривой код - везде кривой и вопрос не к Битриксу, а к разрабу который это сделал да и еще умудрился ПОДКЛЮЧИТЬ НА КАЖДУЮ СТРАНИЦУ (!!!!) (скорее всего через события), раз такие цифры были на всем сайте. Я очень надеюсь, что это просто один гипертрофированный пример).

Конечно сам Битрикс не болид и к скорости его работы МОЖНО предъявлять притензии.... Но если его доработкой занимается человек, который хотя бы базовый экзамен прошел - он такой херни не допустит.

+ отдельно стоит упомянуть, что Битриксоиды движутся в нужную сторону и оптимизацией занимаются. Как новое ядро, так и переписывание всего в UX на реактивные фреймворки (внешний вид становиться кратно лучше и скорость работы страницы тоже повышается), да и просто переход на новые версии инструментов (вроде PHP8+) постепенно, но приводит к позитивным сдивигам в вопросах производительности. Чтобы современные версии работали медленно.... У меня много вопросов к программистам, которые довели современную систему до такого состояния....

Тейк 2. Через ORM нельзя работать с инфоблоками (основным способом хранения информации).

Откровенная дезинформация. Лови простой код:

$iblockModel = Iblock::wakeUp(*id-инфоблока*)->getEntityDataClass();
$data = $iblockModel::query()->where('ID', 1)->fetch();

Две строчки кода и ты можешь забрать информацию из инфоблока.
А как создать запись?

$row = $iblockModel::createObject();
$addResult = $row->set('NAME', 'Автор забыл')->save();

Тоже две строчки. И это чисто ядро, без создания своих вспомогательных классов и прочего :)
ORM-вездесуще :)

Тейк 3. Функционал ради функционала. Столько всего, а толку ноль.

Должен признать, что когда впервые знакомился с системой и сам страдал такими мыслями. Одно только обучение "как пользователю" потребовало от меня 2-х недель нон-стоп чтения helpdesk (хотя я был сотрудником в компании-интеграторе, так что даже по сравнению с обычным пользователем мне нужно было знать много и досконально, чтобы хотя бы отвечать на вопросы клиентов) и назвать ее дружелюбной с первых секунд.... Несколько проблематично.

Однако со временем я стал понимать зачем там это все спрятано. И что смешно - нужно оно не столько пользователю... Сколько программисту.

Возьмем простую задачу: "Создать/развернуть систему, которая позволит контролировать работу сотрудников, унифицировать взаимодействие(в том числе документооборот) и в целом облегчать работу путем автоматических напоминаний о том-сем"

Это не космическое требование, а буквально первая необходимость с которой сталкивается молодая компания, где штат достиг хотя бы 20-30 человек.

И поставь такую задачу разработчику, который не знает о Битриксе - он как минимум афигеет и зарядит внедрение на пол-года, если не больше.

Но стоит вспомнить о Битриксе.... Там такая базовая потребность УЖЕ реализована из коробки. И премущество в том, что в любой момент у компании может быть новая потребность, которая уже "специфична" под ее род деятельности. В другом, самописном инструменте, потребовалось бы изобретать как всю логику с нуля, так и подгонять под критерии того же документооборота. А в Битриксе.... В нем столько базового функционала спрятано.... Что на его основе можно минимум половину всей работы упразднить обычными вызовами Стандартных классов. Нужен интерфейс? Вот тебе UX компоненты и расширения самого Битрикса (стили и скрипты включены). Нужно хранение? Держи инфоблоки(для пользователей) и HlBlock, если нужны просто таблицы. Работа с пользователем, правами, файлами - в том или ином виде это УЖЕ лежит в Битриксе и тем самым скорость разработки кратно повышается без необходимости тянуть внешние библиотеки, которые мог написать как уверенный разработчик, так и Вася-вайбкодер. А тут всё уже приведено к единому стилю, есть контакты разработчиков(условно) и всё это УЖЕ вплетено в экосистему. Чтобы доработать Битрикс нужно прикладывать кратно меньше усилий чем в любом другом случае. И большинство запросов от клиента решается либо ВООБЩЕ без вмешательства разработки (где-то уже лежит нужное), либо решается "поверх" уже знакомого пользователю функционала.



Ответы на накопившиеся вопросы:
1. Так неужели система всё таки прекрасна?

Смотря с чьей стороны.
С точки зрения пользователя - система на самом деле хороша и решает много задач из коробки, от продаж, до документаооборота и статистики. Всё это уже завернуто в UX и позволяет даже без знания кода делать сложную автоматизацию людям, которые соврешенно не знакомы с кодом (передаем привет функционалу "Бизнес-процессов"(визуального программирования из блоков))

С точки зрения разработчика - это ад, в котором со временем становиться комфортно жить (начинаешь получать удовольствие от кипящей вокруг магмы).
Порог вхождения в разработку - крайне высокий. Нужен год или два просто чтобы начать что-то понимать в этой системе и уметь ее кастомизировать. На каждом шагу будет КУЧА нюансов, начиная с "легаси" и заканчивая тем, что в Битриксе огромная проблема с документированием функционала. Не в первый раз слышу, что документация Битрикса - это его исходники - всё остальное от лукавого)

Система далеко не идеальна и мне, как разработчику, не в первой делать куклу вуду на авторов некоторых решений ядра. Но стоит признать.... Что развитие системы идет в нужном направлении. Многое легаси постепенно выноситься за скобки, производитеность и удобство повышается + само развитие идет в соответсвии с современными трендами (включая тот же ИИ).

Система не идеальна - но она не просто так держится в топе и у нее по сей день мало конкурентов.

2. А что касается обновлений? Они что, не бочка с порохом?

Если не трогать ядро - нет. У Битрикса есть постулат, что ЯДРО нельзя трогать даже под страхом расстрела. В 99% случаев, если ядро не менялось разработчиком - любое обновление пройдет спокойно и без ошибок.

Но вот возможно ли обойтись без изменения ядра?.... Тут.... Всё не просто....
Битрикс - большая система. Но далеко не на все случаи жизни ядро продумано. Периодически приходиться как редактировать стандартные компоненты (что тоже ядро(!!!)), так и некоторые системные функции, которые просто имеют БАГ(!) или наоборот НЕ ИМЕЮТ "событий", к которым можно было бы подключиться или просто стоит "хардкод" какого-то параметра.

Вот тут.... Действительно каждое обновление - как игра в русскую рулетку. Кол-во молитв и взываний к богу в момент нажатия в админке "загрузки обновлений" больше, чем в любой церви :)

И тут можно как в сторону Битрикса кидать камни.... Так и в сторону разработчиков.

3. В комментари и статьях постоянно упоминается легаси. Неужели это действительно вездесущая проблема?

Да. Я бы даже сказал это САМАЯ ГЛАВНАЯ проблема Битрикса. Даже то, что выглядит "по-современному" на интерфейсе.... Под капотом может быть таким страшным функционалом, написанным на коленке.... Что плакать хочется.

Всё что касается ядра D7 или ORM - зачастую прекрасно и удобно.
Но вот проблема в том... Что D7 - это не полная замена ядра.... Это скорее огрызок на 1/3 всего функционала, который действительно осовременили. Всё остальное - может быть как идеалом отвратительно написанного спаггети кода, так и огромным костылем, который сделали из обломков других костылей. И работает оно ровно до той поры... Пока это никто не меняет.

Микро-вывод: Битрикс - это неплохой продукт. И активный пиар у них начался не так давно, чтобы говорить исключительно о маркетинге. С ним можно работать и его использование на самом деле позволяет снизить либо расходы, либо операционку.

Но и расти этой системе - еще есть куда. И я лишь желаю Битриксоидам довести D7 до абсолютной замены старому ядру и развивать систему дальше :)

P.S Но вот хардкод в модуле диска + базе знаний я вам не прощу....


Замечательный комментарий!

Замените статью на этот комментарий....

опровержения к некоторым вашим утверждениям (может, можно было собрать и больше, но это неоправданная для меня трата усилий):

1800 - для стандартной реализации Битрикса - невозможная цифра.

Открыл навскидку пару интернет-магазинов на битриксе, зашёл в публичной части в раздел каталога, "отладка" -> "суммарная статистика", "сбросить кэш" и смотрим:
один - 1819 запросов,
другой - 1999 запросов.
"Криво" для Битрикса - это когда тут счёт идёт на десятки тысяч :)

То же самое для сайта, где всё, что касается списков товаров, и товар детально - написанные с нуля компоненты: 244 запроса.
Нужно, конечно, помнить, что этим способом считаются не все запросы; модуль "Монитор производительности" считает точнее, и там цифры получаются больше.

Такое возможно только при кривой доработке

Тот сайт, где было 1999 запросов: типовой интернет-магазин (то есть без каких-то странных хотелок клиента), использовано решение от компании Аспро, интеграция решения также выполнена этой компанией. Компания Аспро - золотой сертифицированный партнёр Битрикса. И это не единственный пример.
Оффтопик:: полистал список этих партнёров, куда-то пропал один из мастодонтов ( много лет сидел в топ-3). Умерли или переименовались?

Тейк 2. Через ORM нельзя работать с инфоблоками (основным способом хранения информации).
Откровенная дезинформация. Лови простой код:

Вот только коробочный код в не возвращает экземпляры сущностей, связанных \Bitrix\Iblock\Elements\Element{*код*}Table . Он вернёт вам экземпляр сущности, связанной с \Bitrix\Iblock\IblockElementTable , а там как раз обозначенная автором статьи проблема в наличии. И лично я с этим сталкивался, хотя сейчас не вспомню, как именно.

Возьмем простую задачу: "Создать/развернуть систему, которая позволит контролировать работу сотрудников, унифицировать взаимодействие(в том числе документооборот) и в целом облегчать работу путем автоматических напоминаний о том-сем"

Извините, но ваша задача - это "купить Боинг". И вряд ли кто будет спорить, что купить Боинг проще и дешевле, чем разрабатывать свой самолёт.

Пример менее сложной задачи от заказчика ( лично я не готов назвать её простой): запустили интернет-магазин, всё отлично. Теперь нужно ровно то же самое, но на белорусском. В Битриксе есть многосайтовость, так что за отдельную лицензию мне платить не надо. И каталог, разумеется, должен быть один; там всего-то добавить название товара на белорусском и описание. Это же недолго, да? А потом ещё казахский сайт запустим!

В Маркетплейсе в тот момент были модули локализации, но очень жуткие.

Чтобы доработать Битрикс нужно прикладывать кратно меньше усилий чем в любом другом случае.

Слишком вольно обобщаете. Мой опыт говорит так: порой нужное решение не вписывается в рамки Битрикса на считанные проценты, но именно это ставит крест на использовании того, что вписалось.

HlBlock, если нужны просто таблицы

Если нужны просто таблицы, то надо делать просто таблицы и генерировать таблеты к ним. HL блоки тащат ACTIVE, CODE и другие ненужные поля. Однако, используя таблеты, вы теряете всю интеграцию - использование в свойствах инфоблока, в компонентах и так далее.

И большинство запросов от клиента решается либо ВООБЩЕ без вмешательства разработки (где-то уже лежит нужное), либо решается "поверх" уже знакомого пользователю функционала.

Но при этом оставшееся меньшинство из коробки решается или очень криво, или никак.

ЯДРО нельзя трогать даже под страхом расстрела.
...
Периодически приходиться как редактировать стандартные компоненты (что тоже ядро(!!!)), так и некоторые системные функции, которые просто имеют БАГ(!) или наоборот НЕ ИМЕЮТ "событий"

Как говорится, "вы или крестик снимите, или трусы наденьте". Значительная часть хейта в сторону Битрикса как раз из-за того, что в ядре что-то криво, а допустимые лицензией способы решения - это прорва работы. Если я из-за бага в ядре не могу это ядро использовать, зачем мне вообще эта система? Есть фреймворки; админка в них генерируется с помощью готовых утилит и кастомизируется при необходимости. Если вы решили посвятить себя разработке сайтов, и планируете хотя бы в среднесрочной (3-5 лет) перспективе, то лучше вкладываться не в Битрикс.
"Здесь и сейчас как-нибудь запуститься, лишь бы работало" - Битрикс для этого вполне годится, ибо коробка. Но таких "коробок" уже немало, кому-то и Тильда подойдёт.

И активный пиар у них начался не так давно, чтобы говорить исключительно о маркетинге

Активный пиар у них начался в момент создания, и был настолько успешен, что 1С их купила. Потом, правда, не поняла, зачем. С тех пор, по-моему, накал пиара не угасал.

Дам пару комментариев к вашему комментарию:)
Открыл навскидку пару интернет-магазинов на битриксе, зашёл в публичной части в раздел каталога, "отладка" -> "суммарная статистика", "сбросить кэш" и смотрим:один - 1819 запросов,другой - 1999 запросов."Криво" для Битрикса - это когда тут счёт идёт на десятки тысяч :)

Прошу прощения, случайно отправил и не дописал.

Исправляюсь:

Дам пару комментариев к вашему комментарию:)
За оформление прошу прощения, привык писать заметки и прочее в Obsidian, так что оформляю как .md файлы.

>> Открыл навскидку пару интернет-магазинов на битриксе, зашёл в публичной части в раздел каталога, "отладка" -> "суммарная статистика", "сбросить кэш" и смотрим:один - 1819 запросов,другой - 1999 запросов."Криво" для Битрикса - это когда тут счёт идёт на десятки тысяч :)

За интернет магазины не могу не подтвердить, не опровергнуть, так как(говорил в изначальном комментарии) - не работал с ними. Только корпоративные порталы и иногда мелкие доработки/анализ магазинов, но не более.

Свои аргументы в первую очередь направляю в сторону Битрикс24. Корпоративный портал. Однако, учитывая популярность для магазинов(есть пара клиентов у нас), сложно поверить что в стандартной реализации магазина такой бардак. Зная ядро и его возможности - запросы в цикле нередко решаются передачей в копоненты уже готовы данных "одиночного" большего запроса. А не вызовом в каждой компоненте новой строки из БД. Если такое действительно в стандартных решениях или в решениях от золотых партнеров - мне правда их очень жаль :(. В корпоративной портале 200+ запросов - это действительно максимум, который видел на стандартных компонентах. Не говоря уже о том, что многое переписывается на реактивные компоненты, которые вместо каскадной отрисовки вложенных компонентов - просто обращаются в 2-3 запроса на бек и получают все необходимое без вложенных костылей.

>> Вот только коробочный код в не возвращает экземпляры сущностей, связанных \Bitrix\Iblock\Elements\Element{*код*}Table . Он вернёт вам экземпляр сущности, связанной с \Bitrix\Iblock\IblockElementTable , а там как раз обозначенная автором статьи проблема в наличии. И лично я с этим сталкивался, хотя сейчас не вспомню, как именно.

Тут, к сожалению, не совсем понял о чем речь, так как каждый Инфоблок имеет свой Динамически-сгенерированный класс-модель. Простой пример, только что выполнил на портале:
$dataClass = Iblock::wakeUp(iblockId)->getEntityDataClass();
В итоге получился следующий класс:
\Bitrix\Iblock\Elements\ElementCashExpenseTable

И если будут reference - то спокойно понятно что за модель/инфоблок. Возможно вы имели ввиду что-то иное, но ответил как смог, прошу не кидаться излишне помидорам)

>> Пример менее сложной задачи от заказчика ( лично я не готов назвать её простой): запустили интернет-магазин, всё отлично. Теперь нужно ровно то же самое, но на белорусском. В Битриксе есть многосайтовость, так что за отдельную лицензию мне платить не надо. И каталог, разумеется, должен быть один; там всего-то добавить название товара на белорусском и описание. Это же недолго, да? А потом ещё казахский сайт запустим!

Хотя мы этим редко пользуемся(просто нет многоязычности на корпоративных порталах, зачастую), но справедливости ради отмечу - что есть lang-файлы, которые легко превращают сайт, портал или что-либо еще в многоязычный сайт. Единственный вопрос - это содержимое сайта, вроде названия товаров, статьей и прочего. Но тут я бы мог предложить "вытащить" все текстовые данные из Битрикса, запомнить связку, скормить какой-нибудь нейронке(для качества), чтобы она перевела это на нужный язык и сохранить "содержимое" как альтернативу. А потом просто все новые товары/статьи вести уже на всех поддерживаемых языках или сразу доработать редактор так, чтобы он автоматом все новое кормил на перевод всех поддреживаемых языков. Примеров привести не могу, но за пару минут в голову приходит такое решение и не похоже(по крайней мере у меня в голове) - что тут что-то ломается.

>> Слишком вольно обобщаете. Мой опыт говорит так: порой нужное решение не вписывается в рамки Битрикса на считанные проценты, но именно это ставит крест на использовании того, что вписалось.

Будет похоже, словно я придираюсь к словам, но если решение не вписалось на "считанные проценты" - это победа) Значит вам вместо 100% надо выполнит оставшиеся проценты. Как минимум сделать варварское решение и просто форкнуть нужный функционал, вынести в отдельный модуль и доработать под себя несостыковки.

У нас с вами разный опыт, да и спорить тут "кто прав, а кто нет" - сложно, так как потребовало бы выйти за пределы комментирования к небольшому рабочему исследованию, но в противовсе скажу свой опыт, повторив за собой из первого комментария: "Когда нас просят о чем-то новом, первое что мы делаем - это ищем то, что уже реализовано в Битриксе и просто дорабатываем под свою задачу. В 90% случаев это работает и половина всей разработки смещается в применение уже готового, а оставшееся - в реальную разработку. И что тут хорошо для пользователя - выглядит для них это всегда знакомо. Многое можно провести либо как бизнес-процесс, либо как задачу, либо CRM-сущности(Сделки, Лиды, Смарт-процессы) и со всем этим работники портала уже знакомы и не теряются, когда эта часть просто обрастает новыми возможностями. И это действительно помогает как ускорить разработку, так и адаптацию сотрудников к "новому".

>> Как говорится, "вы или крестик снимите, или трусы наденьте". Значительная часть хейта в сторону Битрикса как раз из-за того, что в ядре что-то криво, а допустимые лицензией способы решения - это прорва работы. Если я из-за бага в ядре не могу это ядро использовать, зачем мне вообще эта система? Есть фреймворки; админка в них генерируется с помощью готовых утилит и кастомизируется при необходимости. Если вы решили посвятить себя разработке сайтов, и планируете хотя бы в среднесрочной (3-5 лет) перспективе, то лучше вкладываться не в Битрикс."Здесь и сейчас как-нибудь запуститься, лишь бы работало" - Битрикс для этого вполне годится, ибо коробка. Но таких "коробок" уже немало, кому-то и Тильда подойдёт.

Конечно немного задевает, что был использован пример с трусами и крестиком, но буду считать это вашей манерой без личночных нападок)

Относительно "НЕЛЬЗЯ ТРОГАТЬ ЯДРО" и "ПРИШЛОСЬ ВНЕСТИ ПРАВКИ" - это, в реальности, сводиться к лени создавать свой функционал, когда стандартный уже почти готов, просто бы небольшие корректировки внести)

По своему опыту могу сказать, что правка в ядро не обязательная даже в самом худшем случае. Баги - пускай и медленно, но всё же правятся(особенно если долбить в поддержку не просто "у вас косяк, ищите сами", а прямо написать "ошибка тут, выяснили что она происходит потому что, мы поравили ее таким образом и вам рекомендуем. Может нам так везло, но такие правки они вносят довольно шустро в ближайших же обновлениях(даже в их виртуальную машину(!!!) (писал им по поводу MySQL параметров Битрикса, которые подобраны не оптимальны, из-за которых обновление на MySQL8+ может падать. Поправили за 2 недели +-).

И правка в ядро - почти всегда от лени сделать более правильное решение "в обход".
Почти все существующие правки, кроме багов, которые все таки редкие (правда, только 3 за всю жизнь находил) - это из-за нежелания создавать копию громоздкой копии функционала ядра со своими доработками. Проще внести изменение в пару файлов ядра и при обновлении по гиту восстанавливать их (отслеживать их не так уж и сложно).

Обходиться без правок можно.
В идеальном мире - нужно обходиться без правок в ядро всегда и если уж задача может решиться хоть созданием своей полной копии ядра с изменениями - делать надо так.

Но в нашем бренном мире - правки просто экономят время. И делаются действительно только при крайней нужде)


у них есть сервис "Идея" там очень много толковых идей - не далеют ничего! согласен один маркетинг и лапша на уши ... корпоративный портал тоже редкостное Г. и становиться только хуже. форум - по 10 лет висят проблемы, древняя "виртуальная машина" с кучей глюков ... но есть один ньюанс : на рынке сейчас альтернатив в РФ нет , от слова совсем ... даже простейший корпоративный портал (адресная книга, тикетница, календарь, новости, форум, соцсеть, BPM ...) неначем особо сделать (монстров не рассматриваем)

у них есть сервис "Идея" там очень много толковых идей - не далеют ничего!

да-да. Я их отписку "передано в отдел разработки" видел столько раз, что оно уже у меня автоматически транслируется в "нам плевать, ничего делать не будем". Когда последний раз заглядывал в этот сервис, там всё ещё висели необработанными идеи, добавленные в первые месяцы запуска.

Почему то нет поинта про безопасность, хотя более 80% всех сайтов на CMS Bitrix подвержены уязвимостям.

Перевел один из магазинов с Битрикса на свою платформу - продажи выросли на 30% сразу после переключения из-за резко возросшей скорости загрузки страниц и ускорения процедуры оформления заказов.

Сейчас перевожу еще одну систему, так там да, безумное количество запросов SQL при отображении простой таблицы клиентов из 50-60 строк. Время загрузки страниц полностью не устраивает заказчика, что и не удивительно.

Битрикс создавался очень давно как универсальный инструмент для разработки сайтов. Не удивительно, что попытки применения его для интернет-магазинов не приводят ни к чему хорошему. По моему мнению, универсальные инструменты, разработанные для всего подряд, плохо справляются с решением всех задач, для которых они создавались. Ведь там нет специализации и учета особенностей каждой области.

У вас в профиле написано "Основатель и генеральный директор SAAS-сервиса интернет-магазинов Shop2YOU", что еще вы могли бы написать под этой статьей?

Вот именно что основатель и директор SAAS-сервиса интернет-магазинов. Поэтому у меня есть опыт миграции с Битрикса и я делюсь этим опытом. При миграции единственное что нам нужно, не считая сохранения URL проиндексированных страниц, - это перенести данные. Поэтому пришлось разбираться со структурой хранения этих данных и с запросами.

Исследуя журнал запросов к базе данных при выполнении простейших операций, типа показа страницы клиентов, я обнаружил огромное количество запросов с JOIN типа таких:

SELECT BE.ID as ID,BE.IBLOCK_ID as IBLOCK_ID,BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,BE.NAME as NAME,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,BE.DETAIL_TEXT as DETAIL_TEXT,BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,BE.PREVIEW_TEXT as PREVIEW_TEXT,BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,BE.PREVIEW_PICTURE as PREVIEW_PICTURE,L.DIR as LANG_DIR,BE.SORT as SORT,BE.CODE as CODE,BE.XML_ID as EXTERNAL_ID,B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,B.CODE as IBLOCK_CODE,B.XML_ID as IBLOCK_EXTERNAL_ID,B.LID as LID
FROM
b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
INNER JOIN b_iblock_property FP0 ON FP0.IBLOCK_ID = B.ID AND FP0.CODE='ORDER'
INNER JOIN b_iblock_element_property FPV0 ON FPV0.IBLOCK_PROPERTY_ID = FP0.ID AND FPV0.IBLOCK_ELEMENT_ID = BE.ID
WHERE 1=1
AND (
((((BE.IBLOCK_ID = '16'))))
AND (EXISTS (
SELECT IBLOCK_ID FROM b_iblock_site WHERE IBLOCK_ID = B.ID
AND (((SITE_ID='s1')))
))
AND ((((BE.ACTIVE='Y'))))
AND (((BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL)))
AND ((((FPV0.VALUE_NUM = '0'))))
)
AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
ORDER BY BE.ACTIVE_FROM desc ,BE.SORT asc ,BE.ID desc LIMIT 0, 200

И это я еще использование индексов у полей таблиц не проверял, потому что при миграции это не важно.

Хорошие программисты не задерживаются на PHP

Да никто не выбирает Битрикс никогда! Происходит так. К вам приходит заказчик

Вот такого вида

И говорит: "Сделайте мне сайт! Много бабок дам! Только поскорее! Битрикс мы уже купили!". И вот тут выбор стоит только между "использовать Битрикс" и "полностью отказаться от заказчика и его друзей", потому что убедить заказчика, что его уже кинули и надо выкинуть его покупку, может только продажник уровня Бог++, а такие в веб-студиях не околачиваются. А заказчики всё идут и идут, отказываться всё жабоватее и жабоватее.

  • ОЧЕНЬ медленные и до сих пор написанные на PHP (!);

Не думаю, что проблема в PHP.

Думаю что у автора проблемы с PHP, чисто идеологические.

Да всем пофиг. Я уже лет 15 говорю, что это редкостный говнокод, нарушающий все существующие станларты и паттерны, как маркетинговый продукт он свою задачу выполняет — реклама крутится, бабло мутится

Использовал битрикс24 с бесплатной версией в течение многих лет для работы над проектами. В целом доволен.

У организации есть несколько сайтов работающих на Битрикс, никаких проблем с сайтами тоже нет. Да, админка сложнее чем на WordPress.

А недавно именно через Битрикс с приятелем общался который в Канаде живёт. Отличная связь и голосовая и видео и экран компа показывал.

Так что фиг знает, автор вроде рассказывает что он никакого отношения не имеет к проектам подобного уровня, но статья очень сильно Битрикс обсирает. Незаслуженно. Слишком субъективно потому что ни одной удачной вещи из битрикса в статье не названо.

>А недавно именно через Битрикс с приятелем общался который в Канаде живёт. 

очень забавно, но битрикс как сайт или crm тут вообще не причем), ну разве что он рендрит страницу с окошком)

Приложение bitrix24 у меня на мобильном, а приятель на компе.

Кто причём?

Доставку видео обеспечивает какой-нибудь webrtc, а битрикс только держит STUN сервера, например. Там от битрикса только интерфейсы да кнопки, аля https://vdo.ninja/

Что в этом плохого не понимаю?

это не хорошо и не плохо, это просто не битрикс. Если бы связь работала через пхп, протокол, кодек, что угодно, был бы написан на ядре битрикса или что то подобное - тогда можно назвать это продуктом битрикса, а поставить вордпрес и подключить туда iframe от облачного провайдера ip телефонии, который позволяет с сайта звонить на телефон - это не вордпресс) Это внедренный сторонний продукт.

20 лет в разработке, как-то доводилось побыть СЕО небольшой компании. Как программист я бы со многим наверное согласился, но как бизнес-заказчику мне на всё это решительно наплевать - Битрикс отлично закрывал автоматизацию ряда бизнес процессов, легко кастомизировался и интегрировался и всё это быстро и с очень низкими костами на подрядчиков и лицензии

И, какие альтернативы? Собирать зоопарк систем и системок под отдельные задачи и задачки?

Специализированное всегда лучше комбайна. Особенно кривого комбайна. Но сложнее.

Специализированное всегда лучше комбайна. 

Что ж, объясните бизнесу, что вместо одного кривого Битрикса им нужно:
1. Купить десяток специализированных, менее массовых а значит более дорогих систем.
2. Найти и оплатить действительно профессиональных интеграторов, которые это всё подружат.
3. Оплачивать поддержку каждой из систем.
4. Платить интегратору, чтобы это все работало вместе.
5. Или нанимать штатных разработчиков и внутреннюю ТП

Крупный бизнес (где тысячи сотрудников) обычно так и делает.

Но Битрикс - это система для малого бизнеса, где иногда даже штатных ИТ-шников нет, понимаете? Владение им обходится всего лишь в единицы-десятки тысяч рублей в месяц. За эти деньги альтернатив из мира "соберем дюжину классных специализированных систем" просто не существует.

Для малого бизнеса скорее tilda или на крайняк opencart. Битрикс больше для среднего и выше)

Тильда это как раз таки отличный инструмент для узкой задачи создания лендингов, независимо от масштабов бизнеса.

опенкарт не был сделан под реалии рынка РФ, держатели его форка в РФ зарабатывали на как раз кастомизации решения под рынок РФ - корзина и модули доставки, но экосистема не сформировалась, так как культура на то время была такова, что покупка модуля под бесплатный движок воспринрималась как очковтирательство, под видом чего-то бесплатного. И оно так и было, забыл конкурента опенкарта, движок бесплатный, а после обточки напильником и платные модули выходили по цене битрикса.

Опенкарт не был так хорош, он был убог, дефолтная тема опенкарта занимала под 120 шаблонов, это ужас, его псевдо MVC лапша архитектура была отвратительной, связность компонентов под дефолтный шаблон добавляла невозможности кастомизации, по итогу все сайты на опенкарты были одинаковые и угадывались сразу. На то время продать цмску клиенту было трудно, зачем если есть бесплатно, и тут человек попадал на фрилансерские велосипеды...

Битрикс был честнее, давал заработать, так как пиарил себя для твоего заказчика за тебя. Он давал откат 40% и запрещал и запрещает демпинг цены лицензиии. Либо зарабатываете на продажах одинаково хорошо, либо идете нахрен из партнеров.

лучше быть здоровым и богатым))) Проблема в том что говнокод битрикса покрывает бизнес задачи, дешево. Поддержка мне открыто врала по функционалу, толку от нее нет, по компонентам прям видно что один плюнул и уволился второй допиливал лишь бы не уволили...Помню компонент корзины с 5к строк на js.. ругань разрабов за невозможность кастомизации. но... потом кто разобрался, стал продавать свой компонент, да и не дорого для такого решения, да и в целом так это все как-то так и едет)) экосистема))

За почти 40 лет в ИТ. Есть две крайности - код либо написан для пользователя, либо Программистом (с большой буквы). Между ними - пропасть. Бизнес какой код выберет, ближе к какому краю этой условной линейки?

Образование техдолга неизбежно на массовом продукте, т.к. часто - тяп-ляп и в продакшн. Если у вас стопятьсот пользователей, то переписав работающий код - тестировать не только вам, но и всем остальным. А если это регресс, то большинство просто откажется переходить и вам придется поддерживать *дцать менее прекрасных версий, потому что деньги + ответственность + репутация. Если будет расти энтропия, будут расти расходы и риски. Это обозвали "legacy". Зато в 99.99% случаев любая новая хотелка бизнеса уже реализована "из коробки".

И SAP и Siebel и 1с со стороны кода (устрицы ел и ем) - кошмар, сплошные антипаттерны программирования. Что от сапа летит в БД... для нивелирования этого говнокода IBM добавила специальную настройку в DB2, как впрочем и для 1с. Это оказалось дешевле, чем переписывать SAP.

Поэтому и начинается рефакторинг только тогда, когда проблемы перформанса нельзя залить железом.

Битрикс отягощен ещё низкокачественными плагинами и ещё менее качественными костылями, написанными при внедрении и поддержке не пойми кем для конкретного клиента.

Помню, один такой "интегратор" по секрету рассказал мне своё "know-how", что "SQL это уже прошлый век, если база до гигабайта - проще все выкачать и скриптом отфильтровать". Даже спорить с ним не стал ))

Битрикс - это хороший пример того, что функиональность важнее качества кода. Внутри битрикса действительно можно наблюлать разные вехи подхода к программированию: где то емейл отправляется прямо из шаблона, где то попытки писать в ооп стиле, далее ооп стиль отменяется итд. Грубо говоря, если бы битрикс появился бы только сейчас, у него не было бы ни малейшего шанса стать тем, чем он сейчас является. Современные фреймворки ушли далеко вперед, предлагая стройную архитектуру и инструменты для работой с базой, да и в целом, не только реляционными субд едины, есть куча ноускл и поисковых движков, которые сдорово снижают нагрузку на рсубд и производят операции гораздо эффективнее. Но!

Заказчику действительно на это плевать. Ему главное, чтобы побыстрее заработал интернет магаз, а не ждать, когда очередной мальчик гений, в миллионный раз напишет свой неподдерживаемый костыль на каком нибудь nextjsе, в котором будет куча ошибок с очередной гениальной админкой на три кнопки. Да, мальчику будет приятно, что он освоил стильную модную молодежную технологию и теперь можно даже попытаться устроиться в бигтех. А заказчик так и останется сидеть с этим изобретением, которое никто не хочет поддерживать, и точно так же, как этот мальчик, предлагает написать вот теперь по настоящему серьезную штуку, но уже на голанг (ведь авито его использует). И цикл повторяется.

Кстати, никто почему то не сравнивает битрикс, с доморощеными поделками, в которых разобраться может "парнишка", который писал это 20 лет назад, но только если его хорошо прокапать после попойки на фоне кризиса среднего возраста

Еще один момент добавлю. АПИ битрикс24 это худший апи который я встречал. Куча методов которые работают по разному. Иногда даже в методах у них названия полей называются по разному: с префиксами uf_ или uf (не помню точно).

Причем каждый метод имеет свои особенности, каждый метод претендует на уникальность. В одном место отбор так, в другом по другому.

Ваш пост лучше бы смотрелся с конкретными проблемными местами систем битрикса. Описали в общем виде проблему, привели конкретный случай, разобрали ошибка, привели пример как следовало бы сделать. В противном случае появляются комментарии вида, например "автор просто не смог, и решил поныть об этом" от @cyber-jet

Для репрезентативности так же следует приводить источники из других ресурсов, посты Хабра не последняя инстанция в подобных вопросах.

Зря Вы написали в минусы продукта использование PHP. PHP это не матерное слово, много хороших систем написано на PHP. Единственная проблема PHP, это то, что он позволяет писать просто конченный говно-код, чем и скорее всего воспользовались создатели продуктов Bitrix, видимо такие у них программисты.

Презентации в стиле а ля Стив Джобс! Рыжиков думал что он гений))).
Я в отзывике и где только не писал подобные статьи про битрикс, они еще пытались возражать и угрожали подать в суд!))) Очень много времени потерял из за этих горе-программистов! Особенно мне нравится их история, как программисты из Калининграда в 1-комнатной квартире запилили первый битрикс, так видимо код и не менялся с тех времен, потому что рыжикова унесло волнами хайпа и личностного роста! Но думаю рыжиков и ко. забывают главный закон, в котором все во вселенной уравновешивается и то что вы забрали мое время, вам аукнется или уже начинают отдавать за свои косяки!

Битрикс хороший продукт для своей ниши. Он - работает. аукается скорее вам за какой то непонятный хейт.

У меня хоть и не большой опыт администрирования этого добра, но готов подписаться под каждым словом в статье .

Кратко: "монструозное гавно"

Автор, вы - со-основатель Reg.ru, как видно из вашего профиля.

Ваш фаундер Королюк из Reg.ru имеет долю в компанию Kaiten, прямом конкуренте Битрикса. Видно же через юрлицо, да и вот тут маркетолог Kaiten прямо об этом говорит - https://softadvisor.ru/interview/kaiten

Часть топ-менеджеров Kaiten также работали к Reg.ru вместе с вами. Эти 2 компании аффилированы друг с другом чуть более чем полностью. CMO Kaiten - бывший PR-директор Reg.ru

Вы также являетесь автором статей в блоге Kaiten, подписаны на Kaiten на Хабре. Вот же ваша статья - https://habr.com/ru/companies/kaiten/articles/841182/

Не надо вводить людей в заблуждения. Очевидно Kaiten заказчик этой статьи. Там весь маркетинг построен на "мы лучше битрикса, мы точно вам это говорим, вот плохой битрикс, а вот хороший kaiten".

Ну вы хоть уши бы спрятали, про этику таких статей я даже не говорю.

Но именно после вашего каммента (а не после статьи) мне захотелось ознакомиться с продукцией Kaiten :)

Почему бы и нет) Wannabe-Битрикс - это в целом неплохо само по себе.

не тратьте время, я его смотрел правда очень очень давно, вернее даже был куплен - перейти на него с битрикса не смог. хоть Битрикс и Г полное и бесит их подход как они идеи бросают от пользователей, но альтернатив совсем нет на рынке корп порталов по крайней мере точно (сайт понятно что можно на любом дивжке запилить). есть MS sharepoint и продукты от Atlassin (вот прям милота) , но это не для РФ ...

В каком месте Битрикс (который управление сайтом) конкурент Kaiten (который таск-менеджер)? Просветите пожалуйста, а то места себе найти не могу)

Да там в статье все перемешано, нейронка которая писала не очень разбиралась про какой битрикс пишет

Если бы всё это было ради пиара странного кайтен — могли бы найти "засланного казачка" менее заметного ))))

Но нашли кого нашли, что уж теперь.

Были еще пару лет назад разговоры о разработке Bitrix Framework 3, но пока ничего нового не слышно по этой теме. Если я правильно понимаю, на данный момент есть только концептуальный прототип https://github.com/bitrix24/framework3-prototype

Изложу свое мнение как пользователь (бухгалтер) программы 1-С,с которой так плотно работает Битрикс. С 1-С познакомилась впервые в 2016 году и сразу поняла, что программа не интуитивная, сложная для восприятия неопытному, не понятный интерфейс для новичка и какая-то замороченная вся). Пришлось долго изучать, пробовать и понимать ее функционал (полгода). Программа как будто на языке exel написана.... ) . Тогда я для себя сделала вывод, что такая программа долго на рынке не продержится. В 2024 году пришлось снова вернуться в бухгалтерию, заглянула снова в 1С, ужаснулась, что ничего почти не изменилось в пользу удобства пользователя и пошла искать новые продукты для бухгалтерии. Конечно же нашла волшебный Контур Экстерн (Эльба), в которых веду свои ИП.

Резюмирую: зная, что именно Битрикс работает с 1С никогда не пользовалась их продуктами, потому что понимала, что "движок" такой же как в 1С. Моя логика с ней не справится))

100% говнище, несколько раз делал подход в освоении этого инструментария и каждый раз кидал из-за ужасной базы знаний и поддержки разработчиков !

Битрих, меркантильные дно.... Поддерживаю автора, не надо им пользоваться ...

Битрикс никогда не был про технологии, он всегда был про маркетинг и бизнес. Это продукт из 2000-х. Я прекрасно помню то время, когда были PHP-Nuke, Drupal, NetCat и еще какой-то зоопарк CMS систем, у каждого программиста была своя система. Битрикс в отличие от всего этого зоопарка решал 2 проблемы: закрывал максимум потребностей, предлагал реальный заработок. По первой причине в битриксе всегда была куча модулей, большинство из которых никто никогда не использовал в основном из-за их убогости и примитивности, но зато они были из коробки - внушительно. Типа модуль vote для опросов или subscribe для рассылок - они были для галочки, может быть подходили для начального уровня проектов, попробовать, но в дальнейшем всегда менялись на что-то стороннее или самописное. И битрикс всегда был про заработок. Если ты фрилансер или мелкая студия, ты мог предложить проект на битриксе клиенту и продать лицензию с партнерской скидкой 40-50% - это уже неплохо при ценниках на сайт у фрилансеров тогда 100-300 тысяч рублей. А потом еще каждый год получать процент за продление лицензии. А потом где-то в 2006 или 2007 появился маркетплейс битрикса и открылись врата Ада. Какой только там шляпы не продавалось или раздавалось бесплатно, но очень быстро ребята поняли, что можно делать 1 продукт, какой-нибудь красивенький шаблон для сайта магазина за 50-100к и продавать его постоянно, ни внедрений, ни особой поддержки, пили себе продукт, продавай через маркетплейс, его покупают и внедряют партнеры. И там выросли компании, которые на 1-3 продуктах зарабатывали по 50-100 миллионов в год, имея в штате десяток сотрудников. Это было золотое время и вполне логичный шаг. Лично я благодарен битриксу за возможность зарабатывать вместе с ним, бесплатные курсы, рейтинги партнеров, маркетплейс и прочее. Это был увлекательный аттракцион.

а когда ты город не миллионник, соревнование по партнерке в рейтинге битрикса еще больше добавляло азарта, все друг друга знают)

Подписываюсь под постом автора - Битрикс редкостная кака*ка. В первую очередь про портал

Интерфейс пользователя 2010 года

У нас тариф профессиональный на Битрикс 24, все виснет, куда не заходишь, раз через раз виснет, и притом не только у одного сотрудника, а у разных, в разной геолокации .

Как-то у нас просто так, благодаря сбою отключился аккаунт (оставалось три недели платной подписки), и нас перевело на бесплатный режим. Я даже не смог без танцев с бубнами связаться с тех поддержкой и поорать. То есть прикиньте, ты платишь подписку , потом через неделю тебя просто отключает, и ты даже ни с кем не можешь связаться.

График рабочего времени - постоянно слетает, сотрудники постоянно жалуются, что он сбивается. Офигеть как такая компания как Битрикс не может сделать нормальный виджет учёта рабочего времени.

Ну и почти все убогое. Мы перешли на Битрикс с аспро срм, и пожалели, но выхода не было, потому что только Битрикс есть с представительством в Казахстане и можно хоть как то оплачивать через расчетный счёт,а также имеет кучу моделей интеграции.

Но в целом по пользовательскому опыту ужасные впечатления

Sign up to leave a comment.

Articles