Add
Метод устарел. Используйте методы класса OrderBase.
Описание и параметры
int CSaleOrderProps::Add( array arFields );
Метод добавляет новое свойство заказа с параметрами из массива arFields. Нестатический метод. В случае ошибки возвращает false.
Параметры вызова
| Параметр | Описание |
|---|---|
| arFields | Ассоциативный массив, в котором ключами являются названия параметров свойства, а значениями - значения этих параметров. Допустимые ключи:
|
Возвращаемые значения
Возвращается код добавленного свойства заказа.
Пример использования
<?
$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 "Ошибка добавления свойства";
}
?>
Добавить свойство типа Дата/время (а не просто Дата):
$obBitrixOrderProps = new \CSaleOrderProps(); $id = $obBitrixOrderProps->Add( [ 'CODE' => 'RESERVE_EXPIRED_DATE', 'NAME' => 'Дата окончания резерва', 'TYPE' => 'DATE', 'SETTINGS' => [ 'TIME' => 'Y', // Галочка "Время" ], 'PERSON_TYPE_ID' => 1, 'PROPS_GROUP_ID' => 2, 'REQUIED' => 'N', // Да, тут опечатка в ядре битрикса 'SORT' => 600, 'USER_PROPS' => 'N', 'IS_LOCATION' => 'N', 'DESCRIPTION' => 'После этой даты при прочих условиях заказ будет автоматически отменён', 'IS_EMAIL' => 'N', 'IS_PROFILE_NAME' => 'N', 'IS_PAYER' => 'N', 'IS_LOCATION4TAX' => 'N', 'IS_FILTERED' => 'Y', 'IS_ZIP' => 'N', 'UTIL' => 'Y', ] );
© «Битрикс», 2001-2025, «1С-Битрикс», 2025