
Рабочий процесс, в котором документ проходит через несколько участников
Транспортная накладная связана с перевозкой, компаниями, водителем, автомобилем и грузом. Участникам нужны разные действия: кто-то заполняет сведения, кто-то подписывает свою часть, кто-то отслеживает состояние документа.
Задача веб-интерфейса — связать эти действия в понятный процесс. Пользователь должен видеть, с какой организацией и ролью работает, какие данные уже заполнены и какое действие доступно следующим.
Начать с перевозки и перейти к связанным накладным
Реализовали создание и редактирование перевозки: сведения об участниках, пункте погрузки, грузополучателе и грузе. Формы связаны со справочниками и серверными данными, а сохранение проходит клиентскую проверку заполнения.
К перевозке добавляются накладные. Создание документа разделено на два шага: сначала выбирается перевозчик, затем заполняются реквизиты, время, сопроводительные сведения, водитель, автомобиль, прицепы и масса груза. После сохранения можно закрыть форму или сразу перейти к следующей накладной.
Понять состояние документов без просмотра каждого по очереди
Общий реестр накладных включает категории «Все», «На подпись», «Ошибки» и «На наблюдении». Фильтры и постраничная навигация помогают найти нужный документ и выделить записи, которые требуют внимания.
Из реестра пользователь переходит к подробностям накладной. В карточке отображаются сведения перевозки, текущие состояния и история изменений отдельных полей, полученная от API. Предыдущие значения помогают разобраться, какие данные менялись.
Учитывать компанию и роль участника
В интерфейсе учитываются грузоотправитель, грузополучатель, перевозчик, водитель и сотрудники. Выбранная организация, роль и права из API влияют на доступность действий с документами.
Для работы предусмотрены профили компаний, сотрудники и справочные сведения о водителях и транспорте. К перевозке можно подключать наблюдателей. Это доступ к связанным документам и их состояниям, а не слежение за местоположением автомобиля.
Подписание — отдельный управляемый сценарий
Реализовали интеграцию с КриптоПро и Рутокеном. Пользователь выбирает сертификат и проходит проверки готовности. Клиент получает XML от API, вызывает установленный криптоплагин и передаёт документ вместе с подписью обратно на сервер.
Интерфейс показывает этапы: получение XML, проверка сертификата, подписание и отправка. Предусмотрены запрос PIN и сообщения об отсутствии плагина, недоступном сертификате, ошибках подписи или соединения.
Для нескольких накладных реализовано последовательное массовое подписание. Прогресс и ошибки отображаются по отдельным документам, а состояния операции обновляются по ответам API.
Работать с пакетом документов и видеть готовность файлов
Вместо отдельных запросов для каждой накладной пользователь может выбрать несколько записей и запросить пакет PDF или QR-кодов. Раздел загрузок показывает состояние подготовки и позволяет получить готовые файлы.
Веб-клиент связан с серверной очередью операций: он отображает подготовку, доступность скачивания и ошибки. Такой интерфейс важен в ежедневной работе с большим списком документов, когда подготовка файла занимает время.
Реализовали веб-часть процесса от перевозки до подписи и файлов
В одном интерфейсе связаны формы перевозки и накладной, роли участников, реестры, история изменений, криптоплагины и операции с файлами. Пользователь видит не только данные документа, но и его текущее состояние и доступные действия.
Этот кейс показывает наш опыт в разработке сложных рабочих систем: многошаговые формы, права доступа, интеграция с серверным API и локальным программным обеспечением, длительные операции и обработка ошибок.
ТЕХНОЛОГИИ
Нужно связать документы и рабочий процесс?
Расскажите, какие документы проходят через ваш бизнес, кто с ними работает и где возникают сложности. Определим состав системы и интеграций, согласуем этапы и способ проверки результата.