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

Add

string
CSaleStatus::Add(
  array arFields
);

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

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

ПараметрОписание
arFields Ассоциативный массив параметров нового статуса. Ключами в массиве являются названия параметров статуса, а значениями - соответствующие значения.
Допустимые ключи:
  • ID - код статуса (обязательный), состоит из одной буквы;
  • SORT - индекс сортировки;
  • LANG - массив ассоциативных массивов языкозависимых параметров статуса с ключами:
    • LID - язык;
    • NAME - название статуса на этом языке;
    • DESCRIPTION - описание статуса;
  • PERMS - массив ассоциативных массивов прав на доступ к изменению заказа в данном статусе с ключами:
    • GROUP_ID - группа пользователей;
    • PERM_TYPE - тип доступа (S - разрешен перевод заказа в данный статус, M - разрешено изменение заказа в данном статусе).

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

Возвращается код добавленного статуса или false в случае ошибки.



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Александр Янцен
Код для программного добавления нового статуса.
Важно! Нужно прописывать название статуса для всех системных языков!
Для простоты использую одинаковые названия для всех языков.

Код
$lang_z = array();
$db_lang = CLangAdmin::GetList(($b="sort"), ($o="asc"), array("ACTIVE" => "Y"));
while ($arLang = $db_lang->Fetch()) {
    $lang_z[] = array('LID' => $arLang["LID"], 'NAME' => GetMessage("FM_PP_STATUS_Z_NAME"), 'DESCRIPTION' => GetMessage("FM_PP_STATUS_Z_DESCR"));
}

$new_status = array(
        'ID' => 'Z',
        'SORT' => 1000,
        'LANG' => $lang_z
);

$arStatus = CSaleStatus::GetByID($new_status['ID']); 
if (!$arStatus) {
        CSaleStatus::Add($new_status);
}
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх