- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/ordershipmentcontroller.php
- Класс: Bitrix\Crm\Timeline\OrderShipmentController
- Вызов: OrderShipmentController::onDeducted
public function onDeducted($ownerID, array $params)
{
if (!is_int($ownerID))
{
$ownerID = (int)$ownerID;
}
if ($ownerID <= 0)
{
throw new Main\ArgumentException('Owner ID must be greater than zero.', 'ownerID');
}
$settings = is_array($params['SETTINGS']) ? $params['SETTINGS'] : [];
$shipmentFields = is_array($params['FIELDS']) ? $params['FIELDS'] : [];
$bindings = $params['BINDINGS'] ?? [];
$authorId = self::resolveCreatorID($shipmentFields);
if (!empty($settings))
{
$timelineEntryId = OrderEntry::create([
'ENTITY_ID' => $ownerID,
'TYPE_CATEGORY_ID' => TimelineType::MODIFICATION,
'ENTITY_TYPE_ID' => \CCrmOwnerType::OrderShipment,
'AUTHOR_ID' => $authorId,
'BINDINGS' => $bindings,
'SETTINGS' => $settings
]);
foreach ($bindings as $binding)
{
$this->sendPullEventOnAdd(
new ItemIdentifier($binding['ENTITY_TYPE_ID'], $binding['ENTITY_ID']),
$timelineEntryId
);
}
}
}