Вернуться к списку Вернуться к статьям
Статьи

Как менять количество процедур и сохранять условия товарных строк в Битрикс24

При изменении количества процедур важно сохранить цену и скидку, которые уже согласовали с пациентом. В приложении для клиники Ратинова мы изменили синхронизацию плана с товарами сделки: существующие строки обновляются по отдельности, без полной замены списка.

Доработка вошла в сентябрьское развитие системы планов лечения. Само заполнение товаров из плана работало и раньше. Новая задача заключалась в сохранении условий уже созданных строк при последующих изменениях курса.

Что происходит при изменении плана

Врач выбирает услуги и дни в таблице. По этим назначениям приложение рассчитывает количество процедур и сопоставляет его с товарами сделки.

Раньше подход с полной заменой списка мог затронуть свойства строк, которые появились уже после первоначального заполнения. Например, сотрудник мог согласовать индивидуальную цену. Теперь приложение сохраняет существующую строку и меняет нужное количество в ней.

Редактор количества процедур по дням курса
Редактор количества процедур по дням курса

Какие условия сохраняются

Для существующей товарной строки сохраняются её идентификатор, цена, скидка и налоговые параметры. Это важно, когда условия продажи отличаются от текущих значений в каталоге.

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

Действие в плане Что делает синхронизация
Изменилось количество существующей услуги Обновляет количество, сохраняя условия строки
Добавлена новая услуга Создаёт строку с ценой из каталога
Услуга исключена из плана Обрабатывает удаление соответствующей строки

Этот механизм описывает связь плана с товарами сделки. Он не означает автоматический возврат денег пациенту или изменение уже проведённых финансовых документов.

Пример с согласованной ценой

Допустим, в сделке есть пять процедур по индивидуальной цене. Врач увеличил количество до семи. Ожидаемое поведение: в той же строке становится семь единиц, а цена и скидка остаются прежними.

Это условный пример для объяснения логики, а не сведения о конкретном пациенте. Проверять такой сценарий нужно на тестовой карточке: сравнить строку до изменения и после него, включая сумму, скидку и налоги.

Если план сохранился, а товары не обновились

Сохранение плана и обновление товаров выполняются последовательно. Сначала сохраняются назначения, затем приложение синхронизирует товарные строки. Это не одна неделимая операция.

Если второй шаг завершился ошибкой, пользователь получает сообщение о том, что план уже сохранён, а синхронизация товаров не прошла. В такой ситуации нужно проверить товары сделки и устранить причину ошибки. Нельзя считать, что повторное открытие сохранённого плана автоматически подтверждает правильность финансовой части.

Как принимать такую доработку

Проверка должна включать услугу с индивидуальной ценой и скидкой, добавление новой позиции и исключение прежней. Отдельный сценарий нужен для ошибки обновления товаров: сотрудник должен понимать, какая часть действия завершилась.

Сохранение условий строк делает дальнейшее редактирование курса предсказуемее для администратора. Связь плана, оплаты и выполнения целиком разобрана в кейсе клиники Ратинова.