- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/storedocument.php
- Класс: Bitrix\Crm\Activity\Provider\StoreDocument
- Вызов: StoreDocument::internalAdd
static function internalAdd(int $dealId, $fields): ?int
{
$deal = \CCrmDeal::GetByID($dealId, false);
if (!$deal)
{
return null;
}
$authorId = $responsibleId = self::getResponsibleId($deal);
$ownerTypeId = \CCrmOwnerType::Deal;
$ownerId = $dealId;
$startTime = new Type\DateTime();
$endTime = $deadlineTime = self::getDeadlineTime();
$fields =
[
'TYPE_ID' => \CCrmActivityType::Provider,
'PROVIDER_ID' => self::PROVIDER_TYPE_DEFAULT,
'IS_HANDLEABLE' => 'Y',
'COMPLETED' => 'N',
'STATUS' => \CCrmActivityStatus::Waiting,
'RESPONSIBLE_ID' => $responsibleId,
'PRIORITY' => \CCrmActivityPriority::Medium,
'AUTHOR_ID' => $authorId,
'START_TIME' => $startTime,
'END_TIME' => $endTime,
'DEADLINE' => $deadlineTime,
'OWNER_ID' => $ownerId,
'OWNER_TYPE_ID' => $ownerTypeId,
'ASSOCIATED_ENTITY_ID' => $dealId,
]
+ $fields
;
$activityId = (int)\CCrmActivity::add($fields, false);
return $activityId > 0 ? $activityId : null;
}