- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/recycling/dealbinder.php
- Класс: Bitrix\Crm\Recycling\DealBinder
- Вызов: DealBinder::bindEntities
public function bindEntities($associatedEntityTypeID, $associatedEntityID, array $entityIDs)
{
if(empty($entityIDs))
{
return;
}
$entity = new \CCrmDeal(false);
if($associatedEntityTypeID === \CCrmOwnerType::Company)
{
foreach($entityIDs as $entityID)
{
$fields = array('COMPANY_ID' => $associatedEntityID);
$entity->Update(
$entityID,
$fields,
true,
false,
);
}
}
elseif($associatedEntityTypeID === \CCrmOwnerType::Contact)
{
$bindingMap = Crm\Binding\DealContactTable::getBulkDealBindings($entityIDs);
foreach($bindingMap as $entityID => $bindings)
{
Crm\Binding\EntityBinding::addEntityBinding(\CCrmOwnerType::Contact, $associatedEntityID, $bindings);
if(!Crm\Binding\EntityBinding::findPrimaryBinding($bindings))
{
Crm\Binding\EntityBinding::markFirstAsPrimary($bindings);
}
$fields = array('CONTACT_BINDINGS' => $bindings);
$entity->Update(
$entityID,
$fields,
true,
false,
);
}
}
else
{
$entityTypeName = \CCrmOwnerType::ResolveName($associatedEntityTypeID);
throw new Main\NotSupportedException("Entity '{$entityTypeName}' not supported in current context.");
}
}