- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/deliverycontroller.php
- Класс: Bitrix\Crm\Timeline\DeliveryController
- Вызов: DeliveryController::createDeliveryRequestMessage
public function createDeliveryRequestMessage(
array $messageData,
int $deliveryRequestId,
?int $shipmentId = null
): ?int
{
$deliveryRequest = Requests\RequestTable::getById($deliveryRequestId)->fetch();
if (
!$deliveryRequest
|| !($deliveryService = Manager::getObjectById($deliveryRequest['DELIVERY_ID']))
)
{
return null;
}
$bindings = TimelineBindingsMaker::makeByDeliveryRequestId($deliveryRequest['ID']);
$id = DeliveryEntry::create([
'ENTITY_TYPE_ID' => \CCrmOwnerType::DeliveryRequest,
'ENTITY_ID' => $deliveryRequest['ID'],
'AUTHOR_ID' => (isset($deliveryRequest['CREATED_BY']) && (int)$deliveryRequest['CREATED_BY'] > 0)
? (int)$deliveryRequest['CREATED_BY']
: null,
'SETTINGS' => [
'FIELDS' => [
'MESSAGE_DATA' => $messageData,
'DELIVERY_SERVICE' => $this->makeDeliveryService($deliveryService),
],
],
'BINDINGS' => $bindings,
]);
if (!$id)
{
return null;
}
$this->sendPullEventOnAddForBindings($id, $bindings);
return $id;
}