Мурманск
Ваш город Москва?
Да
Нет
Войти в личный кабинет

Интеграция системы мониторинга транспорта и терминала путевых листов глазами разработчика

Рассказ программиста о том, как автоматизировать получение данных спутникового мониторинга транспорта в 1С с возможностью распечатки информации на терминале путевых листов.
На нашем сайте не раз появлялись материалы, посвященные ИТ-решениям для транспорта и логистики, особенностям учётной политики автопарков и работе с путевыми листами. Однако в наших статьях не всегда хватает практических примеров. Вовсе не потому, что нет проектов (их как раз очень много), а вследствие того, что достаточно сложно убедить заказчиков и интеграторов потратить время на рассказы о своих успехах. Поэтому мы ценим каждую возможность поделиться реальными историями внедрения системы «АвтоГРАФ» и примерами её интеграции с другими решениями для управления транспортом.

Недавно мы обратили внимание на очень интересный кейс, который представил на сайте Infostart.ru Дмитрий Котов, профессиональный разработчик 1С из Иркутска. С разрешения автора мы приводим его статью с иллюстрациями, пояснениями и ссылками. Также хотим напомнить, что если у вас есть свои показательные проекты, мы готовы рассмотреть возможность их публикации на Glonassgps.com – просто сообщите нам об этом любым удобным способом.
Дмитрий Котов
В публикации рассказана история разработки автоматизированного рабочего места для взаимодействия пользователей, не знающих «1С», но вынужденных работать в информационной системе.

Разработка является первой версией запущенного прикладного решения. По традиции принимаются замечания и советы.

Проблема

У кого-то автоматизация, а у кого-то оптимизация расходов. Так и на этом предприятии. Оптимизировали, оптимизировали и выоптимизировали. Совмещения?! Нужно больше совмещений! В результате в информационной системе транспортного отдела, построенной на прикладном решении «РАРУС:УАТ» второй версии, остался работать один сотрудник на стандартной пятидневке. При этом вы сидите? Сядьте! Все водители работают по сменному графику всю неделю. Забавно? Нет! Забыл добавить, что диспетчер (тот единственный «специалист») работает с 08:00 до 17:00 часов, а водители приходят на два часа раньше и возвращаются, как минимум, на три часа позже. Фактически диспетчер и водитель никогда не пересекаются. Многие водители стали возвращать путевые листы в конце месяца пачкой. Данный хаос всех устраивал, кроме бухгалтерии, которой нужен был безошибочный учёт ГСМ и своевременный возврат путевых листов.

Задача

Проанализировать бизнес-процесс по движению путевых листов и предложить вариант решения сложившейся проблемы по несвоевременному расчёту путевых листов в системе «РАРУС:УАТ». Уйти от показателей одометра, перейти на учёт показателей системы спутникового мониторинга и автоматизировать получение данных в учётную систему.

Терминал путевых листов

Первое что приходит в голову – внедрить готовое решение, «Терминал путевых листов». В момент приобретения прикладного решения «РАРУС:УАТ» в презентациях не совсем информативно был описан процесс работы с терминалами. Помимо терминала также необходимо связать систему «РАРУС:УАТ» с системой мониторинга «АвтоГРАФ» четвертой версии. Технология интеграции в прикладном решении от компании «РАРУС» была построена на обмене через OLE, ещё и через отдельную утилиту, за которой нужен глаз да глаз.

В результате мы получим независимый интерфейс, с помощью которого водитель может взаимодействовать с системой «РАРУС:УАТ», самостоятельно получать и сдавать путевые листы. Это полностью решает проблему всей задачи.

Выбор терминала

Изобретать велосипед не будем, пойдём и купим. Проанализировал рынок, терминалов было много, и все, с заявления производителей, интегрируются с «РАРУС:УАТ» второй версии. Круто? Круто! Удалось собрать три коммерческих предложения. Средняя цена одного терминала – 200 000 рублей. Настораживало только магическое слово «интеграция»: будет ли она такой простой на практике? Коммерческие предложения были взяты на рассмотрение, а тем временем…

Хаос

На руку или нет, но к проблеме неожиданно были привлечены специалисты: программист-разработчик и главный диспетчер из другого «дружественного» предприятия. Напомню, творился полный хаос, поэтому в обход меня привлекли меня же. Так бывает – было забавно и смешно. Управленец очень сильно огорчился, что не смог свалить проблему «хаоса» на программиста и программу. Но был и плюс: к проблеме удалось подключить опытного второго специалиста – главного диспетчера.

Парень толковый, чуть постарше меня, быстро с ним нашли общий язык. Отличительная черта – быстрое решение проблем. Важный момент: парень являлся начальником своего департамента и имел хорошие рычаги давления. Мне это сначала очень понравилось, так как возня на месте стала обрастать растягиванием сроков. Имея опыт, главный диспетчер быстро заставил перейти на новую версию системы мониторинга «АвтоГРАФ», объяснив, что пятая версия ведёт более точный расчёт пробега и расхода топлива. Кто с ним поспорит? Он авторитет. Тем более, его направление уже год работает на свежем «АвтоГРАФ», и система закрепила за собой более стабильный показатель.

АвтоГРАФ 5

«АвтоГРАФ 4» умер, да здравствует «АвтоГРАФ 5»! После обновления спутниковой системы мониторинга уже было не до терминалов, мы потеряли основу – интеграцию с «РАРУС:УАТ». После длительной переписки с разработчиками компании «РАРУС» и анализом программного кода выяснил, что разработки были начаты и резко закончены безрезультатно. Весь программный код закомментирован, интерфейсная часть скрыта. От компании «РАРУС» удалось получить категоричное «нет и не будет».

Пишем свою интеграцию. Опыт у нашего холдинга, как выяснилось, уже был, правда, создатель первоисточника уже давно не работает у нас. Остальные пожимали плечами и типа «сам разбирайся». Интеграция была реализована для «РАРУС:УАТ» первой версии. Разобрался. Выяснилась хорошая новость: у «АвтоГРАФ» есть HTTP-сервер, все полезные ссылки – в конце публикации.

Есть два варианта использования веб-сервиса. Первый вариант: когда сервер «АвтоГРАФ» установлен в вашей локальной сети. Второй вариант: когда вы пользуетесь услугами провайдера. Провайдер, в свою очередь, предоставляет вам доступ к его серверу.

Ранее на нашем предприятии был реализован первый вариант с парсингом XML-файла, возвращаемого по HTTP-запросу – GetTrips. Нужно было реализовать второй вариант со службой AGDataLoader. Неожиданный момент: возвращаемые XML-схемы оказались разные, смотрите скриншот ниже. Изменения незначительные, но любопытный факт.
Важный нюанс, что для сервера, что для службы: нужно писать разные запросы.

Пример запроса к серверу:


http://<ИмяСервера>:<Порт>/GetTrips/<ИмяСхемы>/<ИдентификаторТС>/<ДатаНачала>/<ДатаОкончания>/0

Пример запроса к службе:


http://<ИмяСервера>:<Порт>/GetTrips/<ИмяСхемы>/<ИдентификаторТС>/<ДатаНачала>/<ДатаОкончания>/0/*/*
Вся соль в«/*/*» – в конце одного запроса и в отсутствии их в конце другого, без них и с ними запрос работать не будет, в том или ином варианте. Понятно, немного разный алгоритм парсинга и формирования строки запроса.

Интеграция разработана и запущена. В конфигурацию добавлен интерфейс настройки интеграции. Также полученные данные хранятся прямо в путевом листе. Ниже – скриншоты разработанной интерфейсной части.

Свой проект «Терминал путевых листов»

Разработали интеграцию, разработаем и терминал. Теперь готовые решения не подходили. Во-первых, слишком сложный юзабилити. Во-вторых, будут ли они работать с «АвтоГРАФ 5» – неизвестно. В-третьих, спортивный интерес применить на практике сенсорный интерфейс с новым режимом «киоск».
Был разработан проект. Подготовлена презентация для бизнеса с описанием подробного бизнес-процесса взаимодействия диспетчера и водителя через терминал путевых листов в системе «РАРУС:УАТ». Топ-менеджмент согласовал.

Ожидание

Требования к разработке интерфейсной части терминала – это простота использования.

Небольшая ремарка. На тот момент я ещё не был в курсе об аналогичном проекте от компании «РАРУС», которые начали разработку, но как-то мы это не увидели. Главная причина – отсутствие необходимости обновлять конфигурацию «РАРУС:УАТ».

Интерфейс предполагался простой. Авторизация пользователя не требуется. Кнопки должны быть размером с кулак, так как именно такого размера пальцы у настоящих мужиков – водителей большегрузов. Один раз услышал прекрасную фразу-требование к юзабилити: «Чтобы могла разобраться моя бабушка». Это был тот случай.
Были выделены два бизнес-процесса: «Получить» и «Сдать». Бизнес-процесс «Получить» состоял из нескольких этапов: «выбор водителя», «выбор путевого листа», «ознакомление и печать». Бизнес-процесс «Сдать» состоял из этапов: «отсканировать ПЛ», «определиться, были заправки или нет», «если были заправки, внести итоговое количество ГСМ», «скорректировать дату возвращения», «подтвердить сводную информацию».

Реальность

При разработке использован режим запуска «киоск». В этом режиме пользователь видит непосредственно только область обработки формы, пользователю даже недоступна возможность закрыть программу, что в нашем случае необходимо. Более подробно об этих режимах вы можете прочитать здесь.

Функционал запуска определяется из режима предприятия, поэтому заведён отдельный регистр сведений и написан небольшой кусок кода в расширении:
&После("ПередНачаломРаботыСистемы")
Процедура прПередНачаломРаботыСистемы(Отказ)
            //(Н) Котов Дмитрий Вадимович 09.04.2018
            //Включение режима киоск при необходимости        
            Если прСервис.РежимКиоска() Тогда         КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.Киоск);
            КонецЕсли;
            //(К) Котов Дмитрий Вадимович 09.04.2018     
КонецПроцедуры
В результате опытной эксплуатации интерфейс корректировался и подгонялся под сенсорный экран. Был добавлен и третий бизнес-процесс «Получить путевой лист на завтра». Необходимость нового путевого листа была вызвана тем, чтобы при сдаче текущего водитель мог получить путевой лист на завтрашней рейс и утром не тратить на это время.
Главная страница (слайд)
Тут всё просто, три кнопки «размером с кулак».

Когда вы подойдёте к сенсорному экрану терминала путевых листов, я думаю, у вас не возникнет проблем с выбором действий.
Получить путевой лист
При выборе пунктов «получить на сегодня» или «получить на завтра», откроется список водителей, по которым предварительно в систему были заведены путевые листы с заданиями.
Выбрав себя, водитель интуитивно поймёт, что ему нужно нажать кнопку «Далее». Затем откроется схожий слайд, на котором отображаются доступные путевые листы по водителю.
Последний слайд бизнес-процесса «Выдача путевого листа на терминале» заканчивается сводной информацией о том, что именно собирается распечатать водитель.

Стоит отметить, что если предыдущий путевой лист в системе не рассчитан, водитель будет об этом уведомлён. По регламенту он обязан связаться с диспетчером в рабочее время для уточнения действий. Например, у него не получится распечатать путевой лист на завтра, не закрыв сегодняшний.
И, наконец, слайд об успешной печати. На этом бизнес-процесс по выдаче путевого листа завершается.
Сдать путевой лист
Штрих-кодирование путевых листов включено именно для использования функционала совместно с терминалом путевых листов. Поэтому первый и единственный способ идентификации путевого листа – это его сканирование. Возможно, стоит добавить ручной ввод, но слишком велика вероятность человеческого фактора, который повлечёт ряд ошибок в системе. Поэтому на текущий момент ручной ввод штрих-кода не предусмотрен.
По штрих-коду терминал найдёт путевой лист в системе и выведет слайд с вопросом о заправках. Иначе при сканировании чего-либо другого будет выведен слайд ошибки.
При подтверждении заправки водителю необходимо ввести сумму заправленного топлива. Почему сумма? Потому что терминал разработан под специфику данного предприятия и имеет максимальное упрощение. Будем иметь в виду, что заправляемся только на одной заправке у одного поставщика.
Следующий слайд – корректировка времени прибытия. Естественно, подгружается текущая дата сервера, но если водителю необходимо скорректировать минуты или часы, он может в несколько кликов совершенно интуитивно понять, как это сделать. Данный механизм из терминала я выкладывал в публикации, где помимо используемого в терминале алгоритма ещё добавлен алгоритм масштаба. Опять же, стоит заметить, что оптимально механизм подходит именно для сенсорных экранов и «особых» пользователей.
Завершающий слайд. Самый смак: после нажатия кнопки «Подтвердить…» в информационной системе «РАРУС:УАТ» начинает происходить магия. Путевой лист заполняется показаниями, скорректированными водителем (заправки, дата возвращения), затем происходит интеграция с «АвтоГРАФ 5» (подгружаются показания: топлива, пробега и др.) и происходит расчёт с проведением путевого листа.
Корпус
Некое понимание, как должна выглядеть тумба, было таким. Из материала ЛДПС на заказ... Но так как за данную часть уже отвечал не я, рекомендации не были приняты – и получилось, что получилось.

Путевой лист

По требованию бухгалтерии была доработана стандартная форма путевого листа. После принятия к учёту показаний из системы спутникового мониторинга была добавлена колонка «Пробег», куда вписывается пробег транспортного средства, выбранного диспетчером. В свою очередь, показания одометра теперь несут строго информативный характер и заполняются водителем. По второй задаче было проставлено огромное количество прочерков («---»). Путевой лист утверждён и используется на предприятии.
Другие скриншоты типового решения «РАРУС:УАТ» – Терминал путевых листов

Резюме

Задача, поставленная руководителем предприятия, полностью выполнена. Разработано прикладное решение – «Терминал путевых листов». Порог вхождения пользователей стремится к нулю, но для подстраховки дополнительно разработана простая инструкция, вывешанная рядом с терминалом. Вопросов по использованию не возникает.

Проект по разработке «Терминала путевых листов» был для меня интересным, в первую очередь, тем, что можно было применить творческие способности. Стараюсь всегда уделять внимание UI-дизайну, чтобы у пользователей возникало минимум вопросов, как этим пользоваться. Такие задачи – как глоток свежего воздуха в обычной рабочей рутине программиста.
С момента ввода в промышленную эксплуатацию прошло больше полугода. Данные, получаемые терминалом через интеграцию с системой спутникового мониторинга «АвтоГРАФ», устраивают заказчика. Бухгалтерия стала получать вовремя путевые листы и доверять системе в целом.
На момент разработки планировалось создать несколько таких терминалов, расположенных в разных корпусах предприятия, но бюджет порезали и оказалось, что одного хватит. На всё воля экономистов. Но, тем не менее, на этом развитие проекта не заканчивается. В будущем планируется новая разработка «Терминала путевых листов для погрузчиков».

Будущее

Планируем разработку другой версии терминала для погрузчиков со своим бизнес-процессом и авторизацией через RFID-карты. Бизнес-цикл у погрузчиков отличается от седельных тягачей. Главное отличие – регулярная заправка на автоматизированной заправочной станции, которая имеет уже развернутый сервер и может формировать выгрузку данных для «РАРУС:УАТ». Терминал для погрузчиков должен быть ещё проще, чем для грузового транспорта. Корректировка информации не требуется (всё будет подгружаться из разных систем), требуется только идентификация в системе через RFID и подтверждение действий.

На текущий момент разработка не начата. Поэтому пока остаётся открытым вопрос, что станет базой для нового терминала. Самостоятельная разработка второго варианта терминала или доработка готового решения от компании «РАРУС» – это покажет более детальный анализ функционала типовой поставки и сложности её доработки.

Полезные ссылки

Если вас интересуют дополнительные аспекты данного решения или есть свои соображения, вы всегда можете написать об этом в комментариях к статье. Либо связаться с нами с помощью форм обратной связи и по телефонам, указанным на сайте.

Понравилась статья? Расскажите о ней друзьям и коллегам:
Узнайте больше о мониторинге
Присоединяйтесь к нам в социальных сетях и получайте самую актуальную информацию о системах слежения, мониторинга и контроля

Регион

Город

Закажите консультацию