• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/crmentitydataprovider.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\CrmEntityDataProvider
  • Вызов: CrmEntityDataProvider::onDocumentCreate
public function onDocumentCreate(Document $document)
{
	$userId = $this->getDocumentUserId($document);
	Loc::loadLanguageFile(__FILE__);
	$text = Loc::getMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_COMMENT', ['#TITLE#' => htmlspecialcharsbx($document->getTitle())]);
	$timelineIdentifier = $this->getTimelineItemIdentifier();
	$entityTypeId = $timelineIdentifier ? $timelineIdentifier->getEntityTypeId() : $this->getCrmOwnerType();
	$entityId = $timelineIdentifier ? $timelineIdentifier->getEntityId() : $this->source;
	$entryID = DocumentEntry::create([
		'TEXT' => $text,
		'AUTHOR_ID' => $userId,
		'BINDINGS' => [
			[
				'ENTITY_TYPE_ID' => $entityTypeId,
				'ENTITY_ID' => $entityId,
			]
		],
		'TYPE_CATEGORY_ID' => TimelineType::CREATION,
	], $document->ID);
	if($entryID > 0)
	{
		$saveData = array(
			'COMMENT' => $text,
			'ENTITY_TYPE_ID' => $entityTypeId,
			'ENTITY_ID' => $entityId,
			'USER_ID' => $userId,
			'DOCUMENT_ID' => $document->ID,
		);
		DocumentController::getInstance()->onCreate($entryID, $saveData);
	}

	//call automation trigger
	if (CreationMethod::isDocumentCreatedByPublic($document) || CreationMethod::isDocumentCreatedByRest($document))
	{
		$template = $document->getTemplate();
		DocumentCreateTrigger::execute(
			[
				['OWNER_TYPE_ID' => $this->getCrmOwnerType(), 'OWNER_ID' => $this->source]
			],
			['TEMPLATE_ID' => $template->ID]
		);
	}
}