Документация для разработчиков
Темная тема

Add

Описание и параметры

int
CSaleOrderProps::Add(
  array arFields
);

Метод добавляет новое свойство заказа с параметрами из массива arFields. Нестатический метод. В случае ошибки возвращает false.

Параметры вызова

ПараметрОписание
arFields Ассоциативный массив, в котором ключами являются названия параметров свойства, а значениями - значения этих параметров.

Допустимые ключи:
  • PERSON_TYPE_ID - тип плательщика;
  • NAME - название свойства (тип плательщика зависит от сайта, а сайт - от языка; название должно быть на соответствующем языке);
  • TYPE - тип свойства. Допустимые значения:
    • CHECKBOX - флаг;
    • TEXT - строка текста;
    • SELECT - выпадающий список значений;
    • MULTISELECT - список со множественным выбором;
    • TEXTAREA - многострочный текст;
    • LOCATION - местоположение;
    • RADIO - переключатель.
  • REQUIED - флаг (Y/N) обязательное ли поле;
  • DEFAULT_VALUE - значение по умолчанию;
  • SORT - индекс сортировки;
  • USER_PROPS - флаг (Y/N) входит ли это свойство в профиль покупателя;
  • IS_LOCATION - флаг (Y/N) использовать ли значение свойства как местоположение покупателя для расчёта стоимости доставки (только для свойств типа LOCATION);
  • PROPS_GROUP_ID - код группы свойств;
  • SIZE1 - ширина поля (размер по горизонтали);
  • SIZE2 - высота поля (размер по вертикали);
  • DESCRIPTION - описание свойства;
  • IS_EMAIL - флаг (Y/N) использовать ли значение свойства как E-Mail покупателя;
  • IS_PROFILE_NAME - флаг (Y/N) использовать ли значение свойства как название профиля покупателя;
  • IS_PAYER - флаг (Y/N) использовать ли значение свойства как имя плательщика;
  • IS_LOCATION4TAX - флаг (Y/N) использовать ли значение свойства как местоположение покупателя для расчёта налогов (только для свойств типа LOCATION);
  • CODE - символьный код свойства.
  • IS_FILTERED - свойство доступно в фильтре по заказам. С версии 10.0.
  • IS_ZIP - использовать как почтовый индекс. С версии 10.0.
  • UTIL - позволяет использовать свойство только в административной части. С версии 11.0.

Возвращаемые значения

Возвращается код добавленного свойства заказа.

Пример использования

<?
$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-2021, «1С-Битрикс», 2021
Наверх