• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/controller/order.php
  • Класс: BitrixSalesCenterControllerOrder
  • Вызов: Order::prepareProductList
private function prepareProductList(array $products): array
{
	$result = [];
	foreach ($products as $product)
	{
		$item = [
			'id' => $product['PRODUCT_ID'],
			'name' => $product['PRODUCT_NAME'],
			'price' => $product['PRICE'],
			'quantity' => $product['QUANTITY'],
			'measureName' => $product['MEASURE_NAME'],
			'measureCode' => $product['MEASURE_CODE'],
			'customized' => $product['CUSTOMIZED']
		];

		if ($product['DISCOUNT_RATE'])
		{
			$item['discount'] = [
				'discountType' => $product['DISCOUNT_TYPE'] ?? CrmDiscount::MONETARY,
				'discountRate' => $product['DISCOUNT_RATE'],
				'discountSum' => $product['DISCOUNT_SUM'] ?? 0,
			];
		}

		if ($product['TAX_RATE'])
		{
			$item['tax'] = [
				'id' => $this->getVatRateIdByValue($product['TAX_RATE']),
				'included' => $product['TAX_INCLUDED'] === 'Y',
			];
		}


		$result[] = $item;
	}

	return $result;
}