• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/catalog/contractor/provider.php
  • Класс: Bitrix\Crm\Integration\Catalog\Contractor\Provider
  • Вызов: Provider::onAfterDocumentSaveSuccess
static function onAfterDocumentSaveSuccess(int $documentId, Result $result, array $options = []): void
{
	$resultData = $result->getData();

	$companyId = $resultData['COMPANY_ID'] ?? 0;
	$documentBindings = $resultData['DOCUMENT_BINDINGS'] ?? [];
	$contactCompanyBindings = $resultData['CONTACT_COMPANY_BINDINGS'] ?? [];

	/** @var EntityEditSettings $entityEditorSettings */
	$entityEditorSettings = $options['entityEditorSettings'] ?? null;

	if (
		$entityEditorSettings
		&& $entityEditorSettings->isClientCompanyEnabled()
		&& $entityEditorSettings->isClientContactEnabled()
		&& $companyId > 0
		&& is_array($contactCompanyBindings) &&
		!empty($contactCompanyBindings)
	)
	{
		self::bindContactsToCompany($companyId, $contactCompanyBindings);
	}

	if (
		isset($resultData['UPDATE_ENTITIES'])
		&& is_array($resultData['UPDATE_ENTITIES'])
	)
	{
		self::updateEntities($resultData['UPDATE_ENTITIES']);
	}

	self::bindEntitiesToDocument($documentId, $documentBindings);
}