- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/shipmentdocumentcontroller.php
- Класс: Bitrix\Crm\Timeline\ShipmentDocumentController
- Вызов: ShipmentDocumentController::onTotalModify
private function onTotalModify($documentId, $params)
{
/* @var Shipment $shipment */
$shipment = $params['SHIPMENT'];
if (!$shipment)
{
return;
}
$historyEntryID = null;
$newTotal = $this->calculateTotalForShipment($shipment);
$newCurrency = $this->getShipmentCurrency($shipment);
$currentUserId = (int)\Bitrix\Main\Engine\CurrentUser::get()->getId();
$authorID = $currentUserId > 0 ? $currentUserId : 1;
$order = $params['ORDER'] ?? $shipment->getOrder();
$bindings = $this->getDefaultBindings($documentId, $order);
$historyEntryID = StoreDocumentEntry::create(
[
'TYPE_CATEGORY_ID' => TimelineType::MODIFICATION,
'ENTITY_TYPE_ID' => \CCrmOwnerType::ShipmentDocument,
'ENTITY_ID' => $documentId,
'AUTHOR_ID' => $authorID,
'SETTINGS' => [
'FIELD' => 'TOTAL',
'TOTAL' => $newTotal,
'CURRENCY' => $newCurrency,
],
'BINDINGS' => $bindings
]
);
foreach ($bindings as $binding)
{
$this->sendPullEventOnAdd(
new \Bitrix\Crm\ItemIdentifier($binding['ENTITY_TYPE_ID'], $binding['ENTITY_ID']),
$historyEntryID
);
}
}