• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/shipmentitem.php
  • Класс: BitrixSaleShipmentItem
  • Вызов: ShipmentItem::verify
public function verify()
{
	$result = new Result();

	/** @var ShipmentItemCollection $shipmentItemCollection */
	if (!$shipmentItemCollection = $this->getCollection())
	{
		throw new MainObjectNotFoundException('Entity "ShipmentItemCollection" not found');
	}

	/** @var Shipment $shipment */
	if (!$shipment = $shipmentItemCollection->getShipment())
	{
		throw new MainObjectNotFoundException('Entity "Shipment" not found');
	}

	if (!$this->getBasketItem())
	{
		$result->addError(
			new ResultError(
				Loc::getMessage(
					'SALE_SHIPMENT_ITEM_BASKET_ITEM_NOT_FOUND',
					[
						'#BASKET_ITEM_ID#' => $this->getBasketId(),
						'#SHIPMENT_ID#' => $shipment->getId(),
						'#SHIPMENT_ITEM_ID#' => $this->getId(),
					]
				), 'SALE_SHIPMENT_ITEM_BASKET_ITEM_NOT_FOUND'
			)
		);

		return $result;
	}

	if ($this->getQuantity() <= 0)
	{
		$result->addError(
			new ResultError(
				Loc::getMessage(
					'SALE_SHIPMENT_ITEM_ERR_QUANTITY_EMPTY',
					[
						'#BASKET_ITEM_NAME#' => $this->getBasketItem()->getField('NAME'),
					]
				), 'SALE_SHIPMENT_ITEM_ERR_QUANTITY_EMPTY'
			)
		);

		return $result;
	}

	/** @var ShipmentItemStoreCollection $shipmentItemCollection */
	if ($shipmentItemStoreCollection = $this->getShipmentItemStoreCollection())
	{
		/** @var ShipmentItemStore $shipmentItemStore */
		foreach ($shipmentItemStoreCollection as $shipmentItemStore)
		{
			$r = $shipmentItemStore->verify();
			if (!$r->isSuccess())
			{
				$result->addErrors($r->getErrors());
			}
		}
	}

	return $result;
}