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

	if (
		!$this->getBasketItem()->isReservableItem()
		|| !$this->getBasketItem()->isSupportedMarkingCode()
	)
	{
		return $result;
	}

	$shipmentItemStoreCollection = $this->getShipmentItemStoreCollection();
	if ($shipmentItemStoreCollection && $shipmentItemStoreCollection->count() < $this->getQuantity())
	{
		return $result->addError(
			new MainError(
				Loc::getMessage(
					'SALE_SHIPMENT_ITEM_MARKING_CODE_LESS_ITEM_QUANTITY_LONG_2',
					['#PRODUCT_NAME#' => $this->getBasketItem()->getField('NAME')])
			)
		);
	}

	/** @var ShipmentItemStore $itemStore */
	foreach ($shipmentItemStoreCollection as $itemStore)
	{
		if ($itemStore->getMarkingCode() === '')
		{
			return $result->addError(
				new MainError(
					Loc::getMessage(
						'SALE_SHIPMENT_ITEM_MARKING_CODE_LESS_ITEM_QUANTITY_LONG_2',
						['#PRODUCT_NAME#' => $this->getBasketItem()->getField('NAME')])
				)
			);
		}
	}

	return $result;
}