UDAV99
@UDAV99
web программист, верстальщик

Почему api битрикса удаляет информацию из заказов?

Помогите с проблемой. Заказ собирается и отправляется через api битрикса. При очередном заказе, удаляется информация из прошлых заказов... т.е. видно только последний заказ.

$arFields = array(
    "LID" => SITE_ID,
    "PERSON_TYPE_ID" => 1,
    "PAYED" => "N",
    "CANCELED" => "N",
    "STATUS_ID" => "N",
    "CURRENCY" => "rub",
    "USER_ID" => IntVal($USER->GetID()),
    "PAY_SYSTEM_ID" => $_REQUEST["payment"] == '1' ? '1' : '3',
    "PRICE_DELIVERY" => $_REQUEST["FreeOrderCost"],
    "DELIVERY_ID" => 2, // Доставка курьером
    "TAX_VALUE" => 0.0,
    "USER_DESCRIPTION" => $_REQUEST["comment"]
);
if (!CModule::IncludeModule("sale")) return;

$ORDER_ID = CSaleOrder::Add($arFields); // добавляется заказ
$ORDER_ID = IntVal($ORDER_ID);

CSaleBasket::OrderBasket($ORDER_ID); // добавляется корзина в заказ

CSaleOrderPropsValue::Update(1, array("VALUE" => $_REQUEST["name"], "ORDER_ID" => $ORDER_ID));
CSaleOrderPropsValue::Update(2, array("VALUE" => $_REQUEST["email"], "ORDER_ID" => $ORDER_ID));
CSaleOrderPropsValue::Update(7, array("VALUE" => $_REQUEST["addres"] . ", квартира " . $_REQUEST["flat"] . ", этаж " . $_REQUEST["floor"], "ORDER_ID" => $ORDER_ID));
CSaleOrderPropsValue::Update(3, array("VALUE" => $_REQUEST["phone"], "ORDER_ID" => $ORDER_ID));


обновляются вот эти 4 поля (id 1,2,7,3) .. если удалить последние 4 строки, то информация в новый заказ не поступает и старые заказы не удаляются.
  • Вопрос задан
  • 709 просмотров
Решения вопроса 1
workDNK
@workDNK
Разработчик интернет-магазинов на 1С-Битрикс
Есть свойства со своими ID, а есть значения свойств заказов, у которых тоже есть свои ID и своя таблица.
CSaleOrderPropsValue::Update работает именно со значениями свойств. Поэтому получается, что вы значения свойств одного заказа перепривязываете к новому заказу.

Вам надо использовать CSaleOrderPropsValue::Add, чтобы добавить новые параметры к новому заказу.
https://dev.1c-bitrix.ru/api_help/sale/classes/csa...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы