- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/crmentitydataprovider.php
- Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\CrmEntityDataProvider
- Вызов: CrmEntityDataProvider::onPublicView
public function onPublicView(Document $document, bool $isFirstTime = false)
{
//call automation trigger
$template = $document->getTemplate();
DocumentViewTrigger::execute(
[
['OWNER_TYPE_ID' => $this->getCrmOwnerType(), 'OWNER_ID' => $this->source]
],
['TEMPLATE_ID' => $template->ID]
);
if($isFirstTime)
{
$timelineIdentifier = $this->getTimelineItemIdentifier();
$entityTypeId = $timelineIdentifier ? $timelineIdentifier->getEntityTypeId() : $this->getCrmOwnerType();
$entityId = $timelineIdentifier ? $timelineIdentifier->getEntityId() : $this->source;
$text = Loc::getMessage('CRM_DOCGEN_CRMENTITYDATAPROVIDER_PULIC_LINK_VIEWED', ['#TITLE#' => htmlspecialcharsbx($document->getTitle())]);
$entryId = DocumentEntry::create([
'TEXT' => $text,
'BINDINGS' => [
[
'ENTITY_TYPE_ID' => $entityTypeId,
'ENTITY_ID' => $entityId,
],
],
'TYPE_CATEGORY_ID' => TimelineType::MODIFICATION,
'AUTHOR_ID' => DocumentEntry::getDocumentCreatedEntryAuthorId($document->ID),
], $document->ID);
if($entryId > 0)
{
DocumentController::getInstance()->sendPullEventOnAdd(
new ItemIdentifier($entityTypeId, $entityId),
$entryId
);
}
}
}