Добавление или обновление реквизитов компании

Этот PHP-код позволяет добавлять новые реквизиты для компании в Битрикс24 или обновлять существующие, если они уже есть.

$ENTITY_ID = "{{ID}}"; //ID Сущности (Контакта или Компании)  
$ENTITY_TYPE_ID = '4'; //ID Типа Сущности: 3 - Контакт, 4 - Компания  
$PRESET_ID = '7'; //ID Шаблона Реквизитов (по умолчанию): Организация - 1, ИП - 3, Физ. лицо - 5  
$IndexRQ = '12345'; //Индекс  
$CountryRQ = 'Страна'; //Страна  
$CityRQ = 'Город'; //Город  
$StreetRQ = 'Улица, номер дома'; //Улица, номер дома  
  
//Задаем переменные только для почтового индекса, города и страны  
$arRequisite["ADDRESS_STREET_NAME"] = $StreetRQ;  
$arRequisite["ADDRESS_HOUSE"] = "";  
$arRequisite["ADDRESS_BUILDING"] = "";  
$arRequisite["ADDRESS_FLAT"] = "";  
$arRequisite["ADDRESS_REGION_NAME"] = $CityRQ;  
$arRequisite["ADDRESS_INDEX"] = $IndexRQ;  
  
//Проверяем, есть ли уже реквизиты у компании  
  
$requisite = new \Bitrix\Crm\EntityRequisite();  
$requisiteList = $requisite->getList([  
    'filter' => [  
        'ENTITY_ID' => $ENTITY_ID,  
        'ENTITY_TYPE_ID' => $ENTITY_TYPE_ID,  
        'PRESET_ID' => $PRESET_ID  
    ],  
    'select' => ['ID']  
])->fetchAll();  
  
//Если реквизиты есть, то обновляем их  
  
if (!empty($requisiteList)) {  
    $requisiteId = $requisiteList[0]['ID'];  
    $fields['ENTITY_ID'] = $ENTITY_ID;  
    $fields['ENTITY_TYPE_ID'] = $ENTITY_TYPE_ID;  
    $fields['PRESET_ID'] = $PRESET_ID;  
    $fields['NAME'] = "{{Company Name}}";  
    $fields['SORT'] = 500;  
    $fields['ACTIVE'] = 'Y';  
    $fields['RQ_COMPANY_NAME'] = "{{Company Name}}";  
    $fields['RQ_COMPANY_FULL_NAME'] = "{{Company Name}}";  
    $requisite->update($requisiteId, $fields);  
}  
//Если реквизитов нет, то добавляем их  
  
else {  
    $fields['ENTITY_ID'] = $ENTITY_ID;  
    $fields['ENTITY_TYPE_ID'] = $ENTITY_TYPE_ID;  
    $fields['PRESET_ID'] = $PRESET_ID;  
    $fields['NAME'] = "{{Company Name}}";  
    $fields['SORT'] = 500;  
    $fields['ACTIVE'] = 'Y';  
    $fields['RQ_COMPANY_NAME'] = "{{Company Name}}";  
    $fields['RQ_COMPANY_FULL_NAME'] = "{{Company Name}}";  
    $requisiteId = $requisite->add($fields)->getId();  
}  
  
$rootActivity = $this->GetRootActivity();  
$rootActivity->SetVariable("res", $requisiteId);  
  
//Добавляем\Обновляем Юридический Адрес в реквизит  
  
if($requisiteId > 0){    
     $address = new \Bitrix\Crm\EntityAddress();  
     $address->register(8, $requisiteId, 6, array(                                                                                                                                                             
         "ADDRESS_1" =>$arRequisite["ADDRESS_STREET_NAME"],  
         "ADDRESS_2" => "",  
         "CITY" => $arRequisite["ADDRESS_REGION_NAME"],  
         "POSTAL_CODE" => $arRequisite["ADDRESS_INDEX"],  
         "COUNTRY" => $CountryRQ  
     ));  
}

Удаление всех реквизитов компании

Данный скрипт позволяет полностью удалить все реквизиты, привязанные к указанной компании в Битрикс24.

$ID_COMPANY = "{{ID}}";  
  
//Получаем текущие реквизиты компании  
$requisite = new \Bitrix\Crm\EntityRequisite();  
$requisiteList = $requisite->getList([  
    'filter' => [  
        'ENTITY_ID' => $ID_COMPANY,  
        'ENTITY_TYPE_ID' => '4'  
    ],  
    'select' => ['ID']  
])->fetchAll();  
  
//Если реквизитов нет, то код дальше не выполняется  
if (empty($requisiteList)) {  
    return;  
}  
  
//Если реквизиты есть, то удаляем их  
foreach ($requisiteList as $requisiteItem) {  
    $requisiteId = $requisiteItem['ID'];  
    $requisite->delete($requisiteId);  
}