Направление работ: WebLk Код раздела: 5.5.2 Раздел: Заказы > Абонементы > Карточка абонемента Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 10.08.26


1. Назначение

Данный раздел обеспечивает партнёру работу с экраном «Управление абонементом»: просмотр и изменение состава группы заказов, выполнение групповых действий, копирование информации, удаление и просмотр истории.

Состав и статусы заказов определяются в Back: 3.1 «Состав заказа» и 3.2 «Процессинг заказов», обработка групп — в Back: 3.3.1 «Процессинговые группы заказов», расчёт стоимости — в Back: 4.2.1 «Расчёт в группах заказов».

2. Ключевые понятия

Абонемент — объединённая в WebLk группа заказов одного клиента, для которой отображаются общий период, состав, стоимость и состояние оплаты.

Группа заказов — совокупность связанных заказов, обрабатываемых в рамках общего пользовательского сценария.

Заказ — сущность, которая сопровождает и фиксирует процесс использования клиентом площадки или услуги партнёра.

Предзаказ без статуса — бронирование, которое отражает занятость времени, но не переводит заказ в статус «Резерв».

Партнерская зона — сущность для хранения всей связанной информации по площадкам и услугам представленных в интерфейсах платформы.

3. Scope

Входит

S1: Фильтрация данных на странице управления абонементом

S2: Просмотр и изменение состава абонемента

S3: Выполнение групповых действий с заказами

S4: Удаление абонемента, копирование информации и просмотр истории

S5: Ограничение доступных действий по правам пользователя

Не входит

4. BR

Указаны в пункте 4 разделов Back: 3.1 «Состав заказа», 3.2 «Процессинг заказов», 3.3.1 «Процессинговые группы заказов» и 4.2.1 «Расчёт в группах заказов».

5. Функциональные требования (UC + FR)

IDСценарийФункциональное требованиеBRВесСтатус
S1: FR5.5.2-1Партнёр применяет дополнительные фильтры на странице управления абонементомНа странице «Управление абонементом» интерфейс позволяет отфильтровать данные по группе клиентов (на будущую реализацию), наличию скидки и наличию сбора.1Не реализовано \ OQ5.5.2-4
S1: FR5.5.2-2Партнёр фильтрует данные по промокоду на странице управления абонементомНа странице «Управление абонементом» поле «Промокод» поддерживает поиск по введённой части кода и выбор значения из найденного списка.1Не реализовано \ OQ5.5.2-4
S2: FR5.5.2-3Партнёр просматривает общие данные абонементаСтраница «Управление абонементом» показывает клиента, количество заказов, общую стоимость, оплаченную сумму, сумму к оплате, дату полной оплаты и комментарий администратора. Итоговые показатели отображаются как неинтерактивная информация.1Реализовано \ OQ5.5.2-21
S2: FR5.5.2-4Партнёр открывает карточку клиента из абонементаКлик по данным клиента открывает WebLk 6.4.1 «Карточка клиента».1Не реализовано \ OQ5.5.2-20
S2: FR5.5.2-5Партнёр изменяет дату полной оплатыКлик по полю «Дата полной оплаты» открывает календарь. Действие «Сохранить» применяет выбранную дату к абонементу.1Реализовано \ OQ5.5.2-22
S2: FR5.5.2-6Партнёр изменяет комментарийПоле «Комментарий» редактируется и сохраняется непосредственно на странице управления абонементом без открытия модального окна.1Реализовано \ OQ5.5.2-22
S2: FR5.5.2-7Партнёр просматривает детализацию состоянийИнтерфейс показывает количество заказов в состояниях «Без статуса», «Зарезервировано», «Частично оплаченный», «Оплаченный», «Закрытый», «Отменённый» и «Отменённый со сбором», а также признаки способа оплаты и учтённого сбора при наличии.1Не реализовано \ OQ5.5.2-5
S2: FR5.5.2-8Партнёр ищет заказ внутри абонементаПоле «Найти» и фильтры «С», «До» и «Статус» изменяют состав заказов, показанных в таблице абонемента.1Реализовано \ OQ5.5.2-23, OQ5.5.2-18
S2: FR5.5.2-9Партнёр просматривает заказы абонементаДля каждого заказа таблица показывает чекбокс выбора, дату и время, объект, площадку, опции в зависимости от сфер, наличие комментария, дополнительных позиций и промокода, количество, итоговую стоимость и статус. Чекбокс позволяет выбрать заказ для выполнения групповых действий.1Частично \ OQ5.5.2-7, OQ5.5.2-8
S2: FR5.5.2-10Партнёр настраивает состав данных заказаМеню «Настройки отображения» позволяет показать или скрыть дату создания, итоговую стоимость, ID заказа, скидку на позиции, скидку на время, сумму скидки, сбор, время и сумму за часы, а также восстановить набор полей по умолчанию.2Частично \ OQ5.5.2-7, OQ5.5.2-8
S2: FR5.5.2-11Партнёр открывает заказ в календареКлик по дате заказа открывает в новом окне календарь с недельным отображением соответствующей площадки.1Не реализовано \ OQ5.5.2-6
S2: FR5.5.2-12Партнёр наводит указатель на данные заказаИнтерфейс подчёркивает значения, для которых доступны дополнительные действия. При наведении отображаемое значение меняется в зависимости от колонки: например, в колонке «Комментарий» интерфейс показывает «расшифровка».2Частично \ OQ5.5.2-9
S2: FR5.5.2-13Партнёр редактирует заказ абонементаДействие редактирования открывает панель «Редактирование заказа» с доступными для изменения датой, временем, объектом, площадкой, опциями в зависимости от сфер, дополнительными позициями, промокодом и комментарием администратора.1Реализовано \ OQ5.5.2-24
S2: FR5.5.2-14В абонементе есть несохранённые заказыИнтерфейс показывает индикатор несохранённых заказов до устранения всех проблем и скрывает его после успешного сохранения состава абонемента.1Частично \ OQ5.5.2-10
S3: FR5.5.2-15Партнёр выбирает заказы абонементаИнтерфейс позволяет выбрать один или несколько заказов либо все заказы текущей выборки и показывает панель доступных групповых действий.1Реализовано \ OQ5.5.2-25, OQ5.5.2-18
S3: FR5.5.2-16Партнёр выбрал предзаказы без статусаДля выбранных предзаказов без статуса интерфейс показывает действия «Зарезервировать» и «Удалить».1Реализовано \ OQ5.5.2-25
S3: FR5.5.2-17Партнёр выбрал зарезервированные и частично оплаченные заказыИнтерфейс показывает действия «Оплатить» и «Отменить», а при наличии соответствующих прав и условий отмены — варианты «Отменить и начислить сбор» и «Отменить без сбора».1Частично \ OQ5.5.2-1, OQ5.5.2-2, OQ5.5.2-17
S3: FR5.5.2-18Партнёр выбрал оплаченные заказыИнтерфейс показывает действие «Отменить», а при наличии соответствующих прав и условий отмены — варианты отмены с возвратом или удержанием предоплаты.1Частично \ OQ5.5.2-2, OQ5.5.2-3, OQ5.5.2-17
S3: FR5.5.2-19Партнёр выбрал завершённые заказыИнтерфейс показывает действие отмены только при наличии соответствующего права и допустимого правилами отмены сценария.1Не реализовано \ OQ5.5.2-11, OQ5.5.2-2, OQ5.5.2-17
S3: FR5.5.2-20Партнёр выбрал ошибочно созданные записиДля записей со статусом ошибки «Заказ не создан» интерфейс показывает действие «Удалить».1Реализовано \ OQ5.5.2-26
S3: FR5.5.2-21Партнёр выбрал заказы с несовместимыми состояниямиЕсли для выбранного сочетания состояний нет общего действия, интерфейс показывает сообщение «Для заказов с выбранными статусами групповые действия недоступны».1Не реализовано \ OQ5.5.2-12
S4: FR5.5.2-22Партнёр открывает меню абонементаМеню страницы показывает доступные действия «Копировать информацию», «История изменений» и «Удалить» с учётом состояния абонемента и прав пользователя.1Не реализовано \ OQ5.5.2-13, OQ5.5.2-14, OQ5.5.2-15
S4: FR5.5.2-23Партнёр удаляет абонементДействие удаления абонемента доступно только тогда, когда все заказы группы являются предзаказами без статуса.1Не реализовано \ OQ5.5.2-14
S4: FR5.5.2-24Партнёр копирует информацию об абонементеДействие «Копировать информацию» помещает в буфер обмена текст с приветствием, ссылкой на МАРТ, данными клиента и перечнем объекта, площадки, даты и времени каждого заказа абонемента, после чего показывает стандартное уведомление об успешном копировании.2Частично \ OQ5.5.2-16
S4: FR5.5.2-25Партнёр открывает историю изменений (на будущую реализацию)Действие «История изменений» открывает технический список событий абонемента.3Не реализовано \ OQ5.5.2-15
S4: FR5.5.2-26Партнёр просматривает историю изменений (на будущую реализацию)Для каждого события интерфейс показывает дату и время, описание изменённых опций и значений, новую сумму с учётом сбора и пользователя, который внёс изменения.3Не реализовано \ OQ5.5.2-15
S5: FR5.5.2-27Пользователю доступен только просмотрИнтерфейс скрывает иконки редактирования, возможность выбора заказов и панель групповых действий. Редактируемые поля отображаются в информационном режиме.1Не реализовано \ OQ5.5.2-17
S5: FR5.5.2-28Пользователю доступен только просмотр дополнительных позицийДополнительные позиции отображаются в упрощённом виде, как в карточке заказа, без иконок редактирования и интерактивного состояния при наведении.1Не реализовано \ OQ5.5.2-17
S5: FR5.5.2-29Интерфейс определяет доступные групповые действияСостав кнопок в панели групповых действий зависит от прав пользователя, состояний выбранных заказов и соблюдения правил отмены.1Не реализовано \ OQ5.5.2-17, OQ5.5.2-1, OQ5.5.2-2

6. Открытые вопросы

Сверка с кодом: BRD 5.5.2 v0.1 · репозиторий musbooking_personal_account · commit 93383777 / main · 12.08.26 · якоря features.fsd/processing-groups-table (таблица заказов абонемента и групповые действия), widgets.fsd/processing-group-details (страница «Управление абонементом»), entities.fsd/processing-group (данные заказов группы и состав колонок), features.fsd/order-form (панель «Редактирование заказа»), pages/orders/processing-group/[id] (маршрут страницы) Сводка: 29 требований — Реализовано 8 · Частично 7 · Не реализовано 14. 20 открытых вопросов (Бизнес 6 · Разработка 11 · Бизнес/Разработка 3) и 6 подтверждённых блоков без расхождений. Наверх, вес 1: OQ5.5.2-1 — подписи кнопок отмены не соответствуют выполняемому действию (сбор начисляется наоборот); OQ5.5.2-2 — групповая отмена идёт без подтверждения и без проверки правил отмены; OQ5.5.2-17 — прав доступа в разделе нет вообще. Маршрутизация без сверки с гайдбуком (гайдбук не передавался).

IDИсточникВопросКомуСтатусРекомендацииИтоговое решение
OQ5.5.2-1Код FR5.5.2-17, FR5.5.2-29Требование говорит: для зарезервированных заказов партнёр выбирает между «Отменить и начислить сбор» и «Отменить без сбора» — подпись кнопки должна соответствовать последствию для клиента. В коде подписи и действия перепутаны местами: кнопка «Отменить и удержать сбор» отменяет заказы с признаком «начислить сбор» (AccountingForfeit = true) — сбор клиенту начисляется; кнопка «Отменить и начислить сбор» отменяет с AccountingForfeit = false — сбор не начисляется. Уведомление после действия повторяет ту же ошибку: нажав «Отменить и начислить сбор», партнёр получает всплывающее «Отменено заказов с начислением сбора», хотя сбора нет. Третья кнопка «Отменить» делает ровно тот же вызов (false, false), что и «Отменить и начислить сбор», — два разных ярлыка для одного и того же действия. Для оплаченных заказов подписи верные, но имена функций инвертированы: cancelWithRefundSelectedOrders предоплату удерживает, а cancelWithoutRefundSelectedOrders — возвращает, поэтому ошибку легко повторить при следующей правке. \ features.fsd/processing-groups-table/ui/details.vue:253-271,1122-1154,1157-1189,1192-1259,1262-1299; shared.fsd/api/orders/orders.api.ts:268-275Бизнес/РазработкаOpenЗавести тикет в Bitrix, высокий приоритет: поменять местами обработчики кнопок для зарезервированных заказов, привести тексты уведомлений к фактическому действию и переименовать функции по смыслу (cancelWithFee/cancelWithoutFee, cancelWithRefund/cancelWithoutRefund). Отдельно проверить по журналам, сколько абонементов уже отменено «наоборот», и решить, нужна ли компенсация клиентам.
OQ5.5.2-2Код FR5.5.2-17, FR5.5.2-18, FR5.5.2-19, FR5.5.2-29Требование говорит: варианты отмены предлагаются «при наличии соответствующих прав и условий отмены», а по WebLk 5.3.4 отмена подтверждается предупреждением. В коде любое групповое действие выполняется сразу по клику: подтверждающего окна нет, срок бесплатной отмены не проверяется, заказы отменяются пачкой параллельными запросами. Модалка отмены в виджете абонемента подключена в разметку, но метод, который её открывает, ни разу не вызывается — он объявлен и «выставлен наружу», и на этом всё, то есть это мёртвый код. Отменить 30 заказов абонемента можно одним кликом без единого предупреждения. \ features.fsd/processing-groups-table/ui/details.vue:1122-1299; widgets.fsd/processing-group-details/ui/index.vue:107-116,383-385,453-455РазработкаOpenЗавести тикет в Bitrix: подключить уже написанную модалку отмены к групповым действиям (она сама определяет тип по правилам отмены и статусу оплаты) и показывать сводку «будет отменено N заказов, сбор начислен по M». До этого групповая отмена остаётся необратимым действием без подтверждения. Связать с OQ5.5.2-1.
OQ5.5.2-3Код FR5.5.2-18Что нашли: для оплаченных заказов кроме «Отменить и удержать предоплату» и «Отменить и вернуть предоплату» есть третья кнопка «Отменить» — она отменяет заказ без возврата и без начисления сбора. Деньги клиента при этом остаются у партнёра, но в системе это не помечено ни как удержание, ни как возврат. BRD такого третьего варианта для оплаченных заказов не описывает. \ features.fsd/processing-groups-table/ui/details.vue:312-320,1262-1299БизнесOpen(А) убрать общую кнопку «Отменить» из режима оплаченных заказов, оставив только два явных исхода (рекомендуется: сейчас есть способ отменить оплаченный заказ, не приняв решения о деньгах); (Б) описать этот третий сценарий в BRD и объяснить, что происходит с оплатой.
OQ5.5.2-4Код FR5.5.2-1, FR5.5.2-2Требование говорит: на странице управления абонементом есть фильтры по группе клиентов, наличию скидки и наличию сбора, а также поле «Промокод» с поиском по части кода. В коде во всплывающем фильтре только два поля — «Статус заказа» и «Статус оплаты», оба множественного выбора, с кнопками «Сбросить» и «Применить». Ни группы клиентов, ни признака скидки, ни признака сбора, ни промокода в фильтрах нет. Заготовка под фильтр по источнику заказа заведена в коде, но в интерфейс не выведена и помечена как TODO. \ features.fsd/processing-groups-table/ui/details.vue:86-123,693-711,907-921БизнесOpen(А) запланировать недостающие фильтры, начав с промокода и признака сбора (рекомендуется: без них партнёр не может найти проблемные заказы внутри большого абонемента); (Б) сократить FR5.5.2-1/2 до фактического набора «Статус заказа» + «Статус оплаты» и перенести остальное в отдельную задачу развития.
OQ5.5.2-5Код FR5.5.2-7Требование говорит: интерфейс показывает количество заказов в семи состояниях плюс признаки способа оплаты и учтённого сбора. В коде в шапке абонемента всего четыре показателя: «Кол-во заказов», «Общая стоимость», «Оплачено», «К оплате». Разбивки по состояниям нет. Цветовая легенда, из которой, судя по формулировкам, и написано требование (те же семь состояний плюс «Безнал» и «В заказе учтен сбор»), есть только на странице списка абонементов, и это именно легенда цветов, а не счётчики. Карточка абонемента вообще различает лишь четыре статуса заказа (без статуса, зарезервировано, закрыто, отменено) с уточнением по оплате — состояния «Отменённый со сбором» на фронте нет. \ features.fsd/processing-groups-table/ui/details.vue:42-69; features.fsd/processing-groups-table/ui/index.vue:146,223-242; entities.fsd/processing-group/lib/processing-group-orders.getters.ts:225-276Бизнес/РазработкаOpen(А) добавить в шапку абонемента счётчики по состояниям и перенести туда легенду со списка (рекомендуется: это основной способ понять, что с абонементом не так, без пролистывания таблицы); (Б) сократить FR5.5.2-7 до легенды и признать, что детализация живёт на странице списка. В обоих случаях бизнесу нужно подтвердить, как в интерфейсе показывать «Отменённый со сбором», которого фронт сейчас не различает.
OQ5.5.2-6Код FR5.5.2-11, FR5.5.2-13Требование говорит: клик по дате заказа открывает в новом окне календарь с недельным отображением площадки. В коде клик по любому месту строки открывает боковую панель «Редактирование заказа»; отдельного поведения у колонки с датой нет, новое окно нигде не открывается. Фактически два требования конфликтуют между собой: одна и та же строка не может по клику и открывать календарь, и открывать редактирование. \ features.fsd/processing-groups-table/ui/details.vue:208-219,854-871; widgets.fsd/processing-group-details/ui/index.vue:23-36,270-274БизнесOpen(А) оставить открытие панели редактирования по клику на строку и сделать переход в календарь отдельным действием — например, ссылкой в колонке даты (рекомендуется: снимает конфликт FR5.5.2-11 и FR5.5.2-13); (Б) отказаться от FR5.5.2-11, если переход в календарь из абонемента не нужен.
OQ5.5.2-7Код FR5.5.2-9, FR5.5.2-10Требование говорит: в таблице заказа показываются дата и время, объект, площадка, опции, наличие комментария, позиций и промокода, количество, стоимость и статус, а в настройках отображения можно включить дату создания, время и сумму за часы. В коде набор колонок другой. Нет колонок «дата создания», «время» и «сумма за часы»: шаблон ячейки для времени в коде остался, но колонки с таким идентификатором в наборе нет — то есть он никогда не отрисуется. Есть колонки, которых нет в BRD: «Источник», «Оплаты», «Возвраты», «Дата оплаты», «Комментарий клиента», «Комментарий менеджера», «Промокоды», «Позиции», «Вид работ», «Количество гостей». По умолчанию видны только семь колонок (источник, дата заказа, объект, площадка, оплаты, итого, статус) — комментарий, позиции, промокод и количество, которые FR5.5.2-9 требует показывать для каждого заказа, скрыты и включаются вручную. Восстановление набора по умолчанию есть — кнопка «По умолчанию». \ features.fsd/processing-groups-table/ui/details.vue:468,714-780; components/UI/filters/ColumnsMenu.vue:80БизнесOpen(А) согласовать один эталонный набор колонок и набор «по умолчанию», затем привести код к нему (рекомендуется: сейчас партнёр по умолчанию не видит ни комментария, ни позиций, ни промокода); (Б) переписать FR5.5.2-9/10 по факту, добавив в перечень «Источник», «Оплаты», «Возвраты» и остальные фактические колонки. Учесть OQ5.5.2-8: часть колонок нечем заполнить.
OQ5.5.2-8Код FR5.5.2-9, FR5.5.2-10Что нашли: пять колонок таблицы заполнить нечем — в коде на их месте стоят заглушки с пометкой TODO. «Промокоды» всегда показывают «нет», «Дата оплаты» всегда пустая, «Сбор» всегда 0, «Возвраты» всегда 0, «Вид работ» всегда «—». Партнёр, включив такую колонку, делает вывод «сбора нет / промокода нет / возвратов не было», хотя данные просто не подставлены из ответа сервера. \ entities.fsd/processing-group/lib/processing-group-orders.getters.ts:359,363,365,376,381; features.fsd/processing-groups-table/ui/details.vue:462-465,714-780РазработкаOpenЗавести тикет в Bitrix: либо дозаполнить эти поля из ответа по заказам группы, либо временно убрать колонки из меню — показывать заведомо неверный ноль хуже, чем не показывать колонку. Первым приоритетом «Сбор» и «Промокоды»: на них завязаны решения по деньгам.
OQ5.5.2-9Код FR5.5.2-12Требование говорит: значения, у которых есть дополнительные действия, подчёркиваются при наведении, а в колонке «Комментарий» при наведении показывается «расшифровка». В коде пунктирное подчёркивание есть только у ячейки «Позиции» — при наведении она показывает «Позиций: N». Подсказки при наведении есть также у иконки источника, у точки статуса и у значка ошибки. У колонки комментария ни подсказки, ни подчёркивания нет: длинный текст просто обрезается многоточием, прочитать его целиком нельзя. Слова «расшифровка» в коде нет вообще. \ features.fsd/processing-groups-table/ui/details.vue:435-437,441-450,1668-1674,1741-1746РазработкаOpenЗавести тикет в Bitrix: добавить всплывающую подсказку с полным текстом для колонок с комментариями (в общем компоненте таблицы такая подсказка уже поддержана) и единый стиль подчёркивания для всех интерактивных значений.
OQ5.5.2-10Код FR5.5.2-14, FR5.5.2-20Требование говорит: индикатор несохранённых заказов виден, пока не устранены все проблемы, и исчезает после успешного сохранения состава абонемента. В коде индикатор другой по смыслу: это счётчик заказов, по которым сервер вернул ошибки — значок с числом и подсказкой «Заказов с ошибками: N», строки таких заказов подсвечены красным, в колонке статуса вместо статуса стоит красный значок с текстом ошибки. Понятия «несохранённый заказ» на фронте нет: индикатор пропадёт, когда сервер перестанет возвращать ошибки, а не когда партнёр что-то сохранит. Текста «Заказ не создан» из FR5.5.2-20 фронт тоже не знает — он показывает сообщение, пришедшее с сервера, каким бы оно ни было. \ features.fsd/processing-groups-table/ui/details.vue:129-151,389-404,672-676,892-898; entities.fsd/processing-group/lib/processing-group-orders.getters.ts:329,382Бизнес/РазработкаOpen(А) переписать FR5.5.2-14/20 в терминах «заказы с ошибками» и зафиксировать перечень серверных ошибок, которые партнёр должен видеть, включая «Заказ не создан» (рекомендуется: соответствует и коду, и тому, что реально возвращает сервер); (Б) если «несохранённые заказы» — это отдельное состояние на стороне WebLk, описать его признаки, потому что сейчас их нет ни в коде, ни в BRD.
OQ5.5.2-11Код FR5.5.2-19Требование говорит: для завершённых заказов доступно только действие отмены и только при наличии права и допустимого правилами сценария. В коде завершённые (закрытые) заказы попадают ровно в тот же режим, что и оплаченные, и получают четыре кнопки: «Отменить и удержать предоплату», «Отменить и вернуть предоплату», «Отменить» и «Завершить» — то есть партнёру предлагают завершить уже завершённый заказ, а также вернуть по нему предоплату без каких-либо проверок. \ features.fsd/processing-groups-table/lib/bulk-actions.ts:86-89; features.fsd/processing-groups-table/ui/details.vue:293-330,1301-1338РазработкаOpenЗавести тикет в Bitrix: развести режимы «оплачен» и «завершён»; для завершённых оставить только отмену (после решения по правам и правилам — см. OQ5.5.2-2, OQ5.5.2-17) и убрать кнопку «Завершить».
OQ5.5.2-12Код FR5.5.2-21Требование говорит: если у выбранных заказов нет общего действия, показывается сообщение «Для заказов с выбранными статусами групповые действия недоступны». В коде такого сообщения нет: при несовместимом наборе статусов режим действий просто становится пустым и все кнопки исчезают, оставляя пустую полосу рядом со счётчиком «Выбрано: N». То же самое происходит, если в выборку попали заказы с ошибками и без. Партнёр не понимает, интерфейс сломался или так задумано. \ features.fsd/processing-groups-table/lib/bulk-actions.ts:63-71; features.fsd/processing-groups-table/ui/details.vue:229-344РазработкаOpenЗавести тикет в Bitrix: выводить текст из FR5.5.2-21 вместо пустого блока действий, отдельно — для случая «смешаны заказы с ошибками и без».
OQ5.5.2-13Код FR5.5.2-22Требование говорит: меню страницы показывает «Копировать информацию», «История изменений» и «Удалить». В коде меню абонемента как такового нет. В шапке страницы четыре элемента: индикатор ошибок, «Добавить», «Скачать» (CSV/XLSX) и «Колонки». Единственное из трёх требуемых действий — «Копировать информацию» — спрятано внутрь меню настройки колонок, то есть партнёр найдёт его только случайно. \ features.fsd/processing-groups-table/ui/details.vue:127-204,180-203; components/UI/filters/ColumnsMenu.vue:3-9,94-95БизнесOpen(А) завести отдельное меню абонемента (три точки) и перенести туда «Копировать информацию», а по мере готовности — «История изменений» и «Удалить» (рекомендуется: соответствует BRD и снимает неочевидность); (Б) зафиксировать в BRD текущее размещение копирования в меню колонок.
OQ5.5.2-14Код FR5.5.2-22, FR5.5.2-23Требование говорит: абонемент можно удалить, и действие доступно только когда все заказы группы — предзаказы без статуса. В коде удаления абонемента нет ни в каком виде. При этом серверный вызов архивации группы и обёртка к нему написаны и экспортируются из слоя сущности, но ни один экран их не вызывает — код готов и лежит без применения. Проверки «все заказы группы — предзаказы» тоже нигде нет. \ shared.fsd/api/processing-groups/processing-groups.api.ts:246-258; entities.fsd/processing-group/model/useProcessingGroupQueries.ts:202-226; features.fsd/processing-groups-table/ui/details.vue:127-204РазработкаOpenЗавести тикет в Bitrix: подключить готовую архивацию группы к действию «Удалить» в меню абонемента, добавив проверку условия из FR5.5.2-23 и подтверждение. Работа небольшая — серверная часть уже есть. Связать с OQ5.5.2-13.
OQ5.5.2-15Код FR5.5.2-22, FR5.5.2-25, FR5.5.2-26Требование говорит: есть действие «История изменений» и просмотр событий абонемента (вес 3, «на будущую реализацию»). В коде истории изменений для абонемента нет — подтверждается, что требование пока не реализовано. Пункт «История изменений» сохранился только в старом компоненте списка заказов, который к абонементам не подключён. \ components/Lists/Orders/MainListItem.vue:49; features.fsd/processing-groups-table/ui/details.vue:127-204РазработкаOpenЗавести тикет в Bitrix (в бэклог): при реализации истории переиспользовать или удалить старый пункт меню в components/Lists/Orders/MainListItem.vue, чтобы не появилось двух конкурирующих реализаций. Тот же корневой вопрос, что и OQ5.3.2-18 — закрывать одним решением.
OQ5.5.2-16Код FR5.5.2-24Требование говорит: после копирования информации показывается стандартное уведомление об успешном копировании. В коде текст формируется как в BRD — приветствие, ссылка на МАРТ, имя и телефон клиента, затем по строке на заказ в виде «объект — площадка — Пн 10.11.25 13:00-14:00» и прощание, — но уведомления нет ни при успехе, ни при ошибке: сбой записи в буфер обмена гасится пустым обработчиком. Партнёр в любом случае считает, что скопировал. Отдельно: если в абонементе нет заказов, действие молча ничего не делает. \ features.fsd/processing-groups-table/ui/details.vue:810-841РазработкаOpenЗавести тикет в Bitrix: показывать стандартное уведомление об успехе и уведомление об ошибке вместо пустого обработчика (механизм уведомлений на этой же странице уже используется для сохранения комментария и даты).
OQ5.5.2-17Код FR5.5.2-27, FR5.5.2-28, FR5.5.2-29, FR5.5.2-17, FR5.5.2-18, FR5.5.2-19Требование говорит: при доступе «только просмотр» скрываются иконки редактирования, выбор заказов и панель групповых действий, дополнительные позиции показываются в упрощённом виде, а состав кнопок зависит от прав. В коде прав доступа в разделе нет вообще: хранилище прав используется только в разделе сотрудников. Чекбоксы, панель групповых действий и панель редактирования показываются всем, а состав кнопок определяется исключительно статусами выбранных заказов. При этом упрощённый вывод дополнительных позиций в системе уже есть — карточка заказа показывает позиции без кнопок редактирования, — но в панели «Редактирование заказа» из абонемента этот режим не включается. \ stores/permissions.ts:15 (используется только в components/staff/forms/Permissions.vue:175, components/staff/Dashboard/Dashbord.vue:113); features.fsd/processing-groups-table/ui/details.vue:208-344; features.fsd/order-form/ui/OrderForm.vue:56-69; features.fsd/order-details/ui/OrderDetailsCard.vue:117; shared.fsd/ui/position/PositionsList.vue:16,66,73РазработкаOpenЗавести тикет в Bitrix: подключить проверку прав к карточке абонемента — выбор заказов, групповые действия, редактирование, удаление; для режима «только просмотр» переиспользовать уже существующий упрощённый вид позиций. Корневой вопрос общий с OQ5.3.2-8 и OQ5.3.4-6 — решать один раз для всех разделов, иначе права будут появляться точечно и расходиться.
OQ5.5.2-18Код FR5.5.2-8, FR5.5.2-15Что нашли: заказы абонемента запрашиваются одной страницей по 100 записей, пагинация с сервера приходит, но нигде не используется. Если в абонементе больше 100 заказов, таблица покажет первые 100 и напишет «Заказов: 100», тогда как в шапке «Кол-во заказов» останется настоящим — расхождение никак не объясняется. Выбор «все заказы» и групповые действия применятся только к видимой сотне, выгрузка в CSV/Excel — тоже. \ features.fsd/processing-groups-table/ui/details.vue:221-228,608-621; entities.fsd/processing-group/store/processing-group.api.ts:379-392РазработкаOpenЗавести тикет в Bitrix: подключить пагинацию (или подгрузку по прокрутке) к таблице заказов абонемента; как минимум — показывать явное предупреждение об ограничении выборки. Годовой абонемент с еженедельными занятиями (52 заказа) в лимит попадает, с двумя занятиями в неделю — уже нет.
OQ5.5.2-19Код FR5.5.2-9, FR5.5.2-22Что нашли: страница делает больше, чем описано в BRD: выгружает таблицу в CSV и Excel, показывает кнопку «Добавить», которая открывает форму создания подгруппы заказов для того же клиента, выводит колонку «Источник» с иконкой канала продажи и позволяет перетаскивать колонки в меню настройки. Ни одного из этих действий в разделе 5.5.2 нет. \ features.fsd/processing-groups-table/ui/details.vue:153-177,195-199,349-357,873-890,1341-1389БизнесOpen(А) дописать в BRD выгрузку, добавление заказов в абонемент и колонку «Источник» как существующую функциональность (рекомендуется: этим пользуются, и требования к ним сейчас нигде не зафиксированы); (Б) решить, что часть из этого относится к WebLk 5.5.1, и сослаться на соответствующий раздел.
OQ5.5.2-20Код FR5.5.2-4Требование говорит: клик по данным клиента открывает карточку клиента (WebLk 6.4.1). В коде перехода нет: карточке клиента передан признак «можно использовать ссылку», но компонент этот признак нигде не применяет — ни ссылки, ни обработчика клика в нём нет. Кнопка редактирования клиента тоже скрыта, потому что карточка выводится в компактном режиме. Кликабельны только иконки копирования телефона и почты. \ features.fsd/processing-groups-table/ui/details.vue:5-15; entities.fsd/client/ui/Card.vue:57-73,77-86,102-125РазработкаOpenЗавести тикет в Bitrix: реализовать признак «можно использовать ссылку» в карточке клиента (переход в WebLk 6.4.1) либо убрать неработающий признак, чтобы он не создавал ложного впечатления, что переход есть.
OQ5.5.2-21Код FR5.5.2-3Что подтверждено: в шапке страницы выводятся карточка клиента (имя, телефон, e-mail, баллы, аватар), «Кол-во заказов», «Общая стоимость», «Оплачено», «К оплате», поле даты полной оплаты и поле «Комментарий администратора». Четыре денежных показателя выводятся неинтерактивными блоками — обработчиков клика у них нет, как и требует BRD. \ features.fsd/processing-groups-table/ui/details.vue:4-70,655-668; components/UI/display/InfoSection.vue:1-30—ПодтвержденоРасхождения нет. Клик по клиенту при этом ничего не открывает — см. OQ5.5.2-20.—
OQ5.5.2-22Код FR5.5.2-5, FR5.5.2-6Что подтверждено: клик по полю даты открывает календарь с кнопкой «Сохранить»; сохранение уходит на сервер отдельным запросом по абонементу и подтверждается уведомлением «Дата оплаты сохранена». Комментарий администратора редактируется прямо на странице: при установке курсора в поле появляется кнопка «Сохранить», модальное окно не открывается, после сохранения выводится «Комментарий сохранен». \ features.fsd/processing-groups-table/ui/details.vue:16-41,923-979; components/UI/fields/CoreDateField.vue:3-45; components/UI/pickers/CoreDatePicker.vue:98-103—ПодтвержденоРасхождения по сути нет. Мелочь для протокола: поле подписано «Дата», а не «Дата полной оплаты», как в BRD.—
OQ5.5.2-23Код FR5.5.2-8Что подтверждено: поле «Найти заказ», выбор периода и фильтры статусов передаются в серверный запрос заказов группы и меняют состав таблицы (фильтрация серверная, не по загруженной странице). \ features.fsd/processing-groups-table/ui/details.vue:73-83,86-123,608-628,900-921; shared.fsd/api/processing-groups/processing-groups.api.ts:268-275—ПодтвержденоРасхождения нет. Для протокола: «Статус» в BRD — один фильтр, в коде это два отдельных множественных выбора («Статус заказа» и «Статус оплаты»), применяемых кнопкой «Применить». Ограничение выборки — OQ5.5.2-18.—
OQ5.5.2-24Код FR5.5.2-13Что подтверждено: по действию редактирования открывается боковая панель с заголовком «Редактирование заказа», в ней доступны клиент, дата, время, опции (вид работ и количество человек), выбор объекта и площадки деревом, блоки «Оборудование» и «Услуги», промокод, «Комментарий администратора» и «Комментарий клиента», а также итог к оплате и переключатель сбора. Повтор заказа в этом сценарии отключён намеренно. \ widgets.fsd/processing-group-details/ui/index.vue:23-36; features.fsd/order-form/ui/OrderForm.vue:6-92—ПодтвержденоРасхождения нет; набор полей шире, чем в FR5.5.2-13 (клиент и комментарий клиента) — при следующей правке BRD можно дописать.—
OQ5.5.2-25Код FR5.5.2-15, FR5.5.2-16Что подтверждено: у каждой строки есть чекбокс, в шапке таблицы — чекбокс «выбрать все» с промежуточным состоянием; над таблицей выводится «Заказов: N (Выбрано: M)» и панель действий, состав которой зависит от статусов выбранных заказов. Для предзаказов без статуса это ровно два действия — «Удалить» (архивирует заказы) и «Зарезервировать» (выполняется последовательно, с паузой между заказами, чтобы не ловить конфликт одновременных изменений). \ components/UI/table/DataTable.vue:23-62,196-208; features.fsd/processing-groups-table/ui/details.vue:208-250,982-1082—ПодтвержденоРасхождения нет. «Все заказы текущей выборки» ограничены загруженной сотней — см. OQ5.5.2-18.—
OQ5.5.2-26Код FR5.5.2-20Что подтверждено: если все выбранные записи — заказы с ошибками, панель показывает единственное действие «Удалить», которое их архивирует; в колонке статуса у таких строк красный значок с текстом ошибки в подсказке, а сама строка подсвечена красным. Смешанная выборка (с ошибками и без) действий не даёт. \ features.fsd/processing-groups-table/lib/bulk-actions.ts:36-45,69-76; features.fsd/processing-groups-table/ui/details.vue:333-343,389-404,982-1018—ПодтвержденоПоведение соответствует BRD. Оговорка по формулировке «статус ошибки “Заказ не создан”» вынесена в OQ5.5.2-10: фронт показывает любой текст ошибки, пришедший с сервера, и сам такой статус не определяет.—

Отрезано в обратном проходе (не бизнес-значимо, 4 находки): заготовка фильтра по источнику заказа заведена в состоянии компонента, но в интерфейс не выведена и помечена комментарием «TODO» (details.vue:695,910); функция возврата к списку абонементов объявлена, но ни к одной кнопке не привязана (details.vue:850-852); страница слушает от виджета событие уведомления, которого виджет не отправляет (pages/orders/processing-group/[id]/index.vue:6 против widgets.fsd/processing-group-details/ui/index.vue:251-254) — мёртвая проводка; признак валидности формы оплаты вычисляется, но нигде не используется, кнопка «Оплатить» не блокируется (widgets.fsd/processing-group-details/ui/index.vue:216-218).

0 items under this folder.