Курсы валют#
Пользователи процесса#
- пользователь с ролью AGENT - загрузка курсов валют из Excel
- пользователь с ролью CONTRACTOR, PARTNER, OBSERVER, COMPLIANCE - просмотр
Точки входа#
- пункт
Справочник->Курсы валютв меню приложения. Отображается пользователю с правом VIEW_EXCHANGE_RATE_ALL или VIEW_EXCHANGE_RATE
Интерфейс#
Таблица курсов#
| Поле таблицы | Атрибут объекта |
|---|---|
| Агент | exchangeRate.agent.fullName |
| Курс | 1 {exchangeRate.firstCurrency} = {exchangeRate.exchangeRate} {exchangeRate.secondCurrency} |
- таблица отображается с пагинацией
- записи отсортированы
- по полю Агент
agent.fullName, по алфавиту - потом по полю
exchangeRate.firstCurrency, по алфавиту - потом по полю
exchangeRate.secondCurrency, по алфавиту
- по полю Агент
- пользователь с правом VIEW_EXCHANGE_RATE_ALL видит все записи
- пользователь с правом VIEW_EXCHANGE_RATE:
- с ролью AGENT - видит только свои записи (в которых
exchangeRate.agentсовпадает с агентом, связанным с пользователем)
- с ролью AGENT - видит только свои записи (в которых
Состояние "Нет ни одной записи"#
[Макет]https://www.figma.com/design/PjSXrXTC4uJj65iYXOcgkR/SPA-%E2%80%93-%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8?node-id=6390-115987&t=5dIBAKLufGNrAzRr-4)
- Если таблице еще нет ни одной записи, вместо таблицы отображается страница "Курсов валют пока нет" и кнопка загрузки
- Если нет прав для загрузки, то надпись
Загрузите таблицу Excel. Максимальный размер 10Mb.не отображается
Загрузка курсов из файла#
Кнопка загрузки курсов отображается пользователю с правом UPLOAD_EXCHANGE_RATE
При нажатии на кнопку отображается диалоговое окно загрузки файла с курсами
Загрузка курсов из файла#
Ссылка Скачать шаблон.
При нажатии на ссылку скачивается шаблон exchange_rates.xlsx на устройство пользователя.
Поле Агент
- Отображается пользователю с правом UPLOAD_EXCHANGE_RATE_AGENT_SELECTION
- В выпадашке список всех активных агентов
Кнопка Загрузить
- Отображается если файл ещё не был выбран или уже был удален пользователем
- При нажатии на кнопку:
- пользователь выбирает файл. Может выбрать только файлы XLSX, не более 10MB.
Кнопка Удалить выбранный файл
- Отображается если файл выбран и проверен
- при нажатии на кнопку название выбранного файла скрывается, показывается кнопка
Загрузить
Кнопка Отмена
- активна всегда
- при нажатии форма закрывается, курсы валют не сохраняются
Кнопка Сохранить
- активна если
- выбранный файл прошел проверки, и система не обнаружила ошибки
- Заполнено поле
Агент(если поле отображается пользователю)
- при нажатии пользователем на кнопку, система:
- во время обработки отображает лоадер, все кнопки и ссылки неактивны
- построчно выполняет проверки файла. При нахождении первый ошибочной строки, показывает сообщение пользователю, все остальные строки не проверяет:
- должно быть только три колонки. Если проверка не выполняется, показывает сообщение:
Таблица должна содержать 3 колонки - должны быть заполнены все три колонки. Если проверка не выполняется, показывает сообщение:
Таблица содержит пустые ячейки - указанная валюта должна быть в системе в справочнике. Если проверка не выполняется, показывает сообщение:
Валюта {код_валюты_из_файла} не найдена в системе - значение курса - число, больше 0, целое или дробное, максимум 4 знака после запятой. Если проверка не выполняется,
показывает сообщение:
Числа должны быть целыми или дробными, больше нуля, макс. 4 знака после запятой - пара валют должна быть уникальна,
- при этом, если в двух разных строках одни и те же валюты указаны в разных столбцах (например в первой строке
USD/RUB, а во второй порядок обратныйRUB/USD), такое не является ошибкой и может быть загружено двумя строками. - если проверка не выполняется, показывает сообщение:
Пара {код_валюты_1_из_файла}/{код_валюты_2_из_файла} дублируется
- при этом, если в двух разных строках одни и те же валюты указаны в разных столбцах (например в первой строке
- Валюты в двух столбцах должны быть разные. Если проверка не выполняется, показывает сообщение:
Валюты в строке дублируются - при всех остальных неудачных проверках файла, показывает стандартную системную ошибку на диалоговом окне.
- если в файле нет ни одной заполненной строки - это не ошибка, это возможность пользователю удалить все курсы.
- должно быть только три колонки. Если проверка не выполняется, показывает сообщение:
- удаляет все курсы агента, связанного с пользователем, выполняющим загрузку (у которых
exchangeRate.agentсовпадает с агентом, связанным с пользователем) - сохраняет курсы валют из файла. Если строк в файле нет - справочник для агента остается пустой.
exchangeRate.agent:- если пользователем отображается поле
Агент, то указанный пользователем - если не отображается, то агент, связанный с пользователем выполняющим загрузку
- если пользователем отображается поле
exchangeRate.firstCurrency- из первой колонки файлаexchangeRate.secondCurrency- из второй колонки файлаexchangeRate.exchangeRate- из третьей колонки файла
- закрывает диалоговое окно
- показывает обновленную таблицу курсов. Если строк в файле нет - показывает состояние Нет ни одной записи
- показывает оповещение
Курсы загружены - загруженный файл система не сохраняет