Заказать проект
Оставьте заявку для получения коммерческого предложения.
Заполните форму и мы вышлем Вам предложение в котором решим,
чем можем вам помочь.
Кастомизация ядра Б24: насколько это вредно и зачем это надо

Кастомизация ядра Б24: насколько это вредно и зачем это надо

17 Мая 2018
Василий Смолинский
Back End Developer
Василий  Смолинский
следующая статья

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

Б24 может использоваться как облачный сервис (cloud) или же в виде коробочной версии (self-hosted), которая устанавливается на компьютер. Они отличаются между собою процессом настройки. В облаке доступен такой же функционал возможностей, как и в коробке, но кастомизировать его можно только в границах REST API. У пользователя нет доступа к серверу, поэтому изменять функционал под свои потребности невозможно. Но это избавляет от проблемы настройки хостинга, ведь этим занимается Битрикс. В коробочной версии предусмотрен доступ ко всем файлам и программам, соответственно их можно менять и кастомизировать под себя. Но настройка хостинга и сервера занимает огромное количество времени. Зато с помощью коробки можно добавлять или изменять весь доступнииаый функционал под потребности компании.

Коробочная версия Битрикс24 состоит из "ядра" (модули) и компонентов. Для изменения штатного функционала подойдет только кастомизация компонентов. Но не всегда получается поступить именно так. Приходится изменять модули системы, и тут появляется  проблема. После обновления системы, модули перезатирают себя новым кодом и теряется написанный функционал.

Пример из моего рабочего проекта. Клиент захотел чтобы, при нажатии на кнопки "да"/"нет" в системных уведомлениях, появлялось дополнительное окно. Которое будет переспрашивать пользователя, уверен ли он в своем ответе. Обработчик данных кнопок находиться в "ядре" Битрикса. Для решения этой задачи есть только 2 варианта:

1) Писать свой модуль уведомлений со своими обработчиками кнопок (временозатратно);
2) Дописать системный обработчик кнопок новым условием в "ядре".

В итоге 2 вариант был реализован в течении часа, а на первый ушло бы более 50 часов.



Второй пример из одного с моих проектов, связан с выставлением счета для клиента. Битрикс позволяет кастомизировать PDF файл счета в специальном конструкторе:

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

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

Записаться На Консультацию
Записаться На Консультацию
Мы свяжемся
с вами
в течении
10 минут
laptop
Мы свяжемся с вами в течении 10 минут