Задача:
сделать интерфейс в одно окно в котором пользователь может создавать платежку на оплату и отправлять в банк.
Решение:
- в системе хранится таблица со всеми бывшими платежами
- сотрудник должен иметь возможность создать платежку двумя способами:
1. заполнить полностью все поля
2. найти среди бывших платежей контрагента, сделать копию и поправить нужные поля
- по готовности нажать кнопку отправить и платежка уходит в банк
Реализация Mysql + PHP или Perl (скрипт для web сервера)
Вы делаете у себя на тестовом стенде, мы переносим к себе на сервер и отлаживаем. Доступ на сервер предоставить не получится.
Если на php желательно сделать в одной папке, чтобы мы у себя просто доступ к базе поменяли и все заработало;)
В базе есть таблица со списком всех контрагентов tinkoff_bills,данные туда периодически выгружаются. Это уже работает, для данного ТЗ считаем что данные уже есть. В файле есть структура таблицы с примером данных. tinkoff_bills.sql
Доступ к интерфейсу проверяется по наличию и значению Cookie intros и далее проверка в таблице work_employee.sql(дамп приложен) по наличию пользователя с таким intros и id_roles=1. Если все ок, то есть доступ и к просмотру и созданию платежей. В противном случае просто запись, Доступа нет, предварительно войдите в CRM.
Вход осуществляется в отдельной системе, для данного ТЗ роли не играет. Здесь только проверка заданных условий.
Как отправлять платежи в банк:
Ключ для отладки(Необходимо согласие пользователя на: "Доступ к созданию черновиков платежных поручений") предоставлю исполнителю.
Также приложен скрипт-пример как мы получаем платежи в базу этим же API на Perl, может будет полезно. файл tinkoff.pl
Как визуально вижу интерфейс
Таблица пример есть в подробном ТЗ в конце описания
Таблица со списком контрагентов(tinkoff_bills), допустим выводит последние 30
Вторая строчка это фильтр, мы можем как полностью ввести значение, так и часть, при нажатии кнопки Искать список обновляется с учетом значений фильтра.
Кнопка Копировать берет значения из указанной платежки(в нашей таблице tinkoff_bills) и переносит нас в форму создания платежа с уже заполненными значениями, там пользователь может поправить значения любые.
Кнопка Создать платеж открывает нам пустую форму создания платежа.
После отправки формы, если ошибок нет, появляется сообщение, что отправлено успешно и вносится запись в базу tinkoff_bills с полем status=0 значит черновик, но его уже видно в таблице.
Если же есть ошибки мы остаёмся в форме и отображается сообщение об ошибке. Чтобы была возможность не перезаполняя форму тут же отправить.
Форма платежа содержит просто список полей, необходимых для отправки.
Вот так она выглядит в самом банке, не нужные поля для заполнения зачеркнул(по умолчанию заполняются при передаче платежки)
ТЗ подробно: