Копирование заявки#
Пользователи процесса#
Предусловия#
- У пользователя роли CUSTOMER есть права
- SUBMIT_ORDER - для копирования заявки на отправку денег
- EXPORT_SUBMIT_ORDER - для копирования заявки на получение денег
- У пользователя роли CONTRACTOR есть права
- EXPORT_PROCESS_ORDER - для копирования заявки на получение денег
Точки входа#
- Выбрал любую заявку из списка заявок
Варианты завершения#
- В системе создана заявка в статусе DRAFT
Процесс#
Общий вид#
| # | Шаг |
|---|---|
| 1 | Пользователь открывает заявку на просмотр, нажимает кнопку копирования |
| 2 | Система показывает диалоговое окно с запросом подтверждения |
| 2.1 | Если пользователь отказывается, система закрывает диалоговое окно. Конец сценария. |
| 3 | Система копирует открытую заявку |
| 4 | Система закрывает диалоговое окно, над открытой заявкой показывает сообщение об успешном копировании |
Интерфейс#
Кнопка копирования заявки отображается:
- во всех заявках, во всех статусах
- пользователю с правами SUBMIT_ORDER, EXPORT_SUBMIT_ORDER, EXPORT_PROCESS_ORDER,
На кнопке копирования хинт, текст: Скопировать заявку
Диалоговое окно подтверждения копирования:
Во время обработки на кнопке сабмита крутится лоадер, все объекты заблокированы.
После завершения копирования диалоговое окно закрывается, в текущей вкладе отображается новая заявка, и над ней сообщение об успешном копировании
Сохранение новой заявки#
- Очищаются значения:
order.document.files[]order.paymentOrder[]order.document.submittedAtorder.document.verifiedAtorder.document.contractorder.document.reportDateorder.payment.exchangeRate- очищаем, если валюты не равны. Если валюты равны - остается =1order.payment.amountCustomerorder.commission.percentorder.commission.amountCommissionCounterpartyCurrencyorder.commission.amountCommissionCustomerCurrencyorder.commission.amountOperatingCostCounterpartyCurrencyorder.commission.amountOperatingCostCustomerCurrencyorder.commission.exchangeRateNotValidAfterorder.document.dateorder.document.notApprovalCommentorder.document.userEmployeeorder.document.notValidAfterorder.payment.paymentTermorder.subagentorder.subsidiaryorder.subsidiaryBankAccountorder.commission.percentCostorder.isBelowCostorder.cancelledBy
- Заменяются значения
order.status- если копирует пользователь с ролью CUSTOMER, то статус новой заявки = DRAFT
- если копирует пользователь с ролью CONTRACTOR, то статус новой заявки = DRAFT_CONTRACTOR
order.document.userCustomer- заменяем на пользователя, создавшего заявкуorder.document.createdAt- заменяем на текущие дата, времяorder.document.changedAt- заменяем на текущие дата, время
- Пересчитываются блок итоговой информации.md
- Для экспортной заявки дополнительно:
- копируются строки Товаров и услуг
- очищается значение
order.commission.paymentMethod


