- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/recycling/leadrelationmanager.php
- Класс: Bitrix\Crm\Recycling\LeadRelationManager
- Вызов: LeadRelationManager::buildCollection
public function buildCollection($entityID, array &$recyclingData)
{
$companyID = isset($recyclingData['COMPANY_ID']) ? (int)$recyclingData['COMPANY_ID'] : 0;
unset($recyclingData['COMPANY_ID']);
$contactIDs = isset($recyclingData['CONTACT_IDS']) && is_array($recyclingData['CONTACT_IDS'])
? $recyclingData['CONTACT_IDS'] : [];
unset($recyclingData['CONTACT_IDS']);
$childContactIDs = isset($recyclingData['CHILD_CONTACT_IDS']) && is_array($recyclingData['CHILD_CONTACT_IDS'])
? $recyclingData['CHILD_CONTACT_IDS'] : [];
unset($recyclingData['CHILD_CONTACT_IDS']);
$childCompanyIDs = isset($recyclingData['CHILD_COMPANY_IDS']) && is_array($recyclingData['CHILD_COMPANY_IDS'])
? $recyclingData['CHILD_COMPANY_IDS'] : [];
unset($recyclingData['CHILD_COMPANY_IDS']);
$childDealIDs = isset($recyclingData['CHILD_DEAL_IDS']) && is_array($recyclingData['CHILD_DEAL_IDS'])
? $recyclingData['CHILD_DEAL_IDS'] : [];
unset($recyclingData['CHILD_DEAL_IDS']);
$childQuoteIds = isset($recyclingData['CHILD_QUOTE_IDS']) && is_array($recyclingData['CHILD_QUOTE_IDS'])
? $recyclingData['CHILD_QUOTE_IDS'] : [];
unset($recyclingData['CHILD_QUOTE_IDS']);
$relations = [];
$this->prepareActivityRelations(
\CCrmOwnerType::Lead,
$entityID,
$recyclingData,
$relations
);
if($companyID > 0)
{
$relations[] = new Relation(
\CCrmOwnerType::Company,
$companyID,
\CCrmOwnerType::Lead,
$entityID
);
}
if(!empty($contactIDs))
{
foreach($contactIDs as $contactID)
{
$relations[] = new Relation(
\CCrmOwnerType::Contact,
$contactID,
\CCrmOwnerType::Lead,
$entityID
);
}
}
if(!empty($childContactIDs))
{
foreach($childContactIDs as $contactID)
{
$relations[] = new Relation(
\CCrmOwnerType::Lead,
$entityID,
\CCrmOwnerType::Contact,
$contactID
);
}
}
if(!empty($childCompanyIDs))
{
foreach($childCompanyIDs as $companyID)
{
$relations[] = new Relation(
\CCrmOwnerType::Lead,
$entityID,
\CCrmOwnerType::Company,
$companyID
);
}
}
if(!empty($childDealIDs))
{
foreach($childDealIDs as $dealID)
{
$relations[] = new Relation(
\CCrmOwnerType::Lead,
$entityID,
\CCrmOwnerType::Deal,
$dealID
);
}
}
if (!empty($childQuoteIds))
{
foreach ($childQuoteIds as $quoteId)
{
$relations[] = new Relation(
\CCrmOwnerType::Lead,
$entityID,
\CCrmOwnerType::Quote,
$quoteId
);
}
}
return $relations;
}