- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/requisite/entitylink.php
- Класс: Bitrix\Crm\Requisite\EntityLink
- Вызов: EntityLink::copyRequisiteLink
static function copyRequisiteLink(Item $source, Item $destination): void
{
$companyId = null;
if ($source->hasField(Item::FIELD_NAME_COMPANY_ID))
{
$companyId = $source->getCompanyId();
}
$contactId = null;
if ($source->hasField(Item::FIELD_NAME_CONTACTS))
{
$contactId = $source->getPrimaryContact() ? $source->getPrimaryContact()->getId() : null;
}
$requisiteBindings = EntityRequisite::getSingleInstance()->getEntityRequisiteBindings(
$source->getEntityTypeId(),
$source->getId(),
$companyId,
$contactId,
);
$requisiteId = isset($requisiteBindings['REQUISITE_ID']) ? (int)$requisiteBindings['REQUISITE_ID'] : 0;
$bankDetailId = isset($requisiteBindings['BANK_DETAIL_ID']) ? (int)$requisiteBindings['BANK_DETAIL_ID'] : 0;
[$mcRequisiteId, $mcBankDetailId] = self::getMcRequisiteLink($source);
if ($requisiteId > 0 || $mcRequisiteId > 0)
{
self::register(
$destination->getEntityTypeId(),
$destination->getId(),
$requisiteId,
$bankDetailId,
$mcRequisiteId,
$mcBankDetailId,
);
}
}