Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Не создается заказ в ручном режиме

00 голосов
4
Здравствуйте уважаемые!

Существует такая задача: надо в ручном режиме добавить заказ, привязать к нему корзину(кусочек кода внизу).

Но почему то всегда выкидывает на обработчик ошибки.

арфилдс при этом дампит в Array(13) { ["LID"]=> string(2) "ru" ["PERSON_TYPE_ID"]=> int(1) ["PAYED"]=> string(1) "N" ["CANCELED"]=> string(1) "N" ["STATUS_ID"]=> string(1) "N" ["PRICE"]=> string(4) "5513" ["CURRENCY"]=> string(3) "RUR" ["USER_ID"]=> int(10783) ["PAY_SYSTEM_ID"]=> int(1) ["PRICE_DELIVERY"]=> string(3) "236" ["DELIVERY_ID"]=> int(2) ["TAX_VALUE"]=> float(0) ["USER_DESCRIPTION"]=> string(41) "Регистрационный заказ" }

Хотелось бы знать где я не прав

кусочек кода:
Код
   $arFields = array(
   "LID" => "ru",
   "PERSON_TYPE_ID" => 1,
   "PAYED" => "N",
   "CANCELED" => "N",
   "STATUS_ID" => "N",
   "PRICE" => IntVal(number_format($totalPrice * 1.18, 0, ".", "")),
   "CURRENCY" => "RUR",
   "USER_ID" => IntVal($_SESSION['SIGNUP']['USER']['ID']),
   "PAY_SYSTEM_ID" => IntVal($_SESSION['SIGNUP']['PAYMENT']['ID']),
   "PRICE_DELIVERY" => IntVal(number_format($_SESSION['SIGNUP']['DELIVERY']['PRICE']['VALUE'], 0, ".", "")),
   "DELIVERY_ID" => IntVal($_SESSION['SIGNUP']['DELIVERY']['ID']),
   "TAX_VALUE" => 0.0,
   "USER_DESCRIPTION" => "Регистрационный заказ"
    );

$ORDER_ID = CSaleOrder::Add($arFields);
  if (!$ORDER_ID) 
    die("Заказ не добавили".var_dump($arFields));
  else 
    echo $ORDER_ID;
$ORDER_ID = IntVal($ORDER_ID);

спросил 26 Ноя, 13 от SilentBob (100 баллов)

4 Ответы

00 голосов
Проблема в параметре LID в нём должен указываться идентификатор сайта: s1,s2,... А не ru,en,... Ошибочка в примере мануала.
ответил 19 Янв, 14 от Crush777 (100 баллов)
00 голосов
Спасибо! )))))
ответил 07 Май, 14 от SilentBob (100 баллов)
00 голосов
хотелось бы вернуться к этой теме.
лид то я поменял на свой, но всервно не добавляется. пишет "заказ не добавлен" :(
ответил 02 Сен, 14 от FOOLKS (520 баллов)
00 голосов
разобрался. для корректной работы необходимо указать тип плательщика. PERSON_TYPE_ID.
что самое интересно, что в описании API не указано о необходимости обязательного заполнения данного поля. + ко всему в приведенном примере этого поля также нет...
ответил 09 Янв, 15 от FOOLKS (520 баллов)

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

0 голосов
1 ответ
0 голосов
2 ответов
спросил 13 Май, 13 от cartmen (460 баллов)
0 голосов
0 ответов
спросил 11 Янв, 18 от аноним
0 голосов
1 ответ
0 голосов
2 ответов
спросил 13 Окт, 13 от Mistris (120 баллов)