Я ф/з, работает или нет, в сниппетах валяется.[CODE]<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
\Bitrix\Main\Loader::includeModule('sale');
//Ищем в заказе свойство с кодом PREPAYMENT и пробуем обновить его значение, если свойство не найдено, то добавляем его
$ORDER_ID = 272;
$usePropCode = 'PREPAYMENT';
$bUpdateProp = false;
$db_props = CSaleOrderPropsValue::GetOrderProps($ORDER_ID);
while ($ar_prop = $db_props->Fetch())
{
if($ar_prop['CODE'] == $usePropCode)
{
$arFields = array("VALUE" => 4000);
if(CSaleOrderPropsValue::Update($ar_prop['ID'], $arFields))
$bUpdateProp = true;
}
}
if(!$bUpdateProp)
{
$db_props = CSaleOrderProps::GetList(
array(),
array('CODE'=>$usePropCode),
false,
false,
array('ID','NAME','CODE')
);
if($ar_prop = $db_props->Fetch())
{
$arFields = array(
"ORDER_ID" => $ORDER_ID,
"ORDER_PROPS_ID" => $ar_prop['ID'],
"NAME" => $ar_prop['NAME'],
"CODE" => $ar_prop['CODE'],
"VALUE" => 1200
);
CSaleOrderPropsValue::Add($arFields);
}
}
?>
[/CODE]
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
\Bitrix\Main\Loader::includeModule('sale');
//Ищем в заказе свойство с кодом PREPAYMENT и пробуем обновить его значение, если свойство не найдено, то добавляем его
$ORDER_ID = 272;
$usePropCode = 'PREPAYMENT';
$bUpdateProp = false;
$db_props = CSaleOrderPropsValue::GetOrderProps($ORDER_ID);
while ($ar_prop = $db_props->Fetch())
{
if($ar_prop['CODE'] == $usePropCode)
{
$arFields = array("VALUE" => 4000);
if(CSaleOrderPropsValue::Update($ar_prop['ID'], $arFields))
$bUpdateProp = true;
}
}
if(!$bUpdateProp)
{
$db_props = CSaleOrderProps::GetList(
array(),
array('CODE'=>$usePropCode),
false,
false,
array('ID','NAME','CODE')
);
if($ar_prop = $db_props->Fetch())
{
$arFields = array(
"ORDER_ID" => $ORDER_ID,
"ORDER_PROPS_ID" => $ar_prop['ID'],
"NAME" => $ar_prop['NAME'],
"CODE" => $ar_prop['CODE'],
"VALUE" => 1200
);
CSaleOrderPropsValue::Add($arFields);
}
}
?>
[/CODE]