Update
Метод устарел. Используйте методы класса OrderBase.
Описание и параметры
int CSaleOrderProps::Update( int ID, array arFields );
Метод изменяет параметры свойства с кодом ID заказа на значения из массива arFields. Нестатический метод.
Параметры вызова
| Параметр | Описание |
|---|---|
| ID | Код свойства заказа. |
| arFields | Ассоциативный массив новых значений параметров свойства заказа, в котором ключами являются названия параметров свойства, а значениями - значения этих параметров. Допустимые ключи:
|
Возвращаемые значения
Возвращается числовой id свойства в случае успеха или bool false в случае ошибки, а ошибку следует добывать из $APPLICATION: $APPLICATION->GetException()->GetString()
Пример использования
<?
$arFields = array(
"PERSON_TYPE_ID" => 2,
"NAME" => "Комплектация",
"TYPE" => "RADIO",
"REQUIED" => "Y",
"DEFAULT_VALUE" => "F",
"SORT" => 100,
"CODE" => "COMPLECT",
"USER_PROPS" => "N",
"IS_LOCATION" => "N",
"IS_LOCATION4TAX" => "N",
"PROPS_GROUP_ID" => 1,
"SIZE1" => 0,
"SIZE2" => 0,
"DESCRIPTION" => "",
"IS_EMAIL" => "N",
"IS_PROFILE_NAME" => "N",
"IS_PAYER" => "N"
);
// Если установлен код свойства, то изменяем свойство с этим кодом,
// иначе добавляем новой свойство
if ($ID>0)
{
if (!CSaleOrderProps::Update($ID, $arFields))
{
echo "Ошибка изменения параметров свойства";
}
else
{
// Обновим символьный код у значений свойства
// (хранение избыточных данных для оптимизации работы)
$db_order_props_tmp =
CSaleOrderPropsValue::GetList(($b="NAME"),
($o="ASC"),
Array("ORDER_PROPS_ID"=>$ID));
while ($ar_order_props_tmp = $db_order_props_tmp->Fetch())
{
CSaleOrderPropsValue::Update($ar_order_props_tmp["ID"],
array("CODE" => "COMPLECT"));
}
}
}
else
{
$ID = CSaleOrderProps::Add($arFields);
if ($ID<=0)
echo "Ошибка добавления свойства";
}
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025