• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/compilationmanager.php
  • Класс: Bitrix\Crm\Integration\CompilationManager
  • Вызов: CompilationManager::getProductListForOrderBoundEvent
static function getProductListForOrderBoundEvent($dealId)
{
	$productList = [];

	$products = \CCrmProductRow::LoadRows('D', $dealId);
	$vatList = \CCrmTax::GetVatRateInfos();
	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'],
				'discountRate' => $product['DISCOUNT_RATE'],
				'discountSum' => $product['DISCOUNT_SUM'],
			];
		}

		if ($product['TAX_RATE'])
		{
			$taxId = 0;
			foreach ($vatList as $vat)
			{
				if ((int)$vat['VALUE'] === (int)$product['TAX_RATE'])
				{
					$taxId = $vat['ID'];
				}
			}
			$item['tax'] = [
				'id' => $taxId,
				'included' => $product['TAX_INCLUDED'] === 'Y',
			];
		}

		$productList[] = $item;
	}

	return $productList;
}