@who_love_bx

Как через активити «Выполнение произвольного PHP кода» добавить товар в сделку, к уже имеющимся, а не перезаписать?

Добрый день. У нас коробочный портал Битрикс. После закрытия сделки, необходимо записать товары в сделку. Количество беру из пользовательского поля в сделке. В документации разработчика нашел информацию, как добавить товары:
5f2bed2cb46ff187883857.png
Немного видоизменил, чтобы он брал кол-во именно из пользовательского поля
5f2befff9d1e9017189488.png
Но у меня проблема в том, что он всегда перезаписывает товар, а не добавляет к существующему.
В документации РЕСТ есть метод crm.deal.productrows.set, который это делает, но в документации разработчика нет таких упоминаний
if (\Bitrix\Main\Loader::includeModule('crm')) 
{ 
    $rows = array(); 
    $rows[] = array( 
         'PRODUCT_ID' => '232', 'QUANTITY' => '{=Document:UF_CRM_1587105903}',   'PRICE' => 5, 
    ); 
    CCrmProductRow::SaveRows('D', {=Document:ID}, $rows);//привязываем к сделке 
}

Подскажите, как можно решить такую проблему и где возможно есть описание АПИ, не РЕСТ.
  • Вопрос задан
  • 1344 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Drayde
В документации РЕСТ есть метод crm.deal.productrows.set, который это делает, но в документации разработчика нет таких упоминаний


Перечитайте описание метода crm.deal.productrows.set

Товарные позиции - массив вида array(array("поле"=>"значение"[, ...])[, ...]), где "поле" может принимать значения из возвращаемых методом crm.productrow.fields.
Товарные позиции сделки, существующие до момента вызова метода, будут заменены новыми. После сохранения будет произведён пересчёт суммы сделки.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы