On this page
description
Работа с реквизитами компаний
Примеры работы с реквизитами компаний в Битрикс24: добавление, обновление и удаление.
Добавление или обновление реквизитов компании
Этот 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);
}