Рейтинг: 70.4746  
Новая
Предложил Николаев Андрей 04.01.2018 12:54:32

Пользовательские поля в делах CRM

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

Сейчас это делается лишь при помощи комментария к событию, однако для каталогизации этого недостаточно.

Предлагается дать возможность создавать пользовательские поля для дел, с указанием к каким именно типам дел это относится.
Кейсы:
1) Допустим проектная компания, проводит встречи 4х типов: Пресейл, Продажа, Обсуждение работ и Закрытие. Необходимо получать статистику о том, сколько в среднем встреч тратится на клиента по конкретному типу. Так же, можно получить, в завимисоти от типа, текущую стадию проекта.
2) Предположим, у нас обучающая компания и необходимо фиксировать: сколько на встрече было сотрудников, как они оценили эту встречу, какие замечания были с их стороны, когда будет оплата. Да, это можно вести как сделку, но как учитывать, что по одному договору может быть несколько встреч, т.е. к 1 контракту может быть 5-6 выездов, с оценкой каждого выезда?

На данный момент, есть только возможность создать свой собственный тип события, однако это будет пустым дублированием возможностей, что создаст только путанницу для пользователей. А при условии "попадания дела" в отчеты по данным типам полей, можно будет строить отчеты совершенно другого уровня.
Рейтинг: 6.5768  
Новая
Предложил Николаев Андрей 11.11.2016 12:02:59

CRM: Конвертация пользовательских полей

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

Поясню: при разработке своего типа полей (наследуемого от другого простого типа) конвертация работает, но для всех полей НЕ относящихся к типам файл. Если отнаследоваться от поля типа файл, то результат не будет конвертирован (т.е. поле будет пустое).

Если копнуть проблему глубже (например с лидами), то "бага" кроется в классе \Bitrix\Crm\Conversion\LeadConversionWizard в методе prepareDataForEdit.
Примерно на 150 строчке есть следующей фрагмент:

// hack for UF
if($userField['USER_TYPE_ID'] === 'file')

Если отнаследоваться от типа файл, создать кастомный обработчик и назвать тип file_extended, то для работы конвертации необходимо заменить следующим фрагментом (например):
if($userField['USER_TYPE_ID'] === 'file'||$userField['USER_TYPE_ID'] === 'file_extended')
Предлагаю сделать либо костыль в виде функции обработчика для возможного расширения данного поля, либо (как правильнее) применить принципы ооп и проверить на абстрактный класс/интерфейс пользовательского поля-родителя.

P.S. Этот "хак" в ядре сотрудники ТП битрикса проигнорировали, сославшись на то, что конвертация "своих типов пользовательских полей не рассматривается в рамках техподдержки"