Список наборов индивидуальных ставок#
Пользователи процесса#
- пользователь с ролью PARTNER
- пользователь с ролью AGENT
- пользователь с ролью CONTRACTOR
- пользователь с ролью OBSESRVER
Точки входа#
- пункт
Справочники->Индивидуальные ставкив меню приложения. Отображается пользователю с правами
Интерфейс#
Таблица Наборов индивидуальных ставок#
| Поле таблицы | Атрибут объекта |
|---|---|
| Дата | individualRateSet.notValidBefore, individualRateSet.notValidAfter. Если даты не указаны, отображается - |
| Партнер | individualRateSet.partner.name |
| Клиент | Для ФЛ: individualRateSet.customer.person.fio, |
Для ИП: ИП {individualRateSet.customer.person.fio} |
|
для ЮЛ:individualRateSet.customer.сompany.mame |
|
| Область действия | individualRateSet.scope |
| Статус | individualRateSet.status |
- таблица отображается с пагинацией
- Записи в таблице отсортированы по убыванию по полю
individualRateSet.changeAt(последние измененные наборы сверху) - пользователи с правом VIEW_INDIVIDUAL_RATE_ALL - видят все записи
- пользователи с правом VIEW_INDIVIDUAL_RATE
Фильтрация записей#
Строка поиска#
При вводе значения система фильтрует наборы по вхождению введенного значения в
- ИНН individualRateSet.customer.company.inn, individualRateSet.customer.person.inn
- Название individualRateSet.customer.company.fullName
- ФИО individualRateSet.customer.person.fio
Очищение строки поиска сбрасывает фильтр.
Панель фильтров#
- Макет
- Отображается всем пользователям
- Кнопка
Сбросить- активна если заполнено хотя бы одно поле панели фильтров
- При нажатии:
- все значения фильтров очищаются
- быстрый поиск остается
- панель фильтров закрывается
- строки в таблице сразу фильтруются
-
Кнопка
Применить- активна если заполнено хотя бы одно поле панели фильтров
- При нажатии:
- если в полях указаны некорректные значения (например некорректный формат даты), фильтр не применяется, поле подсвечивается
- панель скрывается
- список фильтруется в соответствии с заданными значениями фильтров
- над таблицей отображаются чипсы с применёнными фильтрами
- на кнопе вызова панели фильтров отображается индикатор
-
Область действия
- выбор из списка:
Одна заявка/Все заявки. Поиск поindividualRateSet.scope
- выбор из списка:
-
Агент
- мультиселект из справочника агентов
- Исполнитель, наблюдатель, комплаенс офицер, партнер могут выбрать любого агента
- Агент может выбрать только себя
- Поиск по
individualRateSet.agent
-
Партнер
- мультиселект из справочника партнеров
- Исполнитель, наблюдатель, комплаенс офицер, агент могут выбрать любого партнера
- Партнер может выбрать только себя
- Поиск по
individualRateSet.partner
-
Статус
-
Период Дата начала
- поиск по вхождению
notValidBeforeв указанный в фильтре период (включительно указанные даты). - если указано только начало периода, то система ищет запросы у которых
notValidBefore>= указанному значению - если указано только окончание периода, то система ищет запросы у которых
notValidBefore<= указанному значению - если любая дата некорректная — подсвечиваем поле, не пишем текст ошибки.
- eсли в диапазоне дат дата конца меньше даты начала, система подсвечивает оба поля, пишет под ними ошибку
Первая дата должна быть меньше или равна второй - если есть ошибки в веденных датах, система не применяет фильтр.
- минимальное значение даты 01.01.1900
- максимальное значение даты 31.12.2100
- если указана хотя бы одна дата, то запросы, в которых это поле не заполнено, не выбираются системой
- поиск по вхождению
-
Период Дата окончания
- поиск по вхождению
notValidAfterв указанный в фильтре период (включительно указанные даты). - если указано только начало периода, то система ищет запросы у которых
notValidAfter>= указанному значению илиnotValidAfter- пустая - если указано только окончание периода, то система ищет запросы у которых
notValidAfter<= указанному значению - если любая дата некорректная — подсвечиваем поле, не пишем текст ошибки.
- eсли в диапазоне дат дата конца меньше даты начала, система подсвечивает оба поля, пишет под ними ошибку
Первая дата должна быть меньше или равна второй - если есть ошибки в веденных датах, система не применяет фильтр.
- минимальное значение даты 01.01.1900
- максимальное значение даты 31.12.2100
- поиск по вхождению
Примененные фильтры#
Примененные значения фильтров отображаются над таблицей:
- Макет
- При удалении одного из фильтров, система отображает список заявок по оставшимся фильтрам.
- При нажатии "Сбросить фильтр", система очищает все фильтры, т.ч. быстрый поиск
- При повторном открытии панели фильтров в полях отображаются ранее установленные значения
- Если по указанным фильтрам не найдено ни одной заявки, то отображается окно "не найдено"
Состояние "Нет ни одной записи"#
Если в индивидуальных ставках еще нет ни одной записи, вместо таблицы отображается страница "Индивидуальных ставок пока нет" с кнопкой добавления.
Добавление Набора индивидуальных ставок#
- Кнопка
Добавить:- отображается пользователю с правом CREATE_INDIVIDUAL_RATE
- при нажатии на кнопку, открывается деталка:
- кнопка возврата в таблицу
- поля формы набора индивидуальных ставок
- строки набора индивидуальных ставок доступны для создания, изменения, удаления.
Просмотр и редактирование Набора индивидуальных ставок#
- деталка набора индивидульаных ставок открывается по клику на строке списка. Открывается в режиме просмотра.
- редактирование набора индивидуальных ставок см. в описании деталки набора индивидульаных ставок
Выгрузка реестра индивидуальных ставок#
- Кнопка
Выгрузить - отображается пользователю с правом EXPORT_INDIVIDUAL_RATE_LIST
- активная если в списке есть строки
- При нажатии на кнопку пользователем, система:
- отображает лоадер на кнопке, делает кнопку недоступной
- формирует excel-файл
- если произошла техническая ошибка, показывает баннер технической ошибки над списком запросов
- сохраняет сформированный excel-файл на устройство пользователя, возвращает кнопку в активное состояние.
- нгазвание скачиваемого файла
Индивидуальные ставкаи {{текщая дата}}.xlsx
Наполнение файла#
- В реестр выгружаются запросы, соответствующие текущему фильтру в списке запросов
- Страница в excel защищена от редактирования, кроме колонки
Дата окончания - В Exсel можно менять ширину колонок и высоту строк
- Название полей и выгружаемые атрибуты:
| Название поля | Значение |
|---|---|
| id | individualRateSet.id. после скрыто в excel |
| ИНН | - для ЮЛ: customer.company.name |
- для ФЛ/ИП: customer.company.inn |
|
| Название клиента | Если клиент указан в individualRateSet.customer |
- для ЮЛ: customer.company.name |
|
- для ФЛ: customer.person.fio |
|
- для ИП: ИП {customer.person.fio} |
|
| Всего договоров | Общее количество договоров клиента с агентом individualRateSet.agent |
| Подписано договоров | Количество договоров клиента с агентом individualRateSet.agent в статусе статус SIGNED |
НЕТ - если нет договора |
|
| Агент | individualRateSet.agent |
| Статус | Согласно логике описанной запросах от клиента и запросах от партнера |
| Ставки | в однй ячейке все строки individualRateSet.rates[] |
| - каждая строка c с новой строки | |
- формат строки {currencyCustomer; currency; country; minAmount - maxAmount; percent%; minimumRateThreshold} |
|
| - если какое-то из значений отсутствует, на его месте выводится прочерк | |
| Область действия | individualRateSet.scope |
| Дата начала | individualRateSet.notValidBefore |
| Дата окончания | individualRateSet.notValidAfter |
| Комментарий | individualRateSet.comment |
Загрузка даты окончания из файла#
Кнопка Установить дату окончания
- Макет
- Отображается пользователю с правом IMPORT_INDIVIDUAL_RATE_DATE_END
- при нажатии открывается диалоговое окно загрузки
Диалоговое окно загрузки#
Кнопка Загрузить
- Отображается если файл ещё не выбран
- При нажатии на кнопку:
- пользователь выбирает файл. Может выбрать только файлы XLSX, не более 10MB. Шаблон для загрузки - тот же файл, который выгрузил
- система проверяет что файл соответствует формату и размеру.
Кнопка Удалить выбранный файл
- Отображается если файл выбран
- при нажатии на кнопку название выбранного файла скрывается, отображается кнопка
Загрузить
Кнопка Отмена
- активна всегда
- при нажатии форма закрывается, данные из выбранного файла не сохраняются
Кнопка Сохранить
- активна если выбранный файл прошёл проверки размера и формата (см. кнопку
Загрузить), и система не обнаружила ошибки - при нажатии пользователем на кнопку, система:
- во время обработки отображает лоадер на кнопке, все кнопки не активны, диалоговое окно закрыть нельзя
- построчно выполняет проверки (тех строк, где дата изменилась относительно
individualRateSet.noValidAfter). При нахождении первый ошибочной строки, показывает сообщение пользователю, все остальные строки не проверяет:- колонки
id,ИНН,Дата окончаниядолжны присутствовать в файле. Если проверка не выполняется, показывает сообщение:Формат файла не соответствует шаблону - в колонке
id,ИННзначения должны быть заполнены. Если проверка не выполняется, показывает сообщение:Не заполенено поле {навзание поля} - в колонке
idдолжны быть указаны значения, которые существуют в системе. Если проверка не выполняется, показывает сообщение:ИНН {ИНН}: не найден идентификатор запроса на индивидуальную ставку - в колонке
Дата окончаниядата должна быть либо пустой, либо соответствовать форматуDD.MM.YYYY. Если проверка не выполняется, показывает сообщение:Неверный формат дат. Измените формат на ДД.ММ.ГГГГ - в колонке
Дата окончанияесли дата указана, она должна быть больше чемindividualRateSet.individualRateSet. Если проверка не выполняется, показывает сообщение:ИНН {ИНН}: Дата начала не может быть больше даты окончания - в колонке
Дата окончанияесли дата указана, она должна быть больше или равнасегодня. Если проверка не выполняется, показывает сообщение:ИНН {ИНН}: Дата должна быть сегодня или позже - в колонке
Дата окончанияесли дата не может быть очищена, т.е. её могут либо поменять, либо оставить без изменений. Если проверка не выполняется, показывает сообщение:ИНН {ИНН}: Дата окончания должна быть указана - Запрос должен иметь
individualRateSet.scope = ALL_ORDERS. Если проверка не выполняется, показывает сообщение:ИНН {ИНН}: ставка должна иметь область действия "На все заявки" - Запрос должен быть в статусе
APPROVED(сохраненное значение). Если проверка не выполняется, показывает сообщение:ИНН {ИНН}: ставка не согласована - Не должно быть для клиента пересекающегося по датам согласованного запроса на этого же агента. Если проверка не выполняется, показывает сообщение:
ИНН {ИНН}: нельзя изменить ставку с датой начала {дата}, так как есть более поздняя утвержденная - Если в файле нет ни одной строки измененной датой или файл пустой, показывает сообщение:
В файле нет данных для загрузки
- колонки
- для каждой строки из файла, находит запрос с указанным
id- обновляет в нем дату окончания из файла
- показывает обновленную таблицу запросов.
- показывает оповещение
Даты окончания ставок обновлены - загруженный файл система не сохраняет