Всем привет!
Подскажите пожалуйста. Столкнулся с такой проблемой: В CRM Битрикс24 в сделке нужно сделать так:
Если какое то определенное поле в данной конкретной сделке после её сохранения заполнено - то часть других полей нужно скрывать. Вариант отловить событие изменения сделки и скрыть нужные поля - не рабочий, т.к. во всех других сделках аналогичные поля также скроются, а нужно, чтобы этот механизм работал для конкретной сделки.
Я хочу сделать вот как: найти компонент, который отвечает на вывод верстки пользовательских полей, и уже в шаблоне этого компонента стилями или ещё как, просто не отображать те пользовательские поля, которые нужно скрыть в данной конкретной сделке.
Например: Если в текущей сделке НЕ заполнено поле "Результат общения с клиентом" - то нужно в текущей сделке скрыть поля «Дата назначенной встречи», «Точка продаж» и «Причина отказа».
Нашёл компонент, который отвечает за вывод карточки сделки в popup-окне.
на странице crm/deal/index.php размещён вызов компонента bitrix:crm.deal
В компоненте bitrix:crm.deal есть файл details.php. В нём вызов компонента bitrix:crm.entity.details.frame
В компоненте bitrix:crm.entity.details.frame в шаблоне вызов компонента bitrix:ui.sidepanel.wrapper - сюда в качестве параметра POPUP_COMPONENT_NAME передаётся значение
bitrix:crm.deal.details
Далее смотрю компонент bitrix:crm.deal.details. У него в шаблоне вызывается компонент bitrix:crm.entity.details
В шаблоне bitrix:crm.entity.details вызывается компонент bitrix:crm.entity.editor
В шаблоне bitrix:crm.entity.editor и происходит вывод верстки карточки сделки. Но проблема в том - что там очень много JS-кода, и разобраться в нём тяжело.
Подскажите, может у кого-то была похожая задача - точечно скрывать поля сделки в зависимости от того, заполнено какое-то другое поле этой сделки, или нет.
Никакие другие варианты, кроме как править верстку - я пока не придумал, а поля нужно скрывать точечно - не для всех сделок, а у каждой конкретной сделки смотреть - если заполнено поле "Результат общения с клиентом" - то поля «Дата назначенной встречи», «Точка продаж» и «Причина отказа» - отображать. А если поле "Результат общения с клиентом" НЕ заполнено - то поля «Дата назначенной встречи», «Точка продаж» и «Причина отказа» - скрывать.
Скриншоты прикрепил
Подскажите пожалуйста. Столкнулся с такой проблемой: В CRM Битрикс24 в сделке нужно сделать так:
Если какое то определенное поле в данной конкретной сделке после её сохранения заполнено - то часть других полей нужно скрывать. Вариант отловить событие изменения сделки и скрыть нужные поля - не рабочий, т.к. во всех других сделках аналогичные поля также скроются, а нужно, чтобы этот механизм работал для конкретной сделки.
Я хочу сделать вот как: найти компонент, который отвечает на вывод верстки пользовательских полей, и уже в шаблоне этого компонента стилями или ещё как, просто не отображать те пользовательские поля, которые нужно скрыть в данной конкретной сделке.
Например: Если в текущей сделке НЕ заполнено поле "Результат общения с клиентом" - то нужно в текущей сделке скрыть поля «Дата назначенной встречи», «Точка продаж» и «Причина отказа».
Нашёл компонент, который отвечает за вывод карточки сделки в popup-окне.
на странице crm/deal/index.php размещён вызов компонента bitrix:crm.deal
В компоненте bitrix:crm.deal есть файл details.php. В нём вызов компонента bitrix:crm.entity.details.frame
В компоненте bitrix:crm.entity.details.frame в шаблоне вызов компонента bitrix:ui.sidepanel.wrapper - сюда в качестве параметра POPUP_COMPONENT_NAME передаётся значение
bitrix:crm.deal.details
Далее смотрю компонент bitrix:crm.deal.details. У него в шаблоне вызывается компонент bitrix:crm.entity.details
В шаблоне bitrix:crm.entity.details вызывается компонент bitrix:crm.entity.editor
В шаблоне bitrix:crm.entity.editor и происходит вывод верстки карточки сделки. Но проблема в том - что там очень много JS-кода, и разобраться в нём тяжело.
Подскажите, может у кого-то была похожая задача - точечно скрывать поля сделки в зависимости от того, заполнено какое-то другое поле этой сделки, или нет.
Никакие другие варианты, кроме как править верстку - я пока не придумал, а поля нужно скрывать точечно - не для всех сделок, а у каждой конкретной сделки смотреть - если заполнено поле "Результат общения с клиентом" - то поля «Дата назначенной встречи», «Точка продаж» и «Причина отказа» - отображать. А если поле "Результат общения с клиентом" НЕ заполнено - то поля «Дата назначенной встречи», «Точка продаж» и «Причина отказа» - скрывать.
Скриншоты прикрепил