- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/exchange/onec/documentimport.php
- Класс: BitrixSaleExchangeOneCDocumentImport
- Вызов: DocumentImport::fillItemsFields
static function fillItemsFields(array $fields)
{
$result = null;
$basketItems = array();
foreach($fields['ITEMS_FIELDS'] as $item)
{
$priceone = $item['PRICE_PER_UNIT'];
if (DoubleVal($priceone) <= 0)
$priceone = $item["PRICE_ONE"];
$discountPrice = "";
if (doubleval($item['QUANTITY']) > 0)
{
$price = PriceMaths::roundPrecision($item['SUMM'] / $item['QUANTITY']);
$priceone = PriceMaths::roundPrecision($priceone);
if(isset($item['DISCOUNTS']['SUMM']) && $item['DISCOUNTS']['SUMM']<>'')
{
if ($priceone != $price)
$discountPrice = DoubleVal($priceone - $price);
}
else
$price = $priceone;
$basketItems = Array(
'ID' => $item['ID'],
'NAME' => $item['NAME'],
'PRICE' => $price,
'PRICE_ONE' => $priceone,
'QUANTITY' => $item['QUANTITY'],
'TYPE' => $item['REK_VALUES']['ITEM_TYPE'],
'MEASURE_CODE' => !empty($item['ITEM_UNIT']) ? $item['ITEM_UNIT']['ITEM_UNIT_CODE']:null,
'MEASURE_NAME' => !empty($item['ITEM_UNIT']) ? $item['ITEM_UNIT']['ITEM_UNIT_NAME']:null,
'ATTRIBUTES' => !empty($item['REK_VALUES']['PROP_BASKET']) ? $item['REK_VALUES']['PROP_BASKET']:null,
'TAX' => array(
'VAT_RATE' => !empty($item['TAXES']['TAX_VALUE']) ? $item['TAXES']['TAX_VALUE']/100:null,
'VAT_INCLUDED' => !empty($item['TAXES']['IN_PRICE']) ? $item['TAXES']['IN_PRICE']:'Y'//if tax is null then always included by default
),
'DISCOUNT' => array(
'PRICE' => $discountPrice
)
);
}
$result[][$item['ID']] = $basketItems;
}
return $result;
}