ботвинов
прод +
Обсудить проект

Цена со скидкой на печати не сошлась с суммой корзины

Покупатель не должен видеть две цены одного заказа. Цена со скидкой на бланке должна совпасть с итогом корзины.

Ноутбук с корзиной и кнопками плюс-минус, рядом печатный бланк с другой суммой, на стене жёлтый плакат

на экране сумма одна, на печати — другая) корзина при этом открывается и вроде считает

Корзина живая, бланк врёт

Настольная корзина магазина открывается. Минус и плюс меняют количество. Итог на экране пересчитывается. Кажется, что заказ можно отдавать.

Потом печать. На бланке цена со скидкой не равна сумме в корзине. Страница не падает. Пустую корзину не показывает. Две цифры просто разные.

Проверка «открылась или нет» эту дыру не ловит. Кнопки показывают, что блок жив. Совпадение сумм показывает, что экран и печать считают одно и то же.

Где разошлась цена со скидкой

Я правил настольную корзину. Сначала нужны были минус и плюс, удаление товара на нуле и больше места под название. Потом пришли скриншоты уже про кнопки и печать.

На экране скидка сидела в итоге. На бланке строка цены со скидкой жила отдельно и с этим итогом не сходилась.

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

Что поправил в форме и в корзине

Поправил печатную форму. Цена со скидкой и итог бланка берутся из того же расчёта, что сумма на экране. После правки бланк показывает ту же сумму, что корзина.

Заодно убрал то, что мешало сверять экран с листом. Постоянную кнопку пересчёта снял: сумма и так обновлялась, лишняя кнопка только путала. Печать и очистку поставил по центру. В количестве и в печатной сумме разделил тысячи. Иначе длинное число читается как каша и на экране, и на листе.

Название товара расширил. Узкая колонка прятала, что именно в заказе.

Это не новая корзина с нуля. Экран уже умел считать. Бланк брал цену со скидкой отдельно.

Удаление при нуле оставил здесь же. Дошли до нуля — товар уходит, а не висит с нулём и старой ценой. Иначе печать снова может утащить строку, которой в заказе уже нет.

Когда этой проверки мало

Один лист, который сошёлся, не ловит нулевое количество, длинное число и узкое окно.

Прогнал 46 тестов. Прошли 46 из 46. Плюс 7 сценариев вывода бланка и 10 ширин экрана, чтобы вёрстка печати и кнопок не разъехалась, когда окно не на весь монитор. Печать с корзиной сошлась, отчёт отправил.

Около 6 часов работы, 8–9 сентября.

Проверьте у себя

Сверьте экран и бланк на одном и том же составе.

  • Добавьте товар со скидкой в настольную корзину.
  • Поменяйте количество плюсом и минусом. Итог на экране пересчитался.
  • Если кнопку «пересчитать» уже убрали, сумма меняется без неё.
  • Дойдите количеством до нуля. Товар удаляется, а не остаётся с нулём и старой ценой.
  • Нажмите печать. Строка цены со скидкой и итог бланка равны итогу на экране. Не «примерно».
  • Тысячи и в корзине, и на бумаге разбиты одинаково.
  • Название на бланке не обрезано до бессмыслицы.
  • Повторите в узком окне, не только на весь экран. Кнопки печати и очистки на месте.

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

Частые вопросы

Если корзина открывается, печать можно не смотреть?

Нет. Пока лист не лежит рядом с экраном, скидка может остаться только в итоге на мониторе.

Скидка на строке и скидка в итоге — это одно?

Не всегда. На экране итог уже со скидкой. На бумаге строка «цена со скидкой» может считаться своим куском.

Это та же поломка, что кнопки в телефоне?

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

Если хотите, чтобы я посмотрел ваш случай, напишите мне в тг @botvinov.

Обсудить похожую задачу

Теперь —
ваш проект.

Расскажите, что хотите сделать.
Я помогу превратить задачу в понятный результат.

Обсудить в Telegram

Напишите Толе лично — обсудим задачу,
состав работы и сроки.

Канал в Telegram