• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/entity/orderimport.php
  • Класс: BitrixSaleExchangeEntityOrderImport
  • Вызов: OrderImport::prepareFieldsBasketItem
private function prepareFieldsBasketItem($productXML_ID, $item)
{
    	/** @var ExchangeISettingsImport $settings */
    	$settings = $this->getSettings();

    	$code = $this->getCodeAfterDelimiter($productXML_ID);
	$product = $code<>'' ? static::getProduct($code):array();

	if(empty($product))
		$product = static::getProduct($productXML_ID);

	if(!empty($product))
        {
            $result = array(
                "PRODUCT_ID" => $product["ID"],
                "NAME" => $product["NAME"],
                "MODULE" => "catalog",
                "PRODUCT_PROVIDER_CLASS" => 'BitrixCatalogProductCatalogProvider',
                "CATALOG_XML_ID" => $product["IBLOCK_XML_ID"],
                "DETAIL_PAGE_URL" => $product["DETAIL_PAGE_URL"],
                "WEIGHT" => $product["WEIGHT"],
                "NOTES" => $product["CATALOG_GROUP_NAME"]
            );
        }
        else
        {
            $ri = new MainTypeRandomSequence($productXML_ID);
            $result = array(
                "PRODUCT_ID" => $ri->rand(1000000, 9999999),
                "NAME" => $item["NAME"],
                "MODULE" => "1c_exchange",
                "PRODUCT_PROVIDER_CLASS" => false,
                "CATALOG_XML_ID" => "1c_exchange",
                "DISCOUNT_PRICE" => $item['DISCOUNT']['PRICE'],
                "MEASURE_CODE" => $item["MEASURE_CODE"],
                "MEASURE_NAME" => $item["MEASURE_NAME"]
            );
        }

        $result["CURRENCY"] = $settings->getCurrency();
        $result["LID"] = $settings->getSiteId();
        $result["QUANTITY"] = $item["QUANTITY"];
        $result["DELAY"] = "N";
        $result["CAN_BUY"] = "Y";
        $result["IGNORE_CALLBACK_FUNC"] = "Y";
        $result["PRODUCT_XML_ID"] = $productXML_ID;
        $result["MARKING_CODE_GROUP"] = $item['MARKING_GROUP'];

        return $result;
    }