- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/requests/manager.php
- Класс: BitrixSaleDeliveryRequestsManager
- Вызов: Manager::processShipmentResult
static function processShipmentResult($result, $requestId = 0)
{
if (!($result instanceof ShipmentResult))
return $result;
$shipmentId = $result->getInternalId();
if (intval($shipmentId) <= 0)
{
$result->addError(new MainError(Loc::getMessage('SALE_DLVR_REQ_MNGR_ERROR_SAVE_SHIPMENT_ID')));
return $result;
}
$extShipmentId = $result->getExternalId();
if ($result->isSuccess())
{
if (intval($requestId) > 0)
{
$res = ShipmentTable::setShipment(array(
'REQUEST_ID' => $requestId,
'SHIPMENT_ID' => $shipmentId,
'EXTERNAL_ID' => $extShipmentId,
'ERROR_DESCRIPTION' => ''
));
if (!$res->isSuccess())
$result->addErrors($res->getErrors());
$res = self::saveShipmentResult($shipmentId, $result);
if (!$res->isSuccess())
$result->addErrors($res->getErrors());
}
}
else
{
ShipmentTable::setShipment(array(
'SHIPMENT_ID' => $shipmentId,
'ERROR_DESCRIPTION' => implode("n", $result->getErrorMessages())
));
}
return $result;
}