Добавляем SITE_ID в экспорт/импорт заказов 1С-Битрикс

, Михаил

Нам нужно отправлять/принимать/обновлять id сайта, на котором был сделан заказ.

Для этого правим:

Добавляем SITE_ID в выгрузку заказа


<?php 

/bitrix/modules/sale/general/export.php
<<?=GetMessage("SALE_EXPORT_DOCUMENT")?>>
<SITE_ID><?=$arOrder["LID"]?></SITE_ID>

?>

Добавляем SITE_ID в импорт заказа, сохраняя основную функциональность


<?php 
/bitrix/modules/sale/general/order_loader.php
function collectOrderInfo($value) {
	***
	$arOrder["ID"] = $value["#"][GetMessage("CC_BSC1_NUMBER")][0]["#"];
	$arOrder["SITE_ID"] = ($value["#"]["SITE_ID"][0]["#"])?$value["#"]["SITE_ID"][0]["#"]:$this->arParams["SITE_NEW_ORDERS"];
	}

?>



<?php 
/bitrix/modules/sale/general/order_loader.php
if ($orderInfo['SITE_ID']!=$arOrder['SITE_ID']) {
	    $arAditFields["SITE_ID"]=$arOrder['SITE_ID'];
	    $arAditFields["UPDATED_1C"] = "Y";
	}
****
if(count($arAditFields)>0)
    CSaleOrder::Update($orderInfo["ID"], $arAditFields);

?>



<?php 
/bitrix/modules/sale/general/order_loader.php
if(IntVal($arOrder["USER_ID"]) > 0) {
	$orderFields = array( "SITE_ID" => $arOrder["SITE_ID"],
	***
	)
	}

?>