Деталка набора базовых ставок#
Интерфейс#
Ссылка возврата на список наборов базовых ставок#
Аналогично ссылке возврата в деталке клиента
Статусы набора ставок#
Статус набора "Запланирован"#
- отображается если у набора ставок:
Дата начала> сегодняшнего дня
- на статусе при наведении мышкой отображается хинт:
Срок действия набора ещё не наступил - Набор в этом статусе:
- набор можно редактировать (отображается кнопка редактировать)
- набор можно удалить (отображается кнопка удалить)
- в набор можно добавить строки в таблицу ставок (отображается кнопка добавить)
- можно редактировать/удалять строки в таблице ставок (открывается модалка при клике на строку )
- можно копировать набор данных (отображается кнопка копирования)
Статус набора "Активен"#
- отображается если у набора ставок:
Дата начала<= сегодняшнего дняДата окончания>= сегодняшнего дня или пустая
- на статусе при наведении мышкой отображается хинт:
Действующий набор - Набор в этом статусе:
- набор нельзя редактировать (не отображается кнопка редактировать)
- набор нельзя удалить (не отображается кнопка удалить)
- в набор нельзя добавить строки в таблицу ставок (не отображается кнопка добавить)
- нельзя редактировать/удалять строки в таблице ставок (не открывается модалка при клике на строку )
- можно копировать набор данных (отображается кнопка копирования)
Статус набора "Завершён"#
- отображается если у набора ставок:
Дата окончания< сегодняшнего дня
- на статусе при наведении мышкой отображается хинт:
Срок действия набора истёк - Набор в этом статусе:
- набор нельзя редактировать (не отображается кнопка редактировать)
- набор нельзя удалить (не отображается кнопка удалить)
- в набор нельзя добавить строки в таблицу ставок (не отображается кнопка добавить)
- нельзя редактировать/удалять строки в таблице ставок (не открывается модалка при клике на строку )
- можно копировать набор данных (отображается кнопка копирования)
Мэппинг полей#
- Дата начала
- Атрибут объекта:
baseRate.startDate
- обязательное
- дата
- должна быть > сегодняшнего дня
- уникально в разрезе агента
- в выпадашке дни <= текущего - неактивны
- текст ошибки при сохранении:
- если введенное значение <= текущей даты:
Дата должна быть позднее текущего дня - если набор на указанную дату для агента уже существует:
Для даты уже есть набор базовых ставок
- если введенное значение <= текущей даты:
- Агент
- Атрибут объекта
baseRate.agent.fullName
- недоступно для редактирования
Таблица ставок#
| Поле таблицы | Атрибут объекта |
|---|---|
| Валюта отправителя | baseRate.rates[].currencyCustomer |
| Валюта получателя | baseRate.rates[].currency |
| Страна банка получателя | baseRate.rates[].country, выводим country.englishName |
| Сумма | baseRate.rates[].minAmount - baseRate.rates[].maxAmount |
| Ставка | baseRate.rates[].percent |
| Минимальная комиссия | baseRate.rates[].minimumRateThreshold |
Если нет строк таблицы ставок и не отображается кнопка на добавление, таблица ставок не отображается.
Сортировка по полям:
Валюта отправителя(по алфавиту),- потом по
Валюта получателя(по алфавиту), - потом по
Cтрана банка получателя(по алфавиту поcountry.englishName) - потом по
Сумма(minAmount, по возрастанию)
Добавление ставки#
- Кнопка
+ Добавить- отображается пользователю с правом CREATE_BASE_RATE
- отображается если набор в статусе Запланирован
- активна в режимах просмотра и редактирования набора базовых ставок
- При нажатии на кнопку
+ Добавить, открывается модальное окно с полями для ввода - модалка не закрывается по клику на фон (только крестиком или кнопками
Отменить,Добавить)
- Валюта отправителя
- Атрибут объекта:
baseRate.rates[].currencyCustomer
- не обязательное
- выбор из локального справочника валют, аналогично полям
Валютав заявке - хинт на поле (отображается когда поле в фокусе):
Если валюта не выбрана, ставка будет применятся ко всем валютам
- Валюта получателя
- Атрибут объекта:
baseRate.rates[].currency
- не обязательное
- выбор из локального справочника валют, аналогично полям
Валютав заявке - хинт на поле (отображается когда поле в фокусе):
Если валюта не выбрана, ставка будет применятся ко всем валютам
- Страна банка получателя
- Атрибут объекта:
baseRate.rates[].country
- необязательное
- работа поля аналогична
- Сумма от
- Атрибут объекта:
baseRate.rates[].minAmount
- обязательное
- инпут
- число
- минимальное значение - 0,01
-
максимальное значение - 99 999 999 999,99
-
разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- 2 знака дробной части отображаются всегда:
- если пользователь вводит целое число, система добавляет в поле
,00. Например: введено123456, отображается123 456,00 - если пользователь вводит число одним заком поле запятой, система добавляет
0. Например: введено123456,3, отображается123 456,30 - если пользователь вводит точку для разделения дробной части, система заменяет точку на запятую. Например: введено
123456.3, отображается123 456,30 - Ссылка на пример (в примере нет добавления
,00)
- если пользователь вводит целое число, система добавляет в поле
- при вставке в поле значения из буфера, значение вставляется только если его формат соответствует требованиям
- не может быть больше "Суммы до"
- диапазоны сумм не могут пересекаться в рамках валюты, страны и агента
- Сумма до
- Атрибут объекта:
baseRate.rates[].maxAmount
- обязательное
- инпут
- число
- минимальное значение - 0,01
- максимальное значение - 99 999 999 999,99
- разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- 2 знака дробной части отображаются всегда:
- если пользователь вводит целое число, система добавляет в поле
,00. Например: введено123456, отображается123 456,00 - если пользователь вводит число одним заком поле запятой, система добавляет
0. Например: введено123456,3, отображается123 456,30 - если пользователь вводит точку для разделения дробной части, система заменяет точку на запятую. Например: введено
123456.3, отображается123 456,30 - Ссылка на пример (в примере нет добавления
,00)
- если пользователь вводит целое число, система добавляет в поле
- при вставке в поле значения из буфера, значение вставляется только если его формат соответствует требованиям
- Ставка, %
- Атрибут объекта:
baseRate.rates[].percent
-
значение
- обязательное
- инпут
- число
- минимальное значение - 0,0000
-
максимальное значение - 100
-
разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- 4 знака дробной части отображаются всегда:
- если пользователь вводит целое число, система добавляет в поле
,0000. Например: введено123456, отображается123 456,0000 - если пользователь вводит число одним заком поле запятой, система добавляет
0. Например: введено123456,3, отображается123 456,3000 - если пользователь вводит точку для разделения дробной части, система заменяет точку на запятую. Например: введено
123456.3000, отображается123 456,3000 - Ссылка на пример (в примере нет добавления
,00)
- если пользователь вводит целое число, система добавляет в поле
- при вставке в поле значения из буфера, значение вставляется только если его формат соответствует требованиям
- Минимальная комиссия
- Атрибут объекта:
baseRate.rates[].minimumRateThreshold
- обязательное
- инпут
- число
- минимальное значение - 0,01
- максимальное значение - 99 999 999 999,99
- разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- 2 знака дробной части отображаются всегда:
- если пользователь вводит целое число, система добавляет в поле
,00. Например: введено123456, отображается123 456,00 - если пользователь вводит число одним заком поле запятой, система добавляет
0. Например: введено123456,3, отображается123 456,30 - если пользователь вводит точку для разделения дробной части, система заменяет точку на запятую. Например: введено
123456.3, отображается123 456,30 - Ссылка на пример (в примере нет добавления
,00)
- если пользователь вводит целое число, система добавляет в поле
- при вставке в поле значения из буфера, значение вставляется только если его формат соответствует требованиям
полю Страна (order.counterparty.country) в заявке
Кнопка Отменить
- Активна всегда
- При нажатии пользователем на кнопку, система:
- закрывает окно без дополнительных подтверждений
- запись не сохраняется в БД
Кнопка Добавить
- Активна если изменено значение хотя бы одного поля.
- при нажатии пользователем на кнопку, система:
- выполняет проверку, что обязательные поля заполнены. Если проверка не выполняется:
- подсвечивает незаполненные поля
- окно не закрывает, запись не сохраняет
- выполняет проверку, что
Сумма от<=Сумма до. Если проверка не выполняется:- под
Сумма ототображает текст ошибкиПервая сумма не может быть больше второй - окно не закрывает, запись не сохраняет
- под
- выполняет проверку, что диапазон сумм
Сумма отиСумма доне пересекается в рамках валюты отправителя, валюты получателя, страны и агента. Если проверка не выполняется:- под
Сумма ототображает текст ошибкиДиапазон сумм пересекается с существующим - окно не закрывает, запись не сохраняет
- под
- закрывает окно,
- сохраняет в БД,
- показывает обновленную форму набора базовых ставок
- выполняет проверку, что обязательные поля заполнены. Если проверка не выполняется:
Редактирование и удаление ставки#
Пользователь с правом CREATE_BASE_RATE нажимает на строку в таблице ставок (и в режиме редактирования, и в режиме просмотра), Система показывает модалку редактирования строки:
- модалка открывается, если есть право CREATE_BASE_RATE
- модалка открывается, если набор в статусе Запланировано
- поля аналогичны полям при добавлении ставки
- заполнены ранее сохраненными значениями
- все поля доступны для редактирования
- модалка не закрывается по клику на фон
Кнопка Удалить
- активна всегда
- При нажатии пользователем на кнопку, система:
- закрывает окно без дополнительных подтверждений
- удаляет строку из БД
- закрывает модалку
- показывает обновленную форму набора базовых ставок
Кнопка Отменить
- аналогична кнопке
Отменитьпри добавлении ставки
Кнопка Сохранить
- аналогична кнопке
Добавитьпри добавлении ставки
Просмотр и редактирование набора ставок#
Режим просмотра набора ставок#
-
Просмотр деталки доступен cм. описание в таблице базовых ставок
-
Деталка набора ставок открывается в режиме просмотра:
- по клику на строке в списке наборов ставок(base_rates_list.md)
- поля не доступны для изменения
- Отображаются кнопки
Редактировать(см. режим редактирования набора ставок})Удалить(см. удаление набора ставок})
Режим редактирования набора ставок#
Кнопка Редактировать в деталке набора ставок
- Отображается:
- пользователям с правом CREATE_BASE_RATE
- если форма в режиме просмотра
- если набор ставок Запланирован
- При нажатии на кнопку:
- становится доступными для изменения поле
Дата начала - отображаются кнопки
ОтменитьиСохранить:
- становится доступными для изменения поле
Кнопка Отменить
- отображается всегда
- При нажатии:
- сбрасывает внесенные изменения в поля набора ставок
- переводит форму в режим просмотра
Кнопка Сохранить
- Активна если изменена
Дата начала - При нажатии пользователем на кнопку, система:
Удаление набора ставок#
Кнопка Удалить
- Отображается в форме просмотра набора базовых ставок:
- пользователям с правом CREATE_BASE_RATE
- если форма в режиме просмотра
- если статус набора ставок "Запланирован"
- При нажатии пользователем на кнопку:
- Система показывает диалоговое окно подтверждение
- Если пользователь подтвердил, система удаляет и заявку и все вложения.
- если пользователь не подтвердил, диалоговое окно закрывается, набор ставок не удаляется
- Система удаляет набор ставок и все его строки из БД.
- обновляет дату окончания у "соседнего" (по дате начала) набора, который был "перед" набором до изменения даты, таким образом, чтоб все интервалы дат начала и окончания в наборах агента следовали непрерывно
Копирование набора ставок#
Кнопка копирования
- отображается пользователю с правом CREATE_BASE_RATE
- доступна во всех статусах
- при наведении мыши отображается подсказка
Скопировать набор - при нажатии на кнопку система показывает диалоговое окно (макет):
-
Дата начала - Аналогично полю дата начала в окне создания
Кнопка Отменить
- отображается и активна всегда
- При нажатии пользователем, система:
- закрывает окно без дополнительных подтверждений
- запись не сохраняется в БД
Кнопка Скопировать
- отображается если заполнена дата
- При нажатии пользователем, система:
- проверяет поле
Дата начала- если есть ошибки подсвечивает их, окно не закрывает, запись не сохраняет.
- сохраняет новый набор в БД.
- копирует все строки из набора в котором была нажата кнопка копирования в новый созданный набор
- показывает деталку нового созданного набора базовых ставок со всеми скопированными строками
- показывает оповещение
- проверяет поле