- Модуль: 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;
}