В системе «1С-Битрикс: Управление сайтом» и Битрикс24 существуют предопределённые статусы, которые жёстко привязаны к системной логике работы бизнес-процессов. Попытка удалить такие статусы может привести к сбоям в работе CRM, магазина или документооборота. Знание этих ограничений важно при кастомизации портала.
В CRM-модуле нельзя удалить базовые стадии лида, сделки и контактов, такие как «Новый», «В работе», «Сделка закрыта». Эти стадии связаны с системными событиями, API-интеграциями и триггерами. Даже при изменении названия этих статусов, внутренняя идентификация остаётся неизменной – по символьным кодам, например: NEW
, IN_PROCESS
, SUCCESS
, FAIL
.
В интернет-магазине модуль заказов содержит статусы, такие как «Новый» (N
), «Подтверждён» (P
), «Выполнен» (F
), «Отменён» (F_CANCELED
), которые формируют ядро цепочки обработки заказа. Их нельзя удалить из-за привязки к скриптам расчёта доставки, оплат и уведомлений.
Рекомендация: при необходимости изменения логики работы со статусами используйте переименование или настройку отображения, но не удаляйте системные статусы. При разработке новых бизнес-процессов учитывайте, что любые статусы с флагом «системный» или «не удаляемый» следует оставлять без изменений. Проверить такие статусы можно через административную панель, в разделе управления статусами, или через REST API, анализируя параметр IS_SYSTEM
.
Игнорирование этих ограничений может привести к некорректной работе автоматизации, потере данных и невозможности восстановления бизнес-логики без ручного вмешательства в базу данных.
Какие системные статусы в CRM Битрикс24 защищены от удаления
В CRM Битрикс24 существуют предустановленные статусы, которые встроены в логику работы системы и не подлежат удалению через интерфейс. Эти статусы связаны с ключевыми этапами бизнес-процессов и автоматизацией.
Сделки: воронка содержит как минимум два обязательных статуса – «Новая» и «Сделка завершена». При этом завершение делится на два неизменяемых подстатуса: «Успешно реализовано» и «Провалено». Их нельзя удалить или переименовать, поскольку они участвуют в аналитике и отчетности.
Лиды: аналогично, минимальный набор включает статус «Новый», а также финальные статусы «Сконвертирован» и «Забракован». Эти значения фиксированы и критичны для логики конвертации лида в сделку, контакт или компанию.
Смарт-процессы: при создании новых пользовательских сущностей система также добавляет обязательные статусы начала и завершения процесса. Они имеют системную роль и используются в триггерах и роботах.
Удаление таких статусов возможно только программно, через API или изменение системных файлов, что не рекомендуется – это приведет к ошибкам в работе бизнес-процессов и потере данных.
Рекомендация: при настройке CRM используйте пользовательские статусы для детализации этапов, не затрагивая системные. Это обеспечит стабильную работу автоматизации и корректность аналитики.
Чем отличаются пользовательские и предустановленные статусы в сделках
Предустановленные статусы создаются системой автоматически при установке CRM и связаны с базовой логикой работы сделок. Они включают такие этапы, как «Новая», «В работе», «Сделка успешна» и «Сделка провалена». Эти статусы задействованы в системных сценариях: автоматизации, отчетности, API-интеграциях. Их удаление или переименование может привести к сбоям в бизнес-процессах.
Пользовательские статусы добавляются вручную через настройки направления сделки. Они позволяют адаптировать воронку под конкретные процессы компании, например: «Ожидание ответа клиента» или «Подготовка КП». Такие статусы можно свободно изменять, перемещать и удалять без риска нарушения системных зависимостей.
Если требуется гибкая настройка этапов и автоматизации – используйте пользовательские статусы. Если критична стабильность отчетности и интеграций – сохраняйте предустановленные статусы без изменений. Никогда не удаляйте «Сделка успешна» и «Сделка провалена» – эти статусы участвуют в финализации сделок и обязательны для корректной работы CRM.
Можно ли изменить названия и порядок системных статусов
В Битрикс24 системные статусы, такие как «Новый», «В работе», «Завершён» и другие, встроены в логику бизнес-процессов и жёстко привязаны к функционалу CRM. Изменение их названий в интерфейсе возможно только через языковые файлы, расположенные на сервере. Для этого требуется доступ к файловой системе и опыт работы с PHP и структурой Bitrix Framework.
Переименование через административную панель невозможно. Попытка изменить системные языковые константы может привести к конфликтам при обновлениях продукта или потере переводов при смене языковой локали. Рекомендуется использовать локальные языковые файлы в папке /local/lang/, чтобы сохранить изменения при обновлениях ядра.
Изменение порядка системных статусов не предусмотрено. Они отображаются в фиксированной последовательности, заложенной в коде. Для пользовательских воронок и стадий сделки порядок можно настраивать вручную, но для предустановленных статусов в стандартных сущностях (например, Лид, Сделка) порядок остаётся неизменным.
Оптимальный способ обойти ограничения – создать собственные стадии в пользовательской воронке и полностью исключить использование системных статусов, если сценарий работы позволяет. Это даст полный контроль над порядком, названиями и условиями перехода между статусами без вмешательства в ядро.
Как отобразить только удаляемые статусы в интерфейсе Битрикс
Для фильтрации только удаляемых статусов в интерфейсе Битрикс необходимо использовать API-механизмы модуля CRM или бизнес-процессов, в зависимости от используемого функционала. Удалению подлежат только пользовательские статусы, добавленные вручную, при этом системные статусы защищены от удаления и имеют флаг `SYSTEM` в значении `Y`.
Вызовите метод CSaleStatus::GetList
или Bitrix\Crm\StatusTable::getList
и примените фильтр: ["=SYSTEM" => "N"]
. Это вернёт только те статусы, которые не защищены системой и потенциально могут быть удалены. Пример для ORM:
use Bitrix\Crm\StatusTable;
$result = StatusTable::getList([
'filter' => ['=SYSTEM' => 'N'],
'select' => ['ID', 'NAME', 'ENTITY_ID']
]);
while ($status = $result->fetch()) {
// Отобразить в интерфейсе
echo htmlspecialcharsbx($status['NAME']);
}
Если требуется фильтрация статусов для определённого типа сущности, укажите '=ENTITY_ID' => 'DEAL_STAGE'
или соответствующее значение. Для интерфейсов с компонентами UI Grid используйте этот отфильтрованный массив как источник данных. Это исключит отображение предопределённых системных статусов, включая начальные и финальные стадии, не подлежащие удалению.
Важно: не пытайтесь модифицировать или скрывать системные статусы напрямую через административный интерфейс – изменения вступят в конфликт с логикой обработки бизнес-процессов.
Что произойдет при попытке удалить защищённый статус через API
При вызове метода CSaleStatus::Delete
для системного или используемого статуса, который считается защищённым, Bitrix API вернёт false
. Удаление не произойдёт, даже если задать принудительное удаление через кастомный скрипт. При этом не будет выброшено исключение, но результат можно отследить через $APPLICATION->GetException()
.
Пример проверки ошибки:
if (!CSaleStatus::Delete("N")) {
$error = $APPLICATION->GetException();
if ($error)
echo "Ошибка: " . $error->GetString();
}
Причина отказа в удалении – наличие привязок к заказам, активности бизнес-процессов или то, что статус установлен как начальный, завершённый или отменённый в настройках магазина. Также статусы, установленные по умолчанию: N
(новый), F
(выполнен), Y
(оплачен), защищены от удаления на уровне ядра.
Рекомендации:
- Перед удалением убедитесь, что статус не используется ни в одном заказе, включая архивные.
- Проверьте, не задан ли статус в настройках модуля как один из системных (начальный, финальный, отменённый).
- Используйте метод
CSaleStatus::GetList
с фильтрацией по активности и количеству заказов для анализа статуса перед удалением.
Удаление защищённого статуса возможно только при вмешательстве в базу данных напрямую, что не рекомендуется и может привести к неконсистентности данных в заказах, отчётах и автоматизации.
Альтернативные способы управления недоступными для удаления статусами
В Битрикс существуют системные статусы, которые нельзя удалить из-за их роли в бизнес-процессах и логике CRM. Для эффективного управления такими статусами применяют обходные методы, позволяющие адаптировать их использование без удаления.
- Переименование статусов через административный интерфейс. Изменение названия недоступного для удаления статуса позволяет скорректировать его смысл с точки зрения пользователей, сохраняя при этом техническую целостность системы.
- Ограничение применения статусов с помощью автоматизаций. В настройках бизнес-процессов и роботов можно настроить условия, при которых статус не назначается или заменяется альтернативным, тем самым регулируя его появление в работе.
- Скрытие статусов из интерфейсов. С помощью кастомных скриптов или расширенных настроек интерфейса можно исключить недоступные для удаления статусы из выпадающих списков и фильтров, снижая вероятность их случайного использования.
- Переназначение переходов. Настройка цепочек переходов между статусами позволяет обходить нежелательные системные статусы, направляя сделки или задачи напрямую к необходимым этапам.
- Использование фильтров и отчетов с исключением. Для аналитики и отображения данных можно настроить фильтры, которые не учитывают эти статусы, что минимизирует влияние их наличия на показатели и процессы.
Таким образом, управление недоступными для удаления статусами достигается через гибкую настройку логики работы, интерфейса и автоматизаций, что позволяет сохранить стабильность системы и адаптировать ее под конкретные бизнес-задачи.
Вопрос-ответ:
Почему некоторые статусы в Битрикс нельзя удалить?
Некоторые статусы в Битрикс являются системными или связаны с логикой работы CRM и процессов. Их удаление может привести к нарушению функционирования системы, поэтому разработчики сделали их неизменяемыми, чтобы избежать ошибок и сбоев.
Какие именно статусы в Битрикс считаются обязательными и не подлежат удалению?
К числу обязательных относятся базовые статусы, например, «Новый», «В работе», «Завершен» и подобные, которые идут по умолчанию и служат основой для управления сделками, лидами и задачами. Эти статусы встроены в систему и не могут быть удалены.
Можно ли изменить название статусов, которые нельзя удалить?
Да, в большинстве случаев названия системных статусов можно изменить в настройках, чтобы адаптировать их под особенности бизнеса. Однако сам статус и его роль в процессах останутся неизменными.
Как повлияет попытка удаления обязательного статуса на работу Битрикс?
Если попытаться удалить системный статус, система либо не позволит это сделать, либо после удаления возникнут ошибки в обработке данных и работе CRM. Например, могут перестать корректно работать бизнес-процессы, отчёты и автоматизация, связанная с этими статусами.
Можно ли добавить новые статусы, которые не будут удаляться?
Пользовательские статусы, которые создаются вручную, обычно можно удалять и менять по желанию. Однако при создании таких статусов важно учитывать их связь с процессами, чтобы не нарушить логику работы CRM. Статусы, которые нельзя удалить, создаются системой и отличаются от пользовательских.
Почему некоторые статусы в Битрикс нельзя удалить и как это влияет на работу системы?
В Битрикс существуют системные статусы, которые не подлежат удалению, поскольку они необходимы для корректного функционирования бизнес-процессов и логики работы CRM. Удаление таких статусов может привести к ошибкам или нарушению последовательности обработки сделок, задач и других элементов. Поэтому система ограничивает возможность их удаления, чтобы сохранить целостность данных и стабильность работы.