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

Update

Метод устарел. Рекомендуется использовать методы класса \Bitrix\Sale\Order.

int
CSaleOrder::Update(
  int ID,
  array arFields
  bDateUpdate
);

Метод изменяет параметры заказа с кодом ID на новые параметры из массива arFields. Перед добавлением заказа вызываются обработчики события OnBeforeOrderUpdate модуля магазина, а после добавления - обработчики события OnOrderUpdate модуля магазина. Нестатический метод.

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

ПараметрОписаниеС версии
ID Код заказа.
arFieldsАссоциативный массив параметров заказа, ключами в котором являются названия параметров заказа, а значениями - новые значения.
Допустимые ключи:
  • LID - код сайта, на котором сделан заказ;
  • PERSON_TYPE_ID - тип плательщика, к которому принадлежит посетитель, сделавший заказ (заказчик);
  • PAYED - флаг (Y/N) оплачен ли заказ;
  • DATE_PAYED - дата оплаты заказа;
  • EMP_PAYED_ID - код пользователя (сотрудника магазина), который установил флаг оплаты;
  • CANCELED - флаг (Y/N) отменён ли заказ;
  • DATE_CANCELED - дата отмены заказа;
  • EMP_CANCELED_ID - код пользователя, который установил флаг отмены заказа;
  • REASON_CANCELED - текстовое описание причины отмены заказа;
  • STATUS_ID - код статуса заказа;
  • EMP_STATUS_ID - код пользователя (сотрудника магазина), который установил текущий статус заказа;
  • PRICE_DELIVERY - стоимость доставки заказа;
  • ALLOW_DELIVERY - флаг (Y/N) разрешена ли доставка (отгрузка) заказа;
  • DATE_ALLOW_DELIVERY - дата, когда была разрешена доставка заказа;
  • EMP_ALLOW_DELIVERY_ID - код пользователя (сотрудника магазина), который разрешил доставку заказа;
  • PRICE - общая стоимость заказа;
  • CURRENCY - валюта стоимости заказа;
  • DISCOUNT_VALUE - общая величина скидки;

    Параметр не поддерживается с версии 12.5.0. Вместо него необходимо использовать правила корзины.

  • USER_ID - код пользователя заказчика;
  • PAY_SYSTEM_ID - платежная система, которой (будет) оплачен заказа;
  • DELIVERY_ID - способ (служба) доставки заказа;
  • USER_DESCRIPTION - описание заказа заказчиком;
  • ADDITIONAL_INFO - дополнительная информация по заказу;
  • COMMENTS - произвольные комментарии;
  • TAX_VALUE - общая сумма налогов;
  • STAT_GID - параметр события в статистике;
  • PS_STATUS - флаг (Y/N) статуса платежной системы - успешно ли оплачен заказ (для платежных систем, которые позволяют автоматически получать данные по проведенным через них заказам);
  • PS_STATUS_CODE - код статуса платежной системы (значение зависит от системы);
  • PS_STATUS_DESCRIPTION - описание результата работы платежной системы;
  • PS_STATUS_MESSAGE - сообщение от платежной системы;
  • PS_SUM - сумма, которая была реально оплачена через платежную систему;
  • PS_CURRENCY - валюта суммы;
  • PS_RESPONSE_DATE - дата получения статуса платежной системы;
  • SUM_PAID - сумма, которая уже была оплачена покупателем по данному счету (например, с внутреннего счета);
  • PAY_VOUCHER_NUM - номер платежного поручения;
  • PAY_VOUCHER_DATE - дата платежного поручения.
  • DATE_INSERT - дата создания заказа.
DateUpdate Обновление даты изменения заказа. Значения true/false (по-умолчанию true).8.0.3

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

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

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

<?
$arOrder = CSaleOrder::GetByID($ID);
if ($arOrder)
{
   $arFields = array(
      "PAYED" => "Y",
      "DATE_PAYED" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))),
      "USER_ID" => $arOrder["USER_ID"],
      "EMP_PAYED_ID" => $USER->GetID()
   );
   CSaleOrder::Update($ID, $arFields);
}
?>


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
2
Valentin Borisenko
В $arFields так же можно передавать почтовый идентификатор в параметре: "TRACKING_NUMBER" (/bitrix/modules/sale/mysql/order.php):
Код
if (isset($arFields['TRACKING_NUMBER'])
{
...
}
А так же есть событие: OnTrackingNumberChange.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх