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

	$parsedProducts = [];
	foreach ($products as $productKey => $product)
	{
		$basketCode = is_int($product['id']) ? $product['id'] : 'n' . $productKey;
		$parsedProducts[$basketCode] = [
			'NAME' => $product['name'],
			'QUANTITY' => (float)$product['amount'],
			'PRODUCT_PROVIDER_CLASS' => '\' . CatalogProvider::class,
			'MODULE' => 'catalog',
			'BASKET_CODE' => $basketCode,
			'PRODUCT_ID' => $product['productId'],
			'OFFER_ID' => $product['productId'],
			'BASE_PRICE' => $product['price']['sell']['amount'],
			'PRICE' => $product['price']['sell']['amount'],
			'CUSTOM_PRICE' => 'Y',
			'TYPE' => $product['type'] ? ProductTypeMapper::getType($product['type']) : null,
			'DISCOUNT_PRICE' => 0,
			'MEASURE_NAME' => $product['measure']['name'],
			'MEASURE_CODE' => $product['measure']['code'],
			'MANUALLY_EDITED' => 'Y',
		];

		$parsedProducts[$basketCode]['FIELDS_VALUES'] = Json::encode($parsedProducts[$basketCode]);
	}

	return $parsedProducts;
}