Блог Горошко Андрея Bitrix24,PHP Работа механизма: Подробное руководство

Работа механизма: Подробное руководство

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Работа механизма: Подробное руководство», проанализируем лучшие практики и покажем, как правильно использовать битрикс в реальных задачах.

Работа механизма

[TOC]

В настоящий момент поддержка универсального API не включена для всех сущностей.

Новый API полностью поддерживается для:

  • смарт-процессов,
  • счетов,
  • коммерческих предложений,
  • документов (подсистема подписи).

Опциональная поддержка (зависит от настроек):

  • лиды,
  • сделки,
  • контакты,
  • компании.

> Команда Битрикс24 надеется что переход пройдет незаметно. Весь существующий код должен продолжать работать без изменений. Пожалуйста, если вы обнаружили какую-то несовместимость в работе старого и нового API, свяжитесь с технической поддержкой.

Как узнать включено ли?

Проверить, включено ли новое API, можно только через php-код.
Для проверки можно использовать как через специальные классы настроек:

use \Bitrix\Crm\Settings;
use \Bitrix\Main\Loader;

Loader::requireModule('crm');

var_dump([
    'deal' => Settings\DealSettings::getCurrent()->isFactoryEnabled(),
    'lead' => Settings\LeadSettings::getCurrent()->isFactoryEnabled(),
    'contact' => Settings\ContactSettings::getCurrent()->isFactoryEnabled(),
    'company => Settings\CompanySettings::getCurrent()->isFactoryEnabled(),
]);

Так и через объекты сущностей:

use \Bitrix\Main\Loader;

Loader::requireModule('crm');

var_dump([
    'deal' => ( new \CCrmDeal() )->isUseOperation(),
    'lead' => ( new \CCrmLead() )->isUseOperation(),
    'contact' => ( new \CCrmContact() )->isUseOperation(),
    'company' => ( new \CCrmCompany() )->isUseOperation(),
]);

Пример результата (когда использование выключено):

array(4) {
  ["deal"] => bool(false)
  ["lead"] => bool(false)
  ["contact"] => bool(false)
  ["company"] => bool(false)
}

Как включить?

Включить механизм можно так же двумя способами: через код и через браузер.

Для включения через код, необходимо через механизм настроек перевести флаг в положение true:

\Bitrix\Main\Loader::requireModule('crm');

\Bitrix\Crm\Settings\DealSettings::getCurrent()->setFactoryEnabled(true);

Аналогично можно сделать для других сущностей — достаточно вместо DealSettings использовать LeadSettings, ContactSettings и CompanySettings соответственно.

Для включения через браузер достаточно просто перейти в раздел CRM и добавить ?enableFactory=Y.

>ВАЖНО! Включить новую настройку может любой пользователь с правами на доступ в CRM!

Отключение

Отключение механизма производится аналогичным подключением, с единственной разницей — необходимо передавать false в php-коде и N (вместо Y) в адресной строке.

>Если вы отменяете переход на универсальное API из-за ошибок связанных с отказом в работоспособности ваших обработчиков или другого кода — обязательно свяжитесь с технической поддержкой для описания произошедшего!

💡 Экспертное мнение и рекомендации

Практические рекомендации:

  • При написании кастомных компонентов для «Работа механизма: Подробное руководство» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Перекрытие: Подробное руководствоПерекрытие: Подробное руководство

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Перекрытие: Подробное руководство». Вы узнаете экспертные методики работы с перекрытие и научитесь избегать

Событие при удалении комментария OnTaskCommentDeleteСобытие при удалении комментария OnTaskCommentDelete

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Событие при удалении комментария OnTaskCommentDelete», разберем архитектурные особенности

Как использовать метод SDK voximplant.line.outgoing.sip.set в Битрикс24Как использовать метод SDK voximplant.line.outgoing.sip.set в Битрикс24

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Как использовать метод SDK voximplant.line.outgoing.sip.set в Битрикс24». Вы узнаете экспертные методики работы с