Добрый день, Коллеги!
В публикации рассказана история разработки автоматизированного рабочего места для взаимодействия пользователей, не знающих «1С», но вынужденных работать в информационной системе. В прошлом году выставлялся с данным проектом на мастер-класс Infostart Ivent 2018, но не прошел отбор.
Разработка является первой версий запущенного прикладного решения. По традиции принимаются замечания и советы.
Проблема
У кого-то автоматизация, а у кого-то оптимизация расходов, так и на этом предприятии. Оптимизировали, оптимизировали и выоптимизировали. Совмещения, нужно больше совмещений! В результате в информационной системе транспортного отдела, построенной на прикладном решении «РАРУС:УАТ» второй версии, остался работать один сотрудник по стандартной пятидневке. При этом, «вы сидите? сядьте», все водители работают по сменному графику всю неделю, «забавно? нет». Забыл добавить, диспетчер (тот единственный «специалист»), работает с 08:00 до 17:00 часов, а водители приходят на два часа раньше и возвращаются как минимум на три часа позже. Фактически диспетчер и водитель никогда не пересекаются. Многие водители стали возвращать путевые листы в конце месяца «пачкой». Данный хаос всех устраивал кроме бухгалтерии, которой нужен был безошибочный учёт ГСМ и своевременный возврат путевых листов.
Задача
Проанализировать бизнес-процесс по движению путевых листов и предложить вариант решения сложившейся проблемы по несвоевременному расчёту путевых листов в системе «РАРУС:УАТ». Уйти от показателей одометра, перейти на учёт показателей системы спутникового мониторинга и автоматизировать получение данных в учетную систему.
Терминал путевых листов
Первое что приходит в голову естественно внедрить готовое решение – «Терминал путевых листов». В момент приобретения прикладного решения «РАРУС:УАТ» в презентациях не совсем информативно был описан процесс работы с терминалами. Помимо терминала также необходимо связать систему «РАРУС:УАТ» с системой мониторинга «Автограф» четвертой версии. Технология интеграции в прикладном решении от компании «РАРУС» была построена на обмене через OLE, ещё и через отдельную утилиту, за которой нужен глаз да глаз.
В результате мы получим не зависимый интерфейс, с помощью которого водитель может взаимодействовать с системой «РАРУС:УАТ», самостоятельно получать и сдавать путевые листы. Это полностью решает проблему всей задачи.
Выбор терминала
Изобретать велосипед не будем, пойдём и купим. Проанализировал рынок, терминалов было много и все, с заявления производителей, интегрируются с «РАРУС:УАТ» второй версии. Круто? Круто! Удалось собрать три коммерческих предложения. Средняя цена одного терминала 200 000 рублей. Настораживало только магическое слово «интеграция», будет ли она такой простой на практике. Коммерческие предложения были взяты на рассмотрение, а тем временем…
Хаос
На руку или нет, но к проблеме неожиданно были привлечены специалисты: программист-разработчик и главный диспетчер из другого «дружественного» предприятия. Напомню, творился полный хаос, поэтому в обход меня, привлекли меня же. Так бывает, было забавно и смешно. Управленец очень сильно огорчился, что не смог свалить проблему «хаоса» на программиста и программу. Но был и плюс, к проблеме удалось подключить опытного второго специалиста – «главного диспетчера».
Парень толковый, чуть постарше меня быстро с ним нашли общий язык. Отличительная черта – «быстрое решение проблем». Важный момент - парень являлся начальником своего департамента и имеет хорошие рычаги давления. Мне это сначала очень понравилось, так как возня на месте стала обрастать растягиванием сроков. Имея опыт, главный диспетчер быстро заставил перейти на новую версию системы мониторинга «Автограф», объяснив, что пятая версия ведёт более точный расчёт пробега и расхода топлива. Кто с ним поспорит – он авторитет. Тем более его направление уже год работает на свежем «Автографе» и система закрепила за собой более стабильный показатель.
Автограф 5
«Автограф 4 умер, да здравствует Автограф 5!» После обновления спутниковой системы мониторинга уже было не до терминалов, мы потеряли основу – интеграцию с «РАРУС:УАТ». После длительной переписки с разработчиками компании «РАРУС» и анализом программного кода выяснил, что разработки были начаты и резко закончены безрезультатно. Весь программный код закомментирован, интерфейсная часть скрыта. От компании «РАРУС» удалось получить категоричное «Нет и не будет».
Пишем свою интеграцию. Опыт у нашего холдинга, как выяснилось, уже был, правда, создатель первоисточника уже давно не работает у нас. Остальные пожимали плечами и типа сам разбирайся. Интеграция была реализована для «РАРУС:УАТ» первой версии. Разобрался. Выяснилась хорошая новость - у «Автограф» есть HTTP-сервер, все полезные ссылки в конце публикации.
Есть два варианта использования веб-сервиса. Первый вариант, когда сервер «Автографа» установлен в вашей локальной сети. Второй вариант, когда вы пользуетесь услугами провайдера, провайдер в свою очередь предоставляет вам доступ к его серверу.
Ранее в нашем предприятии был реализован первый вариант с парсингом XML файла, возвращаемого по HTTP запросу – «GetTrips». Нужно было реализовать второй вариант со службой «AGDataLoader». Неожиданный момент, возвращаемые XML схемы оказались разные, смотрите скриншот ниже. Изменения не значительные, но любопытный факт.
Важный нюанс, что для сервера и для службы, нужно писать разные запросы.
Пример запроса к серверу:
http://<ИмяСервера>:<Порт>/GetTrips/<ИмяСхемы>/<ИдентификаторТС>/<ДатаНачала>/<ДатаОкончания>/0
Пример запроса к службе:
http://<ИмяСервера>:<Порт>/GetTrips/<ИмяСхемы>/<ИдентификаторТС>/<ДатаНачала>/<ДатаОкончания>/0/*/*
Вся «соль» в «/*/*» в конце одного запроса и в отсутствии их в конце другого, без них и сними запрос работать не будет в том или ином варианте. Понятно, немного разный алгоритм парсинга и формирования строки запроса. Как-то это странно со стороны разработчиков «Автограф 5», зачем такие неувязочки.
Интеграция разработана и запущена. В конфигурацию добавлен интерфейс настройки интеграции. Так же полученные данные хранятся прямо в путевом листе. Ниже скриншоты разработанной интерфейсной части.
Свой проект «Терминал путевых листов»
Разработали интеграцию, разработаем и терминал. Теперь готовые решения не подходили. Во-первых слишком сложный юзабилити. Во-вторых, будут ли они работать с «Автограф 5» не известно. В-третьих, спортивный интерес применить на практике «сенсорный интерфейс» с новым режимом «Киоск».
Был разработан проект. Подготовлена презентация для бизнеса, с описанием подробного бизнес-процесса взаимодействия диспетчера и водителя через терминал путевых листов в системе «РАРУС:УАТ». Топ менеджмент согласовал.
Ожидание
Требования к разработке интерфейсной части терминала - это простота использования.
Небольшая ремарка. На тот момент ещё не был в курсе об аналогичном проекте от компании «РАРУС», которые начали разработку, но как-то это мы не увидели. Главная причина – это отсутствие необходимости обновлять конфигурацию «РАРУС:УАТ».
Интерфейс предполагался простой. Авторизация пользователя не требуется. Кнопки должны быть размером с кулак, так как именно такого размера пальцы у настоящих мужиков - водителей большегрузов. Один раз услышал прекрасную фразу-требование к юзабилити – «Чтобы могла разобраться моя бабушка». Это был тот случай.
Были выделены два бизнес-процесса: «Получить» и «Сдать». Бизнес-процесс «Получить» состоял из нескольких этапов: «Выбор водителя»; «Выбор путевого листа»; «Ознакомление и печать». Бизнес-процесс «Сдать» состоял из этапов: «Отсканировать ПЛ»; «Определиться были заправки или нет»; «Если были заправки, внести итоговое количество ГСМ»; «Скорректировать дату возвращения»; «Подтвердить сводную информацию».
Реальность
При разработке использован режим запуска «Киоск». В этом режиме пользователь видит непосредственно только область обработки формы, пользователю даже недоступна возможность закрыть программу, что в нашем случае необходимо. Более подробно об этих режимах вы можете прочитать здесь.
Функционал запуска определяется из режима предприятия, по этому заведён отдельный регистр сведений и написан небольшой кусок кода в расширение:
&После("ПередНачаломРаботыСистемы")
Процедура прПередНачаломРаботыСистемы(Отказ)
//(Н) Котов Дмитрий Вадимович 09.04.2018
//Включение режима киоск при необходимости
Если прСервис.РежимКиоска() Тогда КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.Киоск);
КонецЕсли;
//(К) Котов Дмитрий Вадимович 09.04.2018
КонецПроцедуры
В результате опытной эксплуатации, интерфейс корректировался и подгонялся под сенсорный экран. Был так же добавлен третий бизнес-процесс «Получить путевой лист на завтра». Необходимость нового путевого листа была вызвана тем, чтобы при сдаче текущего, водитель мог получить путевой лист на завтрашней рейс и утром не тратить на это время.
Главная страница (слайд)
Тут всё просто, три кнопки «размером с кулак».Когда вы подойдёте к сенсорному экрану терминала путевых листов я думаю, у вас не возникнет проблем с выбором действия. |
Получить путевой лист
Выбрав пункт «получить на сегодня» или «получить на завтра», откроется список водителей, по которым предварительно в систему были заведены путевые листы с заданиями. |
Выбрав себя, водитель интуитивно поймёт, что ему нужно нажать кнопку «Далее». Затем откроется схожий слайд, на котором отражаются доступные путевые листы по водителю. |
Последний слайд бизнес-процесса «Выдача путевого листа на терминала» заканчивается сводной информацией, что именно собирается распечатать водитель. |
Стоит отметить, если предыдущий путевой лист в системе не рассчитан, водитель будет об этом уведомлён и по регламенту обязан связаться с диспетчером в рабочее время для уточнения действий. Пример, если мы сразу попытаемся допустим распечатать путевой лист на завтра не закрыв сегодняшний. |
Далее слайд об успешной печати. На котором завершается бизнес-процесс по выдаче путевого листа. |
Сдать путевой лист
Штрихкодирование путевых листов включено именно для использования функционала совместно с терминалом путевых листов. Поэтому первый и единственный способ идентификации путевого листа - это его сканирование. Возможно, стоит добавить ручной ввод, но слишком огромна вероятность человеческого фактора, который повлечёт ряд ошибок в системе, поэтому на текущий момент ручной ввод штрихкода не предусмотрен. |
По штрихкоду терминал найдёт путевой лист в системе и выведет слайд с вопросом о заправках. Иначе, при сканировании чего-либо другого будет выведен слайд ошибки. |
При подтверждении заправки, водителю необходимо ввести сумму заправленного топлива. Почему сумма, потому, что терминал разработан под специфику данного предприятия и имеет максимальное упрощение. Будем иметь в виду, что заправляемся только на одной заправке, у одного поставщика. |
Следующий слайд - корректировка времени прибытия. Естественно подгружается текущая дата сервера, но если водителю необходимо скорректировать минуты или часы он может в несколько кликов, совершенно интуитивно понять, как это сделать. Данный механизм из терминала выкладывал в публикации - //infostart.ru/public/888041/ где помимо используемого в терминале ещё добавлен алгоритм масштаба. Опять же стоит заметить, что оптимально механизм подходит именно для сенсорных экранов и «особых» пользователей. |
Завершающий слайд. Самый «смак», после нажатия кнопки «Подтвердить…» в информационной системе «РАРУС:УАТ» начинает происходить магия. Путевой лист заполняется показаниями скорректированными водителем (заправки, дата возвращения), затем происходит интеграция с «Автограф 5» (подгружаются показания: топлива, пробега и др.) и происходит расчёт с проведением путевого листа. |
Корпус
Напомню, что некое понимание, как должна выглядеть тумба было - выполненная из материала ЛДПС на заказ. Но так как за данную часть уже отвечал не я, рекомендации были приняты и получилось, что получилось.
Путевой лист
По требованию бухгалтерии была доработана стандартная форма путевого листа. После принятия к учету показаний из системы спутникового мониторинга, была добавлена колонка «Пробег», куда вписывается пробег выбранного транспортного средства диспетчером. В свою очередь показания одометра теперь несут строго информативный характер, и заполняются водителем. По второй задаче было проставлено огромное количество «---» прочерков. Путевой лист утверждён и используется на предприятии.
Параллельная разработка РАРУС
Стоит отметить, что на текущий момент компанией «РАРУС» разработан свой терминал путевых листов для сенсорных экранов, это большой плюс для конфигурации. Теперь пользователь из коробки может получить готовое решение для автоматизации бизнес-процесса по выдаче и приёму путевых листов.
На текущий момент до сих пор «РАРУС» не поддерживает интеграцию с «Автограф 5». Далее сухо скриншоты, из которых уже будет ясен обширный функционал терминала от «РАРУС» и что вы можете получить после приобретения данного продукта.
Резюме
Задача, поставленная руководителем предприятия полностью выполнена. Разработано прикладное решение – «Терминал путевых листов». Порог вхождения пользователей стремится к нулю, но для подстраховки дополнительно так же разработана простая инструкция и повешена рядом с терминалом. Вопросов по использованию не возникает.
Проект по разработке «Терминала путевых листов» был для меня интересным в первую очередь тем, что можно применить творческие способности. Стараюсь всегда уделять внимание UI-дизайну, что бы у пользователей возникало минимум вопросов как этим пользоваться. Такие задачи как глоток свежего воздуха в обычной рабочей рутине программиста.
С момента ввода в промышленную эксплуатацию прошло больше полугода. Данные, получаемые терминалом через интеграцию с системы спутникового мониторинга, устраивают заказчика. Несколько месяцев подряд бухгалтерия стала получать вовремя путевые листы и доверять системе вцелом.
На момент разработки планировалось создать несколько таких терминалов расположенных в разных корпусах предприятия, но бюджет порезали и оказалось, что одного хватит. На всё воля экономистов. Но тем не менее на этом развитие проекта не заканчивается. В будущем планируется новая разработка «Терминала путевых листов для погрузчиков».
Будущее
Планируем разработку другой версии терминала для погрузчиков со своим бизнес-процессом и авторизацией через RFID карты. Бизнес-цикл у погрузчиков отличается от водителей седельных тягачей. Главное отличие регулярная заправка на автоматизированной заправочной станции, которая имеет уже развернутый сервер и может формировать выгрузку данных для «РАРУС:УАТ». Терминал для погрузчиков должен быть ещё проще, чем для водителей. Корректировки информации не требуется (всё будет подгружаться из разных систем), требуется только идентификация в системе через RFID и подтверждение действий.
На текущий момент разработка не начата. По этому, что будет базой для нового терминала - вопрос открытый. Самостоятельная разработка второго варианта терминала или доработка готового решения от компании «РАРУС», покажет более детальный анализ функционала типовой поставки и сложности её доработки. Разработчики компании «РАРУС» очень стеснительные ребята и часто любят прятать блоки кода в защищенные модули, это вызывает трудности.
Полезные ссылки
http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service
http://wiki.tk-chel.ru/index.php/AGDataLoader - служба, которая использовалась для интеграции данного терминала путевых листов
http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service_GetTrips
http://agi.tk-chel.ru/install/service/
http://www.tk-nav.ru/files/download-files