Add
Описание и параметры
Метод устарел. Рекомендуется использовать методы класса \Bitrix\Sale\Order.
int CSaleOrder::Add( array arFields );
Метод добавляет новый заказ с параметрами из массива arFields. Перед добавлением заказа вызываются обработчики события OnBeforeOrderAdd модуля магазина, а после добавления - обработчики события OnOrderAdd модуля магазина. Статический метод.
С версии продукта 15.0.0 рекомендуется вместо этого метода использовать методы ядра D7. Пример.
Параметры вызова
Параметр | Описание |
---|---|
arFields | Ассоциативный массив параметров заказа, ключами в котором являются названия параметров заказа, а значениями - новые значения. Допустимые ключи:
|
Возвращаемые значения
Возвращается код добавленного заказа или false в случае ошибки.
Примеры использования
<? $arFields = array( "LID" => "en", "PERSON_TYPE_ID" => 1, "PAYED" => "N", "CANCELED" => "N", "STATUS_ID" => "N", "PRICE" => 279.32, "CURRENCY" => "USD", "USER_ID" => IntVal($USER->GetID()), "PAY_SYSTEM_ID" => 3, "PRICE_DELIVERY" => 11.37, "DELIVERY_ID" => 2, "DISCOUNT_VALUE" => 1.5, "TAX_VALUE" => 0.0, "USER_DESCRIPTION" => "" ); // add Guest ID if (CModule::IncludeModule("statistic")) $arFields["STAT_GID"] = CStatistic::GetEventParam(); $ORDER_ID = CSaleOrder::Add($arFields); $ORDER_ID = IntVal($ORDER_ID); ?>
//добавляем в заказ аффилиата, если он есть $arFields['AFFILIATE_ID'] = $APPLICATION->get_cookie("SALE_AFFILIATE"); $ORDER_ID = CSaleOrder::Add($arFields);
![]()
Константин Зыков
|
Еще есть поле CUSTOM_PRICE, если при сохранении заказа происходит непонятные изменения цены в API и в итоге цена в админке показывается некорректная. Попробуйте CUSTOM_PRICE = 'Y'.
|
![]()
Александр Ирбис
| ||
ошибки при добавлении ловятся через
| ||
![]()
Александр Ирбис
| ||
| ||
© «Битрикс», 2001-2022, «1С-Битрикс», 2022
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.