• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/requisite/entitylink.php
  • Класс: Bitrix\Crm\Requisite\EntityLink
  • Вызов: EntityLink::moveDependencies
static function moveDependencies(
	$targEntityTypeId = 0, $targEntityId = 0,
	$seedEntityTypeId = 0, $seedEntityId = 0,
	$targRequisiteId = 0, $seedRequisiteId = 0,
	$targBankDetailId = 0, $seedBankDetailId = 0
)
{
	$targRequisiteId = (int)$targRequisiteId;
	$targBankDetailId = (int)$targBankDetailId;
	$seedRequisiteId = (int)$seedRequisiteId;
	$seedBankDetailId = (int)$seedBankDetailId;

	if (!(\CCrmOwnerType::IsDefined($targEntityTypeId) && \CCrmOwnerType::IsDefined($seedEntityTypeId)
		&& $targEntityId > 0 && $seedEntityId > 0 && $targRequisiteId > 0 && $seedRequisiteId > 0))
	{
		return false;
	}

	if ($targBankDetailId > 0 && $seedBankDetailId > 0)
	{
		LinkTable::updateDependencies(
			array('REQUISITE_ID' => $targRequisiteId, 'BANK_DETAIL_ID' => $targBankDetailId),
			array('REQUISITE_ID' => $seedRequisiteId, 'BANK_DETAIL_ID' => $seedBankDetailId)
		);
		LinkTable::updateDependencies(
			array('MC_REQUISITE_ID' => $targRequisiteId, 'MC_BANK_DETAIL_ID' => $targBankDetailId),
			array('MC_REQUISITE_ID' => $seedRequisiteId, 'MC_BANK_DETAIL_ID' => $seedBankDetailId)
		);
	}
	else
	{
		LinkTable::updateDependencies(
			array('REQUISITE_ID' => $targRequisiteId),
			array('REQUISITE_ID' => $seedRequisiteId)
		);
		LinkTable::updateDependencies(
			array('MC_REQUISITE_ID' => $targRequisiteId),
			array('MC_REQUISITE_ID' => $seedRequisiteId)
		);
	}

	$event = new Main\Event(
		'crm',
		'OnAfterRequisiteLinkMoveDependencies',
		array(
			'targEntityTypeId' => $targEntityTypeId,
			'targEntityId' => $targEntityId,
			'seedEntityTypeId' => $seedEntityTypeId,
			'seedEntityId' => $seedEntityId,
			'targRequisiteId' => $targRequisiteId,
			'targBankDetailId' => $targBankDetailId,
			'seedRequisiteId' => $seedRequisiteId,
			'seedBankDetailId' => $seedBankDetailId
		)
	);
	$event->send();

	return true;
}