← К заметкам

Заметки

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

При изменении одной товарной позиции лучше работать с её ID, а не заменять весь список товаров сделки. Это уменьшает риск затереть изменения менеджера в соседних строках.

В универсальном API для этого есть crm.item.productrow.update. Сначала получите строки нужной карточки и найдите изменяемую по ID строки. productId для этого недостаточно: один товар может встречаться несколько раз.

Если интеграция использует crm.deal.productrows.set, подготовьте полный итоговый набор. Этот метод заменяет список, а не добавляет к нему переданные строки.

Для параллельного редактирования операция «прочитать → объединить → записать» всё равно подвержена гонке. Нужна сериализация изменений либо поштучные операции, подходящие вашему сценарию.

Почему set удаляет старые строки