• Модуль: catalogmobile
  • Путь к файлу: ~/bitrix/modules/catalogmobile/lib/Controller/DocumentDetails/RealizationDocumentDetails.php
  • Класс: BitrixCatalogMobileControllerDocumentDetailsRealizationDocumentDetails
  • Вызов: RealizationDocumentDetails::parseProductsForShipment
private function parseProductsForShipment(?array $products = null): array
{
	if (!$products)
	{
		return [];
	}

	$parsedProducts = [];
	foreach ($products as $productKey => $product)
	{
		$basketCode = is_int($product['id']) ? $product['id'] : 'n' . $productKey;
		$parsedProducts[$basketCode] = [
			'QUANTITY' => (float)$product['amount'],
			'AMOUNT' => (float)$product['amount'],
			'BASKET_ID' => $basketCode,
			'BASKET_CODE' => $basketCode,
			'BARCODE_INFO' => [
				(int)$product['storeFrom']['id'] => [
					'STORE_ID' => (int)$product['storeFrom']['id'],
					'QUANTITY' => (float)$product['amount'],
					'BARCODE' => [
						[
							'VALUE' => $product['barcode'],
						],
					],
				],
			],
		];
		if (!is_int($product['id']))
		{
			$parsedProducts[$basketCode]['XML_ID'] = uniqid('bx_');
		}
	}

	return $parsedProducts;
}