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-1Figma / продуктПодтвердить перечень персональных условий клиента, влияющих на Итого после входа (клиентские скидки, сборы, группы деятельности): что именно должно применяться в расчете виджета. Дополнено 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-2QA / кодТребование говорит: интерфейс показывает баланс М-баллов и переключатель списания, при включении баллы уменьшают итоговую стоимость (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РазработкаЗакрыт

0 items under this folder.