- Модуль: 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]
);
}
}