Форма заявки на получение денег#
Интерфейс#
Макеты с минимальным и максимальным наполнением см. с Figma
Ссылка возврата на список Заявок#
Аналогично заявке на отправку денег
Статус заявки#
Названия статусов и текста хинтов к ним, см. в таблице
Заголовок#
Аналогично заявке на отправку денег
Группа полей Платеж#
- Сумма
- Атрибут объекта:
order.payment.amountCounterparty
- аналогично заявке на отправку денег
- подсказка под полем:
Сколько денег и в какой валюте поступит агенту
- Валюта отправителя
- Атрибут объекта:
order.payment.currencyCounterparty
- аналогично заявке на отправку денег
- лейбл:
Валюта отправителя
- Валюта получателя
- Атрибут объекта:
order.payment.currencyCustomer
- лейбл:
Валюта получателя - подсказка под полем:
Валюта в которой агент отправит деньги получателю
- Банк получателя
- Атрибут объекта:
order.payment.bankCustomer(в заявке на отправку денег:order.payment.bank)
- обязательное
- максимальная длина 250 символов
- выбор из локального справочника российских банков
- работа поля аналогична полю
Банкв форме приглашения клиента - лейбл
Банк получателя
- Номер счета
- Атрибут объекта:
order.payment.accountNumberCustomer
- Обязательно к заполнению.
- Маска ввода и максимальная длина - строго 20 цифр
- текст хинта и ошибки:
Укажите 20 цифр номера счёта
- Способ оплаты комиссии
- Атрибут объекта:
order.commission.paymentMethod
- Обязательно к заполнению
- Выбор из списка:
PART_PAYMENT-В составе платежа, описание:Комиссия удерживается агентом из суммы платежаSEPARATE_PAYMENT-Отдельно от платежа, описание:Клиент переводит сумму комиссии агенту отдельным платежом
Группа полей Отправитель#
- Лэйбл группы полей:
Отправитель - Поля
Название,Страна,Адрес,Сайтаналогично заявке на отправку денег
- Банк отправителя
- Атрибут объекта:
order.payment.bank
- обязательное
- максимальная длина 200 символов
- выбор из локального справочника SWIFT:
- пользователь вводит в поле код SWIFT, название банка или их часть
- система отображает подсказку для выбора банка из локального справочника SWIFT.Отображается список из 5 первых найденных банков, у которых код SWIFT или название содержат введённое значение
- пользователь выбирает из предложенного списка нужный банк
- система отображает в поле наименование выбранного банка и под ним SWIFT банка
- лейбл:
Банк отправителя
- Номер счета
- Атрибут объекта:
order.payment.accountNumber
- обязательное
- инпут, строка, максимум 50 символов
- разрешены для ввода только цифры и латиница
- текст хинта и ошибки:
Может содержать только цифры и латинские буквы - если пользователь вводит буквы в нижнем регистре, система приводит их к верхнему и в поле всегда отображает только в врхнем регистре
Группа полей Основание платежа#
- В заявке на получение денег должен быть указан
- Инвойс - обязательно
- Контракт - необязательно, но если указан, то должны быть заполнены и Дата и Номер.
- остальные поля из заявки на отправку денег отсутствуют
- Если контракт указан, то дата инвойса не может быть ранее даты контракта
- Дата (контакта)
- Атрибут объекта:
order.additionalinfo.documentDate
- обязательное если заполнена номер контракта, иначе - необязательное
- инпут, дата
- не может быть позднее текущего дня
- минимальное значение 01.01.1900
- Номер (контакта)
- Атрибут объекта:
order.additionalinfo.documentNum
- обязательное если заполнена дата контракта, иначе - необязательное
- инпут, строка, максимум 100 символов
- разрешены для ввода все символы кроме кириллицы
- текст хинта:
Заполните на английском языке
- Дата (Инвойса)
- Атрибут объекта:
order.additionalinfo.invoiceDate
- обязательное
- инпут, дата
- не может быть позднее текущего дня
- минимальное значение 01.01.1900
- Номер (Инвойса)
- Атрибут объекта:
order.additionalinfo.invoiceNum
- обязательное
- инпут, строка, максимум 100 символов
- разрешены для ввода только латиница, цифры, пробел, точка и запятая
- текст хинта и ошибки:
Заполните на английском языке. Можно использовать латинские буквы, цифры, точку и запятую
Группа полей Товары и услуги#
- Комментарий (Добавьте коменнтарий для вывода в печатную форму инвойса)
- Атрибут объекта:
order.additionalInfo.commentForInvoice
- не обязательное
- разрешены для ввода все символы кроме кириллицы
- текст хинта :
Заполните на английском языке - максимальное количество знаком 2000
- при вводе текста под полем отображается счетчик
{введено}/2000
Таблица товаров и услуг#
- В группе отображается таблица товаров и услуг
order.specification[] - Если строк нет, таблица не отображается
- Строки в таблице сортируются по дате добавления
order.specification[].createdAt
- Наименование
- Атрибут объекта:
order.specification[].name - Кол-во
- Атрибут объекта:
order.specification[].quantity
- число, 4 знака после запятой
- разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- Цена за ед.
- Атрибут объекта:
- значение
order.specification[].price- число, 2 знака после запятой
- разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- валюта
order.payment.currencyCounterparty- если в заявке изменили валюту, она должна обновиться и в строках таблицы
- Сумма.
- Атрибут объекта:
- значение
order.specification[].amount- число
- разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- рассчитывается системой при добавлении или редактировании строки =
order.specification[].price * order.specification[].amount. Результат округляется до 2 знаков по правилам математики.
- валюта
order.payment.currencyCounterparty
Добавление товаров и услуг#
- Кнопка
+ Добавитьактивна в режиме редактирования (статусы где можно добавлять строки см в таблице) - При нажатии на кнопку открывается диалоговое окно с полями для ввода:
- Наименование
- Атрибут объекта:
order.specification[].name
- обязательное
- инпут, строка, максимум 250 символов
- разрешены для ввода любые символы кроме кириллицы
- Кол-во
- Атрибут объекта:
order.specification[].quantity
- обязательное
- инпут
- число
- минимальное значение - 0,0001
- максимальное значение - 99 999 999 999,9999
- разделитель групп разрядов - пробел
- десятичный разделитель - запятая
- 4 знака дробной части отображаются всегда:
- если пользователь вводит целое число, система добавляет в поле
,0000. Например: введено123456, отображается123 456,0000 - если пользователь вводит число одним заком поле запятой, система добавляет
0. Например: введено123456,3, отображается123 456,3000 - если пользователь вводит точку для разделения дробной части, система заменяет точку на запятую. Например: введено
123456.3, отображается123 456,3000 - Ссылка на пример (в примере нет добавления
,0000)
- если пользователь вводит целое число, система добавляет в поле
- при вставке в поле значения из буфера, значение вставляется только если его формат соответствует требованиям
- Цена за ед.
- Атрибут объекта:
-
значение
order.specification[].price- обязательное
- инпут
- число
- минимальное значение - 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.payment.currencyCounterparty- недоступно для изменения
- не отображается если в заявке поле не заполнено
- если в заявке изменили валюту, она должна обновиться и в окне добавления
-
Кнопка
Отменить - При нажатии пользователем на кнопку, система:
- закрывает окно без дополнительных подтверждений
- запись в таблицу не добавляется
-
Кнопка
Добавить - При нажатии пользователем на кнопку, система:
- проверяет что все поля заполнены. Если есть не заполненные поля, подсвечивает их красным.
- закрывает окно, показывает новую строку в таблице, сохраняет в БД.
- кроме введённых пользователем значений сохраняет
order.specification[].createdAt= текущие дата и время.
Редактирование и удаление товаров и услуг#
Пользователь нажимает на строку с товаром в таблице в режиме редактирования заявки, Система показывает диалоговое окно редактирования строки:
- поля аналогичны полям при добавлении строки, заполнены ранее сохраненными значениями, все доступны для редактирования
-
Кнопка
Удалить - При нажатии пользователем на кнопку, система:
- закрывает окно без дополнительных подтверждений
- удаляет строку из таблицы, удаляет в БД.
-
Кнопка
Отменить - При нажатии пользователем на кнопку, система:
- закрывает окно без дополнительных подтверждений
- изменения, внесенные в диалоговом окне не сохраняются
-
Кнопка
Сохранить - При нажатии пользователем на кнопку, система:
- закрывает окно без дополнительных подтверждений
- отображает в строке таблицы внесенные изменения, сохраняет в БД.
Группа полей Агентское вознаграждение#
- Комиссия %
- Атрибут объекта
order.commission.percent
Аналогично заявке на отправку денег - минимальное значение - 0,00 - максимальное значение - 100,00
- Накладные расходы
- Атрибут объекта
order.commission.amountOperatingCostCounterpartyCurrency
Аналогично заявке на отправку денег
- Значение по-умолчанию 0 заполняется при создании новой заявки
- исполнителем в статусе
DRAFT_CONTRACTOR - клиентом в статусе
DRAFT
- исполнителем в статусе
- Курс
- Атрибут объекта
order.commission.exchangeRate
Аналогично заявке на отправку денег
- Действует до
- Атрибут объекта
order.commission.exchangeRateNotValidAfter(срок действия курса)
Аналогично заявке на отправку денег
- Заполняется автоматически При изменении значения поля Курс значением равным {текущее дата-время} + SPA_EXPORT_EXCHANGE_RATE_VALIDITY_PERIOD_MINUTES
- Договор
- Атрибут объекта
order.contract
Аналогично заявке на отправку денег
Просмотр и редактирование заявки#
Режим просмотра заявки#
Просмотр заявки и отображение заявки в списке заявок доступен всем пользователям с правами
- Пользователь с правом VIEW_ORDER
- ролью CUSTOMER видит только "свои" заявки, у которых клиент
order.document.customerсвязан с пользователем - ролью AGENT видит только "свои" заявки, у которых агент
order.contract.document.agent- соответствуют пользователю - ролью PARTNER видит только заявки "своих" клиентов (у которых в карточке указан тот же партнёр, с которым связан пользователь-партнёр)
- ролью CUSTOMER видит только "свои" заявки, у которых клиент
- Пользователь с правом VIEW_ORDER_ALL видит все заявки
Видимость заявок в зависимости от статуса и роли см. в таблице
Режим редактирования заявки#
- Для перехода в режим редактирования пользователь нажимает кнопку
Редактировать. Видимость кнопки редактирования в зависимости от прав и статуса см. в таблице - Доступные для редактирования группы и поля в зависимости от статуса см. в таблице
- В режиме редактирования отображаются кнопки
ОтменитьиСохранить:Сохранитьстановится доступна только после изменения значения полей заявки.- при нажатии
Сохранитьсистема сохраняет заявку в БД, возвращает форму в режим просмотра - при нажатии
Отменить, система сбрасывает изменения и возвращает форму в режим просмотра