• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integrity/criterionregistrar/decorator/communicationcriterion.php
  • Класс: Bitrix\Crm\Integrity\CriterionRegistrar\Decorator\CommunicationCriterion
  • Вызов: CommunicationCriterion::wrapUpdate
protected function wrapUpdate(CriterionRegistrar\Data $data): Result
{
	$fields = $data->getCurrentFields();

	$multifields = $fields[Item::FIELD_NAME_FM] ?? null;

	if (is_array($multifields))
	{
		// we can't simply use FM from current fields since they may be incomplete
		// e.g., we don't change phones and therefore don't provide them in FM at all
		$multifields = DuplicateCommunicationCriterion::prepareEntityMultifieldValues(
			$data->getEntityTypeId(),
			$data->getEntityId(),
		);

		DuplicateCommunicationCriterion::bulkRegister(
			$data->getEntityTypeId(),
			$data->getEntityId(),
			DuplicateCommunicationCriterion::prepareBulkData($multifields),
		);
	}

	return new Result();
}