Создание компании на АПИ Битрикс24 не такое уж и простое дело. Это не одна функция добавления.
Здесь также требуется добавить контактный телефон и email, добавить контактное лицо или несколько контактных лиц, добавить реквизиты юрлица, к ним прикрепить юридический и фактический адрес, добавить банковские реквизиты компании.
Об этом я вам сейчас и расскажу.
Собираем массив данных компании. Единственное поле является обязательным – это название. Но при создании компании через АПИ также необходимо указать ответственного.
Эти же поля вы можете увидеть, заглянув на страницу в админке: Монитор производительности - Таблицы - таблица b_crm_company.
$arNewCompany= array( "TITLE" =>"Название компании - обязательное поле", 'ASSIGNED_BY_ID'=>"Ид ответственного сотрудника", "OPENED"=>"Y" /*признак, что компанию могут видеть другие сотрудники с правами менеджера*/ "ADDRESS"=>"Устаревшее поле адреса", /* не используется в новом дизайне, так же как ADDRESS_LEGAL, BANKING_DETAILS*/ "COMPANY_TYPE"=> "CUSTOMER" );
Чтобы указать телефон компании и Email к этому массиву добавляем массив такого вида:
$arNewCompany['FM']['PHONE'] = array( 'n0' => array( 'VALUE_TYPE' => 'WORK', 'VALUE' => "номер телефона", ) ); $arNewCompany['FM']['EMAIL'] = array( 'n0' => array( 'VALUE_TYPE' => 'WORK', 'VALUE' => "адрес email", ) );
Подключаем модуль СРМ, создаем объект класса CCrmCompany и добавляем компанию.
Bitrix\Main\Loader::IncludeModule('crm'); $company=new CCrmCompany(); $companyID=$company->Add($arNewCompany);
Итак, компанию с телефоном и email мы добавили.
Их надо создать и у них указать компанию.
Собираем массив контакта.
$arNewContact=array( "NAME"=>"Имя", "LAST_NAME"=>"Фамилия", "COMPANY_ID"=>$companyID, /* ил нашей созданной компании*/ 'ASSIGNED_BY_ID'=>"Ид ответственного сотрудника", "POST"=>"Должность" ); $arNewContact['FM']['PHONE'] = array( 'n0' => array( 'VALUE_TYPE' => 'WORK', 'VALUE' => "номер телефона", ) ); $arNewContact['FM']['EMAIL'] = array( 'n0' => array( 'VALUE_TYPE' => 'WORK', 'VALUE' => "адрес email", ) ); $contact=new CCrmContact(); $contactID=$contact->Add($arNewContact);
$requisiteFields=array( "ENTITY_TYPE_ID"=>4, /*реквизит для компании*/ "ENTITY_ID"=>$companyID, /* ид нашей созданной компании*/ "NAME"=>"Организация", "PRESET_ID"=>2, "RQ_NAME"=>"Название реквизита", "RQ_COMPANY_NAME"=>"Название компании", "RQ_COMPANY_FULL_NAME"=>"Официальное название компании", "RQ_INN" =>"ИНН компании", "RQ_KPP" =>"КПП компании", );
И сразу создаем юридический адрес
$requisiteFields["RQ_ADDR"]["1"] = array( "ADDRESS_1" => "улица дом", "ADDRESS_2" => "Квартира", "CITY" => "Город", "REGION" => "Регион", "PROVINCE" => "Область", "POSTAL_CODE" => "Индекс", "COUNTRY" => "Страна", );
И добавляем реквизит компании на bitrix API d7:
$requisiteEntity = new Bitrix\Crm\EntityRequisite(); $resultRequisit = $requisiteEntity->add($requisiteFields); $requisitID = $resultRequisit->GetID();
$bankDetailFields = array( "NAME" => "Банковские реквизиты", "ENTITY_TYPE_ID" => 8, "ENTITY_ID" => $requisitID, /*ид нашего реквизита юрлица*/ "COUNTRY_ID" => 1, /*Россия*/ "RQ_BANK_NAME" =>"Название банка", "RQ_BIK" => "БИК", "RQ_ACC_NUM" => "расчетный счет", "RQ_COR_ACC_NUM" => "корсчет", "RQ_BANK_ADDR" => "адрес банка и город" ); $bankDetail = new \Bitrix\Crm\EntityBankDetail(); $ok = $bankDetail->checkBeforeAdd($bankDetailFields); /*проверка реквизитов*/ if($ok){ $resultBank = $bankDetail->add($bankDetailFields); }