Перейти к содержанию

Форма заявки на получение денег#

Интерфейс#

Макеты с минимальным и максимальным наполнением см. с 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 видит только заявки "своих" клиентов (у которых в карточке указан тот же партнёр, с которым связан пользователь-партнёр)
  • Пользователь с правом VIEW_ORDER_ALL видит все заявки

Видимость заявок в зависимости от статуса и роли см. в таблице

Режим редактирования заявки#

  • Для перехода в режим редактирования пользователь нажимает кнопку Редактировать. Видимость кнопки редактирования в зависимости от прав и статуса см. в таблице
  • Доступные для редактирования группы и поля в зависимости от статуса см. в таблице
  • В режиме редактирования отображаются кнопки Отменить и Сохранить:
    • Сохранить становится доступна только после изменения значения полей заявки.
    • при нажатии Сохранить система сохраняет заявку в БД, возвращает форму в режим просмотра
    • при нажатии Отменить, система сбрасывает изменения и возвращает форму в режим просмотра