Каждая организованная поездка требовала уведомления: сведения о маршруте, автобусах и водителях нужно было собрать из сообщений, таблиц и документов, перенести в DOCX, а затем в форму на государственном сайте. Самым дорогим был не клик, а сверка данных перед ним.

Что было до системы

Когда рейсов несколько, ручной процесс начинает зависеть от памяти человека. В одном месте обновили водителя, в другом осталась старая версия. В форме можно быстро заполнить все поля и всё равно ошибиться в самом важном.

  • Данные приходили в разном формате и в разное время.
  • Для каждой поездки повторялись одни и те же действия.
  • После заполнения было трудно восстановить, что именно отправляли.

Первый рабочий вариант

Я начал с локальных скриптов: они собирали уведомление в DOCX и помогали заполнить браузерную форму. Это сняло часть рутины, но у скрипта не было единого состояния поездки. Каждый следующий батч снова требовал ручной сверки исходных данных.

Автоматическое заполнение полезно только тогда, когда понятно, какие данные оно заполняет и кто их подтвердил.

Когда понадобилась система

В черновике процесса был шаг «запускать всё сразу». На практике задачи удобнее ставить в очередь, а неоднозначные поля возвращать на уточнение. Так появился Buscript: одна запись поездки, кандидаты на значения полей, вопросы по недостающим деталям, генерация документа и браузерный worker.

  1. 01
    Собрать

    Извлечь сведения из сообщений и документов в одну запись поездки.

  2. 02
    Проверить

    Показать сомнительные и недостающие поля человеку.

  3. 03
    Подготовить

    Создать уведомление и поставить заполнение формы в очередь.

  4. 04
    Подтвердить

    Сохранить результат и оставить финальный шаг ответственному сотруднику.

Граница автоматизации

Браузерный исполнитель может ввести данные и сохранить подтверждения. Но если источник противоречит другому источнику, система не должна угадывать. Перед подачей остаётся явное подтверждение человеком. Это не побочная проверка, а часть продукта.

Вывод для меня: сначала нужно сделать данные поездки понятными и проверяемыми. Ускорение формы имеет смысл уже после этого.

Неочевидная часть работы

Самый полезный экран — не форма отправки, а список вопросов по тем полям, в которых система не уверена.

Ещё по темеКод и архитектура ↗Разбор проекта ↗