• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/shipmentitemstorecollection.php
  • Класс: BitrixSaleShipmentItemStoreCollection
  • Вызов: ShipmentItemStoreCollection::getBarcodeListFromArray
private function getBarcodeListFromArray(array $values)
{
	$result = array();

	foreach ($values['BARCODE_INFO'] as $barcodeDat)
	{
		$storeId = $barcodeDat['STORE_ID'];

		if (!isset($barcodeDat['BARCODE']) || !is_array($barcodeDat['BARCODE']))
			continue;

		if (count($barcodeDat['BARCODE']) > 1)
		{
			$quantity = floatval($barcodeDat['QUANTITY'] / count($barcodeDat['BARCODE']));
		}
		else
		{
			$quantity = floatval($barcodeDat['QUANTITY']);
		}

		foreach ($barcodeDat['BARCODE'] as $barcode)
		{
			if (!isset($result[$storeId]))
				$result[$storeId] = array();

			$result[$storeId][$barcode['VALUE']] = array(
				"QUANTITY" => $quantity,
			);

			if (isset($barcode['ID']) && intval($barcode['ID']) > 0)
			{
				$result[$storeId][$barcode['VALUE']]['ID'] = intval($barcode['ID']);
			}
		}
	}

	return $result;
}