BRD Widget 4.2 Отображение после входа в аккаунт
Направление работ: Widget Код раздела: 4.2 Раздел: Блок данных потенциального заказа > Отображение после входа в аккаунт Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 11.08.26
1. Назначение
Раздел описывает отличия отображения блока данных потенциального заказа в виджете после входа в аккаунт.
После входа блок дополняется клиентским контекстом: итоговая стоимость пересчитывается с идентификатором клиента, становятся доступны М-баллы и персональные условия клиента. Идентичность вошедшего клиента отображается в карточке клиента.
Документ описывает только отличия отображения потенциального заказа после входа. Действия с аккаунтом (смена клиента, выход) и карточка клиента — раздел 6.1; позиции, промокоды, комментарий, оплата, правила — раздел 5; расчет на бэкенде — Back 4.
Раздел зависит от Back: 4.2 Стоимость заказа и позиций и Back: 1.3 Клиенты.
2. Ключевые понятия
Клиентский контекст — данные вошедшего клиента (идентификатор, персональные условия, баланс М-баллов), влияющие на отображение и расчет потенциального заказа.
М-баллы — бонусный баланс клиента, который можно списать в счет стоимости заказа.
Персональные условия клиента — скидки и условия, применяемые к стоимости заказа для конкретного клиента.
3. Scope
Входит
S1: Отображение блока потенциального заказа с клиентским контекстом
S2: Пересчет итоговой стоимости с идентификатором клиента
S3: Доступность М-баллов при расчете
Не входит
- Widget: 4.1 Блок данных потенциального заказа > Отображение без входа в аккаунт
- Widget: 6.1 Профиль > Информация о клиенте
- Widget: 5.1 Дополнительные позиции к заказу
- Widget: 5.2 Скидки, комментарий и правила
- Back: 4.2 backend-логика расчета стоимости
- Back: 1.3 backend-логика карточки клиента
4. BR
Указаны в пункте 4 разделов Back: 4.2 Стоимость заказа и позиций и Back: 1.3 Клиенты.
5. Функциональные требования (UC + FR)
FR — functional requirements, что интерфейс должен уметь делать по определенному UC.
| ID | Сценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: #FR4.2-1 | Вошедший клиент открывает форму заказа | Интерфейс показывает блок потенциального заказа с теми же параметрами — вид работ, дата, время, Итого — а идентичность вошедшего клиента отображается в карточке клиента. | 1 | Реализовано | |
| S1: #FR4.2-2 | Данные клиента загружаются для партнерской зоны | Интерфейс при загрузке блока подтягивает данные клиента для текущей партнерской зоны и использует их в отображении и расчете. | 2 | Реализовано | |
| S2: #FR4.2-3 | Стоимость рассчитывается с клиентским контекстом | Интерфейс рассчитывает Итого с идентификатором вошедшего клиента, поэтому итоговая цена может отличаться от гостевого расчета за счет персональных условий клиента. | 1 | Реализовано | |
| S3: #FR4.2-4 | Клиент использует М-баллы | Интерфейс показывает баланс М-баллов клиента и переключатель списания; при включении баллы учитываются в расчете и уменьшают итоговую стоимость. | 1 | Реализовано — требуется подтверждение QA | |
| S2: #FR4.2-5 | Применяются персональные условия клиента | Состав персональных условий определяет расчет на стороне сервера (CalcWidget): клиентские скидки, сборы, личные промокоды и М-баллы. Интерфейс передает параметры заказа и клиента и применяет полученный результат; принудительно отключать какое-либо из условий на стороне виджета не допускается. | 1 | Не реализовано — виджет жестко передает accountingForfeits: false, отключая сборы, см. OQ4.2-3 |
6. Открытые вопросы
| ID | Источник | Вопрос | Кому | Статус |
|---|---|---|---|---|
| #OQ4.2-1 | Figma / продукт | Подтвердить перечень персональных условий клиента, влияющих на Итого после входа (клиентские скидки, сборы, группы деятельности): что именно должно применяться в расчете виджета. Дополнено 11.08.26: в этот же перечень входит вопрос о сборах, перенесённый сюда из Widget: 6.1 (OQ6.1-8). Факт: расчёт заказа в виджете всегда идёт с выключенным учётом сборов — значение AccountingForfeits зафиксировано как false и ниоткуда не приходит, то есть сбор клиента в цене не применяется никогда. Требуется определить весь перечень персональных условий разом и по каждому — применяется ли он в виджете; после этого решить, дефект ли AccountingForfeits: false или намеренное поведение. Решение: перечень персональных условий — клиентские скидки, сборы, личные промокоды и М-баллы. Состав и порядок их применения определяются не виджетом, а расчетом на стороне сервера (метод CalcWidget), и этот расчет уже работает. Виджет только передает параметры и применяет результат. Следствие: жестко зашитое accountingForfeits: false в виджете — дефект, оно принудительно отключает сборы вопреки серверному расчету. Требование зафиксировано в FR4.2-5, дефект — в OQ4.2-3. \ widgets/order-form/model/useOrderFormStore.ts:196,282 | Бизнес | Закрыт |
| #OQ4.2-2 | QA / код | Требование говорит: интерфейс показывает баланс М-баллов и переключатель списания, при включении баллы уменьшают итоговую стоимость (FR4.2-4). В коде механизм есть целиком: переключатель usePoints, баланс clientPoints, при создании заказа передаются Points и AccountingPoints. Статус «Частично реализовано» проставлен без пояснения, что именно не работает. Требуется деталь от QA: расхождение в отображении баланса, в пересчёте Итого или в передаче в заказ. Решение: пометка «Частично» признана устаревшей — механизм в коде полный. Статус FR4.2-4 изменен на «Реализовано», QA подтверждает на ближайшем прогоне. \ widgets/order-form/model/useOrderFormStore.ts:62,112-117,280-281 | Разработка | Закрыт |
| #OQ4.2-3 | Код | Дефект: виджет передает в расчет и в создание заказа accountingForfeits: false жестко зашитым значением — оно не приходит ни из конфигурации, ни из данных клиента. Поскольку состав персональных условий определяет серверный расчет CalcWidget и сборы в этот перечень входят, виджет не должен их отключать. Требуется убрать принудительное значение и передавать признак так, как того ожидает CalcWidget. Проверить, влияло ли это на итоговые цены у клиентов со сборами. Решение: заглушку убрать — виджет перестаёт навязывать состав персональных условий и передаёт признак так, как ожидает CalcWidget. Требование зафиксировано в FR4.2-5. Точный вид параметра уточняется у бэкенда при реализации. \ widgets/order-form/model/useOrderFormStore.ts:196,282 | Разработка | Закрыт |