Документация для разработчиков
Темная тема

События

Дела

Событие Вызывается Метод С версии
OnActivityAdd при добавлении дела к сущности.CCrmActivity::Add12.0.2
OnActivityDelete при удалении дела.CCrmActivity::Delete12.0.2
OnActivityUpdate при изменении дела. CCrmActivity::Update12.0.2
OnBeforeActivityDelete перед удалением дела.CCrmActivity::Delete12.0.2

Каталог товаров

Событие Вызывается Метод С версии
OnBeforeCrmCatalogDelete перед удалением каталога товаров crm.CCrmCatalog::Delete11.5.0
OnCrmCatalogDelete при удалении каталога товаров CRM.OnCrmCatalogDelete11.5.0

Почтовый шаблон

Событие Вызывается Метод С версии
OnBeforeMailTemplateDelete перед удалением почтового шаблона.CCrmMailTemplate::Delete12.5.0
OnMailTemplateAdd при добавлении почтового шаблона.CCrmMailTemplate::Add12.5.0
OnMailTemplateDelete при удалении почтового шаблона.CCrmMailTemplate::Delete12.5.0
OnMailTemplateUpdate при изменении почтового шаблона.CCrmMailTemplate::Update12.5.0

Товары

Событие Вызывается Метод С версии
OnBeforeCrmProductDelete перед удалением товара crm.CCrmProduct::Delete11.5.0
OnCrmProductDelete при удалении товара CRM.CCrmProduct::Delete11.5.0
OnAfterCrmProductUpdate после обновления товара CRM.CCrmProduct::Update11.5.0

Компании

Событие Вызывается Метод С версии
OnAfterCrmCompanyAdd после добавления компании.CCrmCompany::Add10.0.1
OnAfterCrmCompanyUpdate после изменения компании.CCrmCompany::Update10.0.1
OnBeforeCrmCompanyDelete перед удалением компании.CCrmCompany::Delete10.0.1
OnBeforeCrmCompanyAdd перед добавлением компанииCCrmCompany::Add10.0.1
OnBeforeCrmCompanyUpdate перед изменением компанииCCrmCompany::Update10.0.1
OnAfterCrmCompanyDelete после удаления компании.CCrmCompany::Delete10.0.1
OnAfterExternalCrmCompanyAdd после добавления внешней компании.CCrmCompany::Add10.0.1

Контакты

Событие Вызывается Метод С версии
OnAfterCrmContactAdd после добавления контакта.CCrmContact::Add10.0.1
OnAfterCrmContactUpdate после изменения контакта.CCrmContact::Update10.0.1
OnBeforeCrmContactDelete перед удалением контакта.CCrmContact::Delete10.0.1
OnBeforeCrmContactAdd перед добавлением контакта.CCrmContact::Add10.0.1
OnBeforeCrmContactUpdate перед изменением контакта.CCrmContact::Update10.0.1
OnAfterExternalCrmContactAdd после добавления внешнего контакта.CCrmContact::Add10.0.1
OnAfterCrmContactDelete после удаления контакта.CCrmContact::Delete10.0.1

Сделки

Событие Вызывается Метод С версии
OnAfterCrmDealAdd после добавления сделки.CCrmDeal::Add10.0.1
OnAfterCrmDealUpdate после изменения сделки.CCrmDeal::Update10.0.1
OnBeforeCrmDealDelete перед удалением сделки.CCrmDeal::Delete10.0.1
OnBeforeCrmDealAdd перед добавлением сделки.CCrmDeal::Add10.0.1
OnBeforeCrmDealUpdate перед изменением сделки.CCrmDeal::Update10.0.1
OnAfterCrmDealDelete после удаления сделки.CCrmDeal::Delete10.0.1
OnAfterExternalCrmDealAdd после добавления внешней сделки.CCrmDeal::Add10.0.1
OnAfterCrmDealProductRowsSave после добавления товара в сделку.CCrmDeal::SaveProductRows10.0.1
OnBeforeCrmDealProductRowsSave перед добавлением товара в сделку.CCrmDeal::SaveProductRows22.500

Лиды

Событие Вызывается Метод С версии
OnAfterCrmLeadAdd после добавления лида.CCrmLead::Add10.0.0
OnAfterCrmLeadUpdate после изменения лида.CCrmLead::Update10.0.0
OnBeforeCrmLeadDelete перед удалением лида.CCrmLead::Delete10.0.0
OnBeforeCrmLeadAdd перед добавлением лида.CCrmLead::Add10.0.0
OnBeforeCrmLeadUpdate перед изменением лида.CCrmLead::Update10.0.0
OnAfterCrmLeadDelete после удалениея лида.CCrmLead::Delete10.0.0
OnAfterExternalCrmLeadAdd после добавления внешнего лида.CCrmLead::Add10.0.0
OnAfterCrmLeadProductRowsSave после добавления товара в лид.CCrmLead::SaveProductRows10.0.0

Коммерческие предложения

Событие Вызывается Метод С версии
OnBeforeCrmQuoteAdd перед добавлением коммерческого предложенияCCrmQuote::Add
OnAfterCrmQuoteAdd после добавления коммерческого предложенияCCrmQuote::Add
OnBeforeCrmQuoteUpdate перед обновлением коммерческого предложенияCCrmQuote::Update
OnAfterCrmQuoteUpdate после обновления коммерческого предложенияCCrmQuote::Update
OnBeforeCrmQuoteDelete перед удалением коммерческого предложенияCCrmQuote::Delete
OnAfterCrmQuoteDelete после удаления коммерческого предложенияCCrmQuote::Delete
OnBeforeCrmQuoteNumberSet перед присвоением номера коммерческому предложениюCCrmQuote::SetQuoteNumber
OnAfterCrmQuoteProductRowsSave после добавления товара в коммерческое предложениеCCrmQuote::SaveProductRows

Счета

Событие Вызывается Метод С версии
OnBeforeCrmInvoiceUpdate перед обновлением счётаCCrmInvoice::Add
OnBeforeCrmInvoiceAdd перед добавлением счётаCCrmInvoice::Add
OnBeforeCrmInvoiceDelete перед удалением счётаCCrmInvoice::Delete
OnAfterCrmInvoiceDelete после удаления счётаCCrmInvoice::Delete
OnBeforeCrmInvoiceSetStatus перед установкой статуса счётаCCrmInvoice::SetStatus
OnAfterCrmInvoiceSetStatus после установки статуса счётаCCrmInvoice::SetStatus

Корзина

Событие Вызывается Метод С версии
OnAfterMoveToRecycleBin после перемещения документа в корзинуBaseController::fireAfterMoveToBinEvent
OnAfterRecoverFromRecycleBin после восстановления документа из корзиныBaseController::fireAfterRecoverEvent
OnAfterEraseFromRecycleBin после очистки корзиныBaseController::fireAfterEraseEvent

Другие события

Событие Вызывается Метод С версии
OnGetEntityTypes после построения списка типов сущностей.CCrmStatus::GetEntityTypes11.5.0
OnAfterCrmAddEvent после добавления события.CCrmEvent::Add10.0.6
OnGetActivityProviders при получении списка активных провайдеровProviderManager::getProviders
OnBeforeCrmAddEvent перед добавлением события.CCrmEvent::Add10.0.6
OnBeforeCrmEventDelete перед удалением события.CCrmEvent::Delete10.0.6
OnBeforeCrmEventDeleteByElement перед удалением всех событий, связанных с конкретной сущностью.CCrmEvent::DeleteByElement10.0.6
*OnCrmStatusGetList при запросе CCrmStatus::GetStatusOnCrmStatusGetList12.5.7
* используется для переопределения статусов в базе данных. Рекомендуется не использовать.


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Sherzod Najmiddinov
Сообщение не промодерировано, возможны ошибки и неточности.
// Класс создания левого меню в crm:

$_POST['itemData'] = ['text' => 'Ссылка на важную страницу', 'link' => '/sevices/my-app/index.html'];

$controller = new \Bitrix\Intranet\Controller\LeftMenu();

$response = $controller->addSelfItemAction();

// Rest API Метод для создания левого меню в crm:
$controller = new \Bitrix\Intranet\Controller\LeftMenu();
$_POST['itemInfo'] = [
   'text' => 'Ссылка на важную страницу',
   'link' => '/local/my-app/index.html',
   'id' => 1290779280, //  Ид взять из предыдущего метода $controller->addSelfItemAction() ->  $response["itemId"];
   'openInNewPage' => 'Y'
];
$controller->addItemToAllAction();

//Удаление происходит с таким образом
$controller = new \Bitrix\Intranet\Controller\LeftMenu();$controller->deleteSelfItemAction(1290779280);
$_POST['menu_item_id'] = 1290779280;
$controller->deleteItemFromAllAction();

вы можете отправить к нему запрос или через BX.rest.callMethod('intranet.leftmenu.addSelfItem') ,
так и отравив запрос на ссылку  http://bitrix.local/rest/intranet.leftmenu.addSelfItem.json
0
Сергей Абакаев
Сообщение не промодерировано, возможны ошибки и неточности.
OnBeforeCrmActivityAdd
0
Сергей Абакаев
Сообщение не промодерировано, возможны ошибки и неточности.
Есть еще событие OnBeforeCrmActivityAdd
0
Павел Комягин
Сообщение не промодерировано, возможны ошибки и неточности.
Ввиду того что не реализовано событие сохранения товарных позиций в счетах, для, например, контроля товарных позиций можно использовать события OnBeforeCrmInvoiceAdd и OnBeforeCrmInvoiceUpdate
В массиве параметров по ключу "PRODUCT_ROWS" будет доступен массив товарных позиций счета. В случае если товарные позиции не изменяются, данный ключ в параметрах отсутствует. Ошибку можно вернуть, записав в массив входных параметров по ключу "RESULT_MESSAGE" свое сообщение об ошибке и вернув из обработчика false
Код
public static function onBeforeCrmInvoiceUpdate(&$fields)
{
    if (!empty($fields['PRODUCT_ROWS'])) {
        foreach ($fields['PRODUCT_ROWS'] as $row) {
            if ($row['PRODUCT_ID'] < 1 /* You check logic */) {
                $fields['RESULT_MESSAGE'] = 'Invalid row!'; // My error message
                return false;
            }
        }
    }
    return true;
}
3
Рушан Зарипов
Сообщение не промодерировано, возможны ошибки и неточности.
Событие построения верхнего меню в crm
Код
AddEventHandler('crm', 'OnAfterCrmControlPanelBuild', 'OnAfterCrmControlPanelBuildHandler');
function OnAfterCrmControlPanelBuildHandler(& $arMenu) {
   /**Обработка события**/
}
9
Tigra2009
Пример массива $arFields для добавления лида:


Код
Array[18]
    TITLE => "тестовый лид"
    COMPANY_TITLE => "название компани"
    NAME => "имя"
    LAST_NAME => "фамилия"
    SECOND_NAME => "отчество"
    POST => "должность"
    ADDRESS => "адрес"
    COMMENTS => "комментарий"
    SOURCE_DESCRIPTION => "Дополнительно об источнике"
    STATUS_DESCRIPTION => "сведения о статусе"
    OPPORTUNITY => "10"
    CURRENCY_ID => "UAH"
    EXCH_RATE => "1"
    SOURCE_ID => "CALL"
    STATUS_ID => "IN_PROCESS"
    ASSIGNED_BY_ID => "509"
    OPENED => "Y"
    FM => Array[4]
        EMAIL => Array[3]
            n1 => Array[2]
                VALUE => "test1@gmail.com"
                VALUE_TYPE => "WORK"
            n2 => Array[2]
                VALUE => "test2@gmail.com"
                VALUE_TYPE => "WORK"
            n3 => Array[2]
                VALUE => "test3@gmail.com"
                VALUE_TYPE => "WORK"
        PHONE => Array[3]
            n1 => Array[2]
                VALUE => "телефон рабочий 1"
                VALUE_TYPE => "WORK"
            n2 => Array[2]
                VALUE => "телефон рабочий 2"
                VALUE_TYPE => "WORK"
            n3 => Array[2]
                VALUE => "телефон мобильный 1"
                VALUE_TYPE => "MOBILE"
        WEB => Array[1]
            n1 => Array[2]
                VALUE => "сайт корпоративный"
                VALUE_TYPE => "WORK"
        IM => Array[1]
            n1 => Array[2]
                VALUE => "скайп"
                VALUE_TYPE => "SKYPE"
 
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх