• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/storedocument.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\StoreDocument
  • Вызов: StoreDocument::loadProductsData
protected function loadProductsData()
{
	$result = [];

	$documentElementList = StoreDocumentElementTable::getList([
		'select' => [
			'ID',
			'ELEMENT_ID',
			'AMOUNT',
			'PURCHASING_PRICE',
			'COMMENT',
		],
		'filter' => [
			'=DOC_ID' => $this->data['ID'],
		],
	]);

	while ($documentElementRaw = $documentElementList->fetch())
	{
		if (!$this->isProductVariantSupported(ProductVariant::GOODS))
		{
			continue;
		}

		$sku = $this->getSkuByProductId($documentElementRaw['ELEMENT_ID']);

		$result[] = [
			'ID' => $documentElementRaw['ID'],
			'NAME' => $sku ? $sku->getName() : '',
			'PRODUCT_ID' => $documentElementRaw['ELEMENT_ID'],
			'QUANTITY' => $documentElementRaw['AMOUNT'],
			'PRICE' => $documentElementRaw['PURCHASING_PRICE'],
			'MEASURE_CODE' => $sku ? $this->getMeasureCodeBySku($sku) : null,
			'PRODUCT_VARIANT' => ProductVariant::GOODS,
			'CUSTOMIZED' => 'Y',
			'CURRENCY_ID' => $sku ? $this->getCurrencyBySku($sku) : null,
			'COMMENT' => $documentElementRaw['COMMENT'],
		];
	}

	return $result;
}