← К заметкам

Заметки

Как добавить товарные позиции в сделку через REST без удаления старых

Для добавления одной позиции используйте crm.item.productrow.add. Так не нужно читать весь набор и отправлять его обратно через legacy-метод set.

BX24.callMethod('crm.item.productrow.add', {
    fields: {
        ownerType: 'D',
        ownerId: 123,
        productId: 456,
        price: 1000,
        quantity: 1
    }
}, function (result) {
    if (result.error()) {
        console.error(result.error());
        return;
    }
    console.log(result.data());
});

Выполняйте после инициализации BX24.js. 123 — сделка, 456 — существующий товар или вариация. Метод добавляет новую строку; повторный успешный вызов может добавить ещё одну.

Если нужно увеличить количество уже существующей строки, получите её ID и выполните обновление. Совпадения одного productId может быть недостаточно: у одинакового товара бывают разные цены и условия.