• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/tracking/manager.php
  • Класс: BitrixSaleDeliveryTrackingManager
  • Вызов: Manager::updateShipment
public function updateShipment($shipmentId, StatusResult $params)
{
	if($shipmentId <= 0)
		throw new ArgumentNullException('id');

	$updParams = array();

	if($params->status !== null)
		$updParams['TRACKING_STATUS'] = $params->status;

	$updParams['TRACKING_LAST_CHECK'] = new BitrixMainTypeDateTime();

	if(intval($params->lastChangeTimestamp) > 0)
	{
		$updParams['TRACKING_LAST_CHANGE'] = BitrixMainTypeDateTime::createFromTimestamp(
			$params->lastChangeTimestamp
		);
	}
	else
	{
		$updParams['TRACKING_LAST_CHANGE'] = null;
	}

	if($params->trackingNumber !== null)
		$updParams['TRACKING_NUMBER'] = $params->trackingNumber;

	$updParams['TRACKING_DESCRIPTION'] = $params->description;

	if(!$params->isSuccess())
		$updParams['TRACKING_DESCRIPTION'] .= ' '.implode(', ', $params->getErrorMessages());

	return ShipmentTable::update($shipmentId, $updParams);
}