После публикации первой статьи в деле борьбы за права причастных к 1С-Битриксу появились соподвижники Dekmabot и Sergik_DS со статьями «Почему Битрикс — Битрикс» и «За что, Битрикс? Или сказочный мир 1С», чему я несказанно рад. Как там пишут в руководствах по зачинанию стартапов – найдите боль клиента и работайте направлении её ликвидации. 1С-Битрикс уже давно не стартап, но боли различного вида, характера и степени тяжести пока ещё почему-то с нами.

В принципе, любая админка с формами и полями ввода сама по себе вещь простая, но сделать её удобной могут не только лишь все. На комфортный регулярный ввод данных влияет много вещей – навигация между разделами, порядок полей в форме, интерактивные отклики на действия пользователя, виджеты ввода специальных форматов (например даты или времени), расположение и цвет кнопок и т.д.

В битриксовой админке на мой субъективный взгляд тема юзабилити до конца не проработана. Почему при добавлении товара первым номером идёт активность товара и даты начала-конца активности? Это параметры первой необходимости для нового товара? Раз товар добавляют впервые, само собой разумеется, что в подавляющем большинстве случаев это будет активный товар, значит галочку активности можно сдвинуть ниже по списку. В редактирование товара мы приходим из таблицы, где информация по активности уже есть, только значения да/нет в таблице плохо считываются, как по мне лучше поменять на задизайненные галочки. И даты активности в форме ввода товара стоит задвинуть ниже, кому надо, тот поставит. Первым номером должно идти поле ввода «Название товара» и на него сразу обязан вставать курсор мыши при добавлении нового товара. И в целом курсор в основное поле ввода надо автоматом ставить во всех формах 1С-Битрикса при создании чего-либо, будь то скидка или раздел. Далее базовая цена и валюта из вкладки Торговый каталог, единица измерения и доступное количество (для простого товара), и тут же, а не где-то там на другой вкладке – детальное описание и детальная картинка, а также описание для анонса. То есть сделать по принципу все самые важные и востребованные данные по товару в одном месте. Сейчас они раскиданы по 5-ти вкладкам, вы их по-программистски сгруппировали. А надо смотреть с позиций контент-менеджера, который всем этим счастьем пользуется, у него на вкладке «Товар» нет цельной картины. Возможно стоит для свойств товара в их параметры в инфоблоке добавить группы свойств для группировки на странице «Товар», сейчас они идут чохом в порядке сортировки и группировать их можно только на вкладках. Я на истину не претендую в данном вопросе, но парадокс состоит в том, что ни один из разработчиков админки 1С-Битрикса не добавил в ней сам и ручками хотя бы под сотню товаров. Вы скажете, что админку можно как угодно кастомизировать, на что я отвечу, что надо сразу делать максимально удобный интерфейс.

В скидках при выборе конкретных товаров вообще беда. Выбор товара в этой же форме не отменяется. Типа раз кликнул и промазал – делай скидку. Одни и те же товары могут попадать в скидку дублями – проверяйте пожалуйста товары на уникальность. При нажатии на ссылку «Выбрать» всё время срабатывает «Развернуть», потому что разворот торговых предложений настроен на одинарный клик по всей строке. И подсказка-hint нам нагло врёт, что на двойной. Сама ссылка «Выбрать» без отступов типа padding, то есть для её срабатывания надо прям чётко попадать мышкой в слово, чутка промажешь – будет выполнено «Развернуть». Это я в юности в игре «Сапёр» рекорды ставил, а обычные люди просто бьют своих ни в чём не повинных мышек. В списке выбора конкретных товаров для скидки надо помечать товары, которые подпадают под уже существующие скидки. Прям столбец с номерами правил корзины и подсказки-названия правил при наведении мыши напротив каждого товара. Чтобы пользователь не засуммировал скидки к уже существующим. А куда при пагинации окно ввода товара убегает? И хорошо так бежит, прямо вниз за границу экрана. При повторном заходе в выбор товаров для скидки подсвечивайте ранее выбранные товары.

А кэш почему так долго чистится через админку? Я же не по FTP файлы удаляю, в самом-то деле, а прямо на сервере. Реорганизуйте его как-нибудь, пусть возможно будет мгновенно всё содержимое папок с кэшем грохать без ущерба для работы сайта. У меня нет столько времени ждать его сброса, чтобы увидеть наконец актуальные данные на сайте.

Почему группа действий в скидках не работает? Типа сумма заказа больше 5 тыс. руб. – скидка 500 руб., больше 10 тыс. руб. – скидка 1 тыс. руб., больше 15 тыс. руб. – скидка 1500 руб. Как-то сложно это всё запрограммировать, фрактальная математика используется?

Кстати вот здесь на скриншоте не «Добавить действие», а «Добавить условие». Не надо путать причину и следствие, особенно не надо путать следствие.

image

И теперь прикладно-предметно. Свойства в GetList D7 – они когда? Почему добропорядочные программисты вынуждены использовать старые методы? Хорошая же штука, доведите её до логического завершения. Кастомизация Sale Order AJAX – все же вешаются и ботами почти уже качают – переделайте данный шаблон для людей, сейчас это ров с водой и кольями на пути к готовому интернет-магазину. Начните с полной и понятной документации к текущему шаблону Sale Order AJAX, с подробными примерами. А то вы как мой папа, он мне лет до 18-ти вещи приносил в безакцептном порядке, дескать на, сынок, носи на здоровье. А какие у меня там вкусы и желания, его не волновало. В общем подход в стиле «ешьте, что дают» – неправильный. Почему установщик bitrixsetup.php отваливается на середине установки с ошибкой синтаксиса массива на PHP старой версии 5.3 (которая например по умолчанию на РЕГ.РУ для новых сайтов), а не проверяет сам версию PHP на старте с выдачей соответствующего предупреждения? Ну или массивы там все переписать в старом синтаксисе, если хотите блюсти совместимость. Я знаю, что у вас где-то там на сайте написано про PHP минимум 7.1, вы установщик сделайте с учётом наличия начинающих осваивать 1С-Битрикс.

А как вы реагируете на внешние вызовы. Вот я написал негативную статейку на Хабре, 20 тысяч её отсмотрело. Кто-то более, кто-то менее внимательно. И никто от вашей фирмы не отписался, как будто и нет вас в природе. Хабр — это же ваша поляна, здесь ваши программисты, на которых всё держится. На VC правда на аналогичную публикацию пришёл Юрий Волошин (руководитель отдела продукт-менеджемента 1С-Битрикс), пару комментариев написал в стиле «да всё у нас есть и работает», но потом соскочил с обсуждения. Я искренне надеюсь, что он пошёл ставить задачи по прочитанному отделу продукт-менеджемента. Однажды я на персональной страничке в Facebook описал, как МТС подключила мне какую-то фигню и украла деньги, и что я перешёл вместе с номером на Tele2. На Facebook у меня всего-навсего 42 друга, никто особо не читает мои измышления. Дак тут же прибежала менеджерка, давайте в личку, давайте в личку, всё обсудим, давайте в личку. Попробуйте на VC написать что-нибудь про банк Тинькова – мгновенно прискачет представитель – дайте ваши данные, мы будем разбираться. Это значит, что они в реальном времени мониторят и плотно сотрудничают с администрацией соцсетей и медиа-ресурсов. А вы чего не реагируете, думаете само рассосётся, как после сеансов Кашпировского?

Где ваша техподдержка? Люди вам бесплатно несут информацию по улучшению продукта, находят баги, нате, правьте, совершенствуйтесь. Вот мой приятель нашёл косяк в работе вашей фичи – тегированного кэша. Который не пашет при многосайтовости и включённом memcached. Точнее пашет только для основного сайта, а все остальные обновляйтесь, как хотите. Написал он вам про ошибку в конце июня месяца, вы за неделю признали проблему и передали на разработку. Сейчас у нас пошёл ноябрь, и мне кажется уже пора обновить кэш у ваших разработчиков, а то они на старые и готовые задачи смотрят, а новых похоже не видят. Вы там в 1С-Битриксе я думаю догадываетесь, как называется состояние организма, когда в нём перестаёт работать очень важный орган.

Я понимаю, что вы там вдарились в разработку и продвижение Битрикс24, но, как говорится, вы ещё за то дело не отсидели. Что, кстати с взаимодействием между 1С-Битриксом и Битрикс24. Почему я должен закупать аж 2 сторонних модуля синхронизации свойств и статусов заказов? Вы же одна контора, вот и делайте смычку, наводите мосты между продуктами. Битрикс24 хотите же продвинуть, вот и подсаживайте граждан на неё опосредованно. А то недавно модули эти начали все скидки сбрасывать у заказов в 1С-Битриксе при смене статуса заказа в Битрикс24. Может это конечно новая стратегия монетизации клиентов такая.

Итого. У вас есть 1С-Битрикс и ни в какой новый и беззаботный Битрикс24 вы от него не убежите в ближайшие лет 5, а то и 10. Поэтому надо сделать над собой усилие и допилить, стартовый перечень прилагается. Я по себе знаю, что когда сделал 95% задачи, то доделать как следует оставшиеся 5% весьма и весьма нелегко. Но надо, дорогие калининградские битриксоиды, надо.

P.S. Специально поменял на полное название бренда, может Москва подтянется.

P.P.S. И ещё. Без всех перечисленных мной в обоих статьях косяков вашей платформы жить можно, люди конечно страдают, ропщут, но как-то справляются. Но не устаю повторять, если вы сделаете оптимизацию размера картинок без потери качества на уровне платформы, с конвертацией в реальном времени и близкую по результату к tinyjpg.com – тогда бренд 1С-Битрикс и ваши фамилии отзовутся эхом в вечности.

Комментарии (14)


  1. suffix_ixbt
    01.11.2019 11:17
    +1

    1. ТП — да, не человеческим лицом повёрнута к пользователям продукта. Отвечают долго, шаблонно и просто не возникают в то что вы им пишете.
    2. Да отстаньте Вы уже от картинок — есть нормальный модуль в Маркетплейсе — да с головой платой, но сумма невелика.
    3. В целом Битрикс нормальная система но нужно держать либо в штате либо фрилансера на коротком поводке — специалиста по Битрикс :) — поэтому стоимость владения проекта на Битрикс значительна к сожалению :(


    1. datacase Автор
      01.11.2019 11:17

      А можно ссылку на модуль? С оплатой за объём сконвертированного просьба не предлагать.


      1. suffix_ixbt
        01.11.2019 11:43
        +1

        1. Я пользуюсь https://marketplace.1c-bitrix.ru/solutions/alfa1c.optiimg/ — там демка есть на 7 дней — потестируйте просто — вдруг Вас устроит
        2. Вспомнил что в первой статье Вы жаловались что как-то не так работает сжатие стилей и скрипов. Да ставите на сервер gzip и brotli а затем по крону раз в минуту гоняете следующий скрипт:


          <?
          if(PHP_SAPI != 'cli')
          {
          die();
          }
          function scan_recursive($directory)
          {
          $directory = realpath($directory);
          if ($d=opendir($directory))
          {
              while($fname=readdir($d))
              {
                  if ($fname=='.' || $fname=='..')
                  {
                      continue;
                  }
                  else
                  {
                      $file = $directory.DIRECTORY_SEPARATOR.$fname;
                      if(is_file($file))
                      {
                          $ext = pathinfo($file,  PATHINFO_EXTENSION);
                          if($ext == 'css' or $ext == 'js')
                          {
                              $make_br = $make_gz = true;
                              if(file_exists($file.'.br'))
                              {
                                  $o = filemtime($file);
                                  $c = filemtime($file.'.br');
                                  if($o > $c)
                                  {
                                      unlink($file.'.br');
                                  }
                                  else
                                  {
                                      $make_br = false;
                                  }
                              }
                              if(file_exists($file.'.gz'))
                              {
                                  $o = filemtime($file);
                                  $c = filemtime($file.'.gz');
                                  if($o > $c)
                                  {
                                      unlink($file.'.gz');
                                  }
                                  else
                                  {
                                      $make_gz = false;
                                  }
                              }
                              if($make_br)
                              {
                                  $cmd = '/opt/brotli/bin/brotli -f -k -q 11 '.$file;
                                  echo $cmd;
                                  echo "\n";
                                  echo shell_exec($cmd);
                                  echo "\n";
                              }
                              if($make_gz)
                              {
                                  $cmd = 'gzip -f -c -9 '.$file.' > '.$file.'.gz';
                                  echo $cmd;
                                  echo "\n";
                                  echo shell_exec($cmd);
                                  echo "\n";
                              }
                          }
                      }
                  }
          
                  if (is_dir($directory.DIRECTORY_SEPARATOR.$fname))
                  {
                      scan_recursive($directory.DIRECTORY_SEPARATOR.$fname);
                  }
              }
              closedir($d);
          }
          }
          echo 'Start'."\n";
          scan_recursive(__DIR__.'/bitrix/cache/');
          scan_recursive(__DIR__.'/bitrix/js/');
          scan_recursive(__DIR__.'/bitrix/css/');
          scan_recursive(__DIR__.'/bitrix/templates/');
          scan_recursive(__DIR__.'/kontakty/');
          echo 'Finish'."\n";
          ?> 


        1. datacase Автор
          01.11.2019 12:08
          +1

          Отличная степень сжатия и качество на высоте. Ради вашей ссылки на модуль стоило 2 дня писать 2 статьи. Даже лучше жмёт, чем используемый мной tinyjpg.com. Спасибо вам, дорогой друг. Жизнь налаживается.


        1. datacase Автор
          01.11.2019 13:46

          Немного ухудшает качество всё-таки модуль. Заметно на среднего размера картинках.


    1. datacase Автор
      01.11.2019 11:46

      Да отстаньте Вы уже от картинок — есть нормальный модуль в Маркетплейсе — да с головой платой, но сумма невелика.

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


      1. k0rinf
        01.11.2019 17:12

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


        1. datacase Автор
          03.11.2019 05:48

          А почему бы не сделать такой сервис и предоставить его владельцам сайтов бесплатно? Даёт же Гугл свой диск, почту, переводчик, карты, youtube и др. Функционал оптимизации изображений будет конкурентным преимуществом и укрепит позиции платформы 1С-Битрикс на рынке.


  1. k0rinf
    01.11.2019 17:05

    И даты активности в форме ввода товара стоит задвинуть ниже, кому надо, тот поставит.

    Это как вы уже написали ваше субъективное мнение. Поля и вкладки можно настраивать как угодно, хоть для одного пользователя хоть для всех сразу. Продукт позволяет это делать. Ругать Битрикс за то что он не настроил поля специально под вас это так себе.

    Sale Order AJAX

    Они много раз говорили про это на партнерских конференциях. Процесс оформления заказа сложен (оплаты, доставки, профили, типы плательщиков, скидки, купоны и т.п.) Был выбран подход, когда они хотели сделать компонент максимально настраиваемым. Чтобы без изменения кода можно было его настроить. Они сами рекомендовали не изменять код компонента а всегда использовать стандартный шаблон.

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

    Почему я должен закупать аж 2 сторонних модуля синхронизации свойств и статусов заказов?

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

    пару комментариев написал в стиле «да всё у нас есть и работает»

    Это правильно. Хейтеров, которые не знают всех внутренностей продукта, компании, стратегии, планов очень много. Каждый считает себя экспертом, и думает что он больше знает и понимает, чем сотрудники Битрикса. Если каждому отвечать, то времени на работу не останется. Вы где то видели чтобы разработчики фреймверков вступали в срач с хейтерами? Зачем им это? Никого не заставляют пользоваться продуктом.

    Где ваша техподдержка?

    Вы же не знаете сколько у них обращений в день? Сколько человек в ней работает? На сколько обращений они отвечают? Есть же приоритеты, кто то платит за поддержку, кто то золотой партнер, а кто то Вася Пупкин с форума, они же не могут отвечать всем одинаково быстро и качественно.
    Обращения по разработке и багам передаются в тех отделы, но у них тоже есть планы, сроки, приоритеты и т.п.

    Я вот слежу за этими темами, и пока что все аргументы на самом деле так себе. Очень много субъективных мнений. Темы за которые можно действительно поругать Битрикс проскакивают мельком в комментариях но не в текстах статей.


    1. datacase Автор
      03.11.2019 05:35

      По админке товара см. комментарий.
      По Sale Order AJAX. Хотели как лучше, но не получилось. Значит надо сделать по-другому. Кастомизация есть всегда, сколько заказчиков, столько у них разных потребностей. Дата релиза не известна — не будет этой штуки ближайшие несколько лет.
      По модулям — то, что нужно всем, надо включать в платформу. Например минификация JS, CSS и HTML всем нужна. По-вашей логике достаточно сделать модуль, чтобы этого функционала никогда не появилось на платформе.
      Я не хейтер — у меня конструктивная критика и полезные предложения. По косякам, которые много лет не исправляются и портят людям жизнь. Про никого не заставляют пользоваться Битриксом — это не так. Чтобы быстро запустить сайт ЖКХ — единственный вариант — модуль для Битрикса, от 1С-Рарус, который имеет обмен с 1C: Учет в управляющих компаниях ЖКХ, ТСЖ И ЖСК. Поэтому жизнь заставляет, к сожалению.
      По техподдержке — 5 месяцев для исправления бага это перебор. Я полагаю они там в Битриксе наелись и почивают на лаврах. Не справляется техподдержка — наймите ещё сотрудников, с релокацией в Калининград. Я уже заплатил за Битрикс, вы предлагаете мне доплачивать за внеочередную ликвидацию имеющихся багов?
      Часть моих предложений, кстати, направлена на улучшение процесса установки Битрикс. Там есть сразу несколько затыков, убрав которые в 1С-Битрикс сами снизят себе нагрузку на техподдержку. Они могли бы и сами проанализировать часто встречающиеся проблемы и принять меры по их ликвидации, но я вижу, что они этого не делают. Как был три года назад кривой скрипт установки bitrixsetup.php, так он таким и остался.


    1. datacase Автор
      03.11.2019 05:42

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


  1. Sh1ning
    01.11.2019 17:28

    Блин вот я хоть и сам не рад тому что битрикс особо не развивается в плане юзабилити (ждем 12 числа, может что изменят), но автор, вам же правильно сказали — изучите сначала до конца возможности системы, сортировка полей в редактировании товара доступна же — раскидывайте поля как хотите и в каком порядке, создавайте любые вкладки которые вам нужны и выводите на них контент — это стандартный функционал же, емае… Причем все сохраняется и запоминается и не надо по 100 раз делать одно и то же.

    image

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


    Админка в плане настройки элементов инфоблоков сделана максимально логично, и дает возможность гибкой настройки под конкретный проект, невозможно сделать хорошо ДЛЯ ВСЕХ, как вы хотите. У всех свои ньюансы, требования. Нельзя в одну кучу все лепить.


    1. datacase Автор
      03.11.2019 04:53

      Объясняю. Вот я работаю в конторе, вокруг меня человек 50 за компьютерами. Юристы, бухгалтеры, экономисты, IT-отдел. И у меня одного в меню Пуск на правую часть панели выведены ярлыки часто используемых программ. У всех остальных там фигня, которая по умолчанию: Edge, Twitter, Кино и ТВ, Майнкрафт (!), Xbox(!!) и др. Люди в силу разных причин не думают про оптимизацию работы. Поэтому и в Битриксе админку мало кто кастомизирует, в основном пользуются в текущем виде, только на вкладке Товар появляется простыня из дополнительных свойств. А основная информация по товару, я повторюсь, раскидана на 5-ти разных вкладках. А должна быть в одном месте.


  1. xRay
    01.11.2019 22:33

    Для обработки картинок есть ImageMagick, GraphicsMagick, pngquant. Почему за столько лет в Битрикс так и не добавили поддержку одного из них не понятно.

    Забавно. В ноябре у Битрикс анонс 20-ой версии БУС. Маркетинг опять обещает космос, а по факту сами увидим что будет.