- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/extra_services/manager.php
- Класс: BitrixSaleDeliveryExtraServicesManager
- Вызов: Manager::saveStoreIdForShipment
static function saveStoreIdForShipment($shipmentId, $deliveryId, $storeId)
{
if(intval($shipmentId) <= 0)
throw new ArgumentNullException("shipmentId");
$result = new Result();
if(intval($deliveryId) <= 0)
return $result;
$storeFields = self::getStoresFields($deliveryId, false);
if(isset($storeFields['ID']))
{
$dbRes = ShipmentExtraServiceTable::getList(array(
'filter' => array(
'=SHIPMENT_ID' => $shipmentId,
'=EXTRA_SERVICE_ID' => $storeFields['ID']
)
));
$storeRowId = 0;
if($row = $dbRes->fetch())
$storeRowId = $row["ID"];
if($storeRowId > 0)
{
$res = ShipmentExtraServiceTable::update($storeRowId, array("VALUE" => $storeId));
}
else
{
$res = ShipmentExtraServiceTable::add(array(
"EXTRA_SERVICE_ID" => $storeFields['ID'],
"SHIPMENT_ID" => $shipmentId,
"VALUE" => $storeId
));
}
if(!$res->isSuccess())
foreach($res->getErrors() as $error)
$result->addError($error);
}
return $result;
}