Проектирование пользовательских полей CRM Битрикс24

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Проектирование пользовательских полей CRM Битрикс24
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Проектирование пользовательских полей CRM Битрикс24

Проектирование пользовательских полей CRM Битрикс24

Пользовательские поля — самый частый способ «сломать» CRM незаметно. Добавить поле — дело пяти минут. Но через год в системе накапливается 80 полей, половина никогда не заполняется, треть — дублируют друг друга, а одно критичное поле создали с типом «строка» вместо «список» и теперь в аналитике 40 вариантов написания слова «Москва».

Технические основы

Пользовательские поля в Битрикс24 CRM создаются через модуль main (класс CUserTypeManager) и хранятся в двух местах:

  • Описание поля — таблица b_user_field: ENTITY_ID (например, CRM_LEAD, CRM_DEAL, CRM_CONTACT, CRM_COMPANY, CRM_SMART_*), FIELD_NAME (с префиксом UF_CRM_), USER_TYPE_ID (тип: string, integer, double, boolean, datetime, enumeration, iblock_section, crm_status, employee и т.д.).
  • Значения полей — таблицы b_uts_crm_lead, b_uts_crm_deal, b_uts_crm_contact, b_uts_crm_company — по одной строке на каждую запись сущности.

Поля типа enumeration (список) хранят значения отдельно в b_user_field_enum. Это важно при миграции данных: нельзя просто скопировать числовое значение из поля-списка между средами — ID значений будут разными.

Типы полей и когда какой выбирать

Тип USER_TYPE_ID Когда использовать
Строка string Произвольный текст: имя, комментарий
Целое число integer Количество, ID, номер
Число с дробью double Сумма, процент, вес
Список enumeration Фиксированный набор значений — статусы, типы, категории
Дата date Дата без времени
Дата+время datetime Дата со временем
Флаг (Да/Нет) boolean Бинарный признак
Файл file Документы, изображения
Привязка к сотруднику employee Ответственный, куратор
Привязка к элементу CRM crm Связь со сделкой, контактом, компанией
Деньги money Суммы с валютой

Выбор «строка» вместо «список» — самая распространённая ошибка. Если значение берётся из конечного набора вариантов — это список. Всегда.

Процесс проектирования полей

Шаг 1. Инвентаризация существующих полей. На живых проектах нередко обнаруживается 50–100 пользовательских полей на одну сущность. Часть создана разными людьми в разное время, часть дублирует стандартные поля, часть никогда не заполнялась. Проводим аудит: какие поля используются, кем, для чего.

Шаг 2. Выявление потребностей. Для каждого отдела-пользователя CRM фиксируем: что они хотят видеть в карточке и что хотят получать в отчётах. Отчёты — ключевой ориентир: если данные нельзя агрегировать, поле с неправильным типом.

Шаг 3. Нормализация значений списков. Для полей типа «список» проектируем финальный набор значений. Правило: значений должно быть достаточно для классификации, но не настолько много, чтобы менеджер не мог выбрать за 3 секунды. 5–12 значений — рабочий диапазон. Если нужно больше — рассматриваем двухуровневый список или справочник через смарт-процесс.

Шаг 4. Именование полей. Системное имя (FIELD_NAME) должно быть осмысленным: UF_CRM_DEAL_REASON_LOSS вместо UF_CRM_1234567. Это критично при интеграциях через REST API и при диагностике.

Шаг 5. Порядок отображения и обязательность. Для каждого поля фиксируем: обязательное или нет, на каких стадиях обязательное, в каком блоке карточки отображается.

Антипаттерны

Поле «Комментарий» вместо структурированных данных. «Причина отказа» как текстовое поле — это журнал, а не аналитика. Через 6 месяцев там будет 200 уникальных фраз.

Поле «Статус» дублирует стандартный статус CRM. Часто кастомное поле «Внутренний статус» — это просто попытка обойти стадии воронки. Если стадии не устраивают, правильнее перепроектировать воронку.

Поля для данных, которые можно вычислить. Если поле «Сумма с НДС» всегда равно «Сумма» × 1.2 — это не нужно хранить, это нужно вычислять в отчёте.

Избыточная детализация. Поле «Причина выбора нашей компании» с 35 вариантами — менеджеры будут выбирать «Прочее». Лучше 6 категорий и открытый комментарий рядом.

Кейс: аудит и пересборка полей для производственной компании

Клиент — завод металлоконструкций. 47 пользовательских полей в сделке, созданных за 3 года. Задача: привести в порядок перед интеграцией с ERP.

Аудит показал:

  • 11 полей типа «строка» с содержимым, которое является перечислением (тип металла, класс прочности, регион поставки)
  • 7 полей никогда не заполнялись (все значения NULL)
  • 4 поля дублируют друг друга («Объём заказа» и «Количество тонн» — одно и то же разными словами)
  • 2 поля имеют неправильный тип: дата прописана как строка в формате «дд.мм.гг»

Результат пересборки: 47 → 28 полей. Строковые поля с перечислениями переведены в enumeration, данные мигрированы через API. Дублирующие поля объединены. Неиспользуемые — удалены после экспорта данных в архив.

После нормализации интеграция с ERP заняла вдвое меньше времени — чистый маппинг полей вместо разбора произвольного текста.

Сроки

Аудит и проектирование пользовательских полей для одной сущности — 2–4 дня. Для всего CRM (лид, сделка, контакт, компания) — 8–14 дней с учётом миграции данных в новые типы и согласования с заказчиком.