Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Расширение стандартного функционала CRM Bitrix

00 голосов
1
Добрый день,

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

Вопросы на повестке дня:

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

2) Вопрос со статусами.. при обработке лида или сделки есть такой progress bar, при выставлении последнего значения есть выбор результата с которым надо обработать Лид/Сделку. Меня интересует значение некачественный Лид/Сделка. При выборе данного значения и нажатии кнопки сохранить мне необходимо всплывающее окно для комментария, соответственно чтобы опосля это сообщение сохранилось в заданном пользовательском поле.

знаю что работа данного статсу бара завязана на нескольких файлах:

bitrix/modules/crm/crm_view_helper.php

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

так же в bitix/js/progress_control.js

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

Это пока 2 вопроса, есть еще несколько подобных. Думаю что если мне какой нибудь гуру подскажет что и как делается в этой адской системе по этим двум вопросам, то дальше разберусь.
спросил 16 Сен, 14 от Jim (160 баллов)

1 Ответ

00 голосов
Добрый день.

1. По дополнительным сущностям - обычно делаем так: комплексный компонент делаем свой (копируем оригинальный и добавляем вызовы своих компонентов по дополнительным url). Ну а свои компоненты уже на базе "оригинальных" ЦРМовских делают всё что нужно. Из минусов - нужно поддерживать получившийся результат, если Битрикс что-то кардинально меняет - нужно транслировать изменения в свои компоненты. Из плюсов - чаще всего трансляция обновлений на уровне diff сравнения текста оригинального и изменённого компонентов  носит тривиальный характер.

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

 

Ну а вообще - обновления Битрикса - зло )))
ответил 16 Сен, 14 от root (25,590 баллов)
На примере "Лиды"

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

modules/crm/classes/crm.lead.php

а это же ядро

как быть?
по поводу первого вопроса
Не совсем понял вопрос. Копируем в своё пространство имён crm.lead, crm.lead.edit и т.д., а в них уже задействуем своё API, а не modules/crm/classes/crm.lead.php

Похожие вопросы

0 голосов
0 ответов
спросил 03 Окт, 14 от Jim (160 баллов)
+1 голос
1 ответ
0 голосов
2 ответов
0 голосов
2 ответов
0 голосов
4 ответов
спросил 21 Янв, 14 от Traxexx (900 баллов)