Как подружить мастера с менеджером по логистике и 1С8 с 1С7 на сервере с закрытыми портами

Наверное, у каждого такое было: приходишь на работу, а под дверями твоего кабинета уже стоит хмурый работяга — начальник участка и взволнованная девушка менеджер. «Он должен был сдать отчёт и не сдал, у меня сырья не хватает — детали в базе не собираются» — говорит она. «Я что, мальчик какой‑то — по десять раз бумажки переписывать, я всё вчера ей на стол положил!» — ворчит он. «Да он постоянно забывает и ошибается ещё»… «Да она всегда всё теряет, и переписать с бумажки не может». Полчаса взаимных упрёков и испорченное на весь день настроение. Я хочу рассказать, как помирить производство и офис внедрением простого микросервиса.

Как подружить мастера с менеджером по логистике и 1С8 с 1С7 на сервере с закрытыми портами - 1

Производственный процесс

Одним из этапов процесса литья под давлением является заготовка сырьевых смесей — разные марки сырья смешиваются в заданных пропорциях для изготовления тех или иных деталей. В учёте движения ТМЦ это отражается документом Комплектация ТМЦ — со склада‑источника списывается сырье, на склад‑получатель поступает готовая смесь.

Над отражением результата производственного в учёте трудятся два сотрудника — непосредственно начальник участка и менеджер по учёту:

Как подружить мастера с менеджером по логистике и 1С8 с 1С7 на сервере с закрытыми портами - 2

Недостатки процесса очевидны:

  • начальник участка заготовки вынужден перемещаться между офисным помещением, в котором установлен компьютер, содержащий расчётные Excel‑таблицы, и производственным цехом;

  • в процессе работы данные о фактическом выходе смесей и расходе сырья фиксируются начальником участка маркером на картонках, в конце рабочего дня — переносятся в бумажную форму отчёта «от руки»;

  • ввиду разницы в рабочем графике рабочих подразделений и менеджеров отдела логистики передача отчёта не всегда происходит «из рук в руки» и иногда отчёты теряются;

  • данные попадают в учётную систему с задержкой до суток и зачастую с ошибками, вследствии непонимания менеджером записей начальника участка;

  • начальник цеха, не получавший копию отчёта, вынужден был узнавать результат работы участка устно.

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

Desktop на Delphi

Тогда я умел только в Delphi и потому родилось desktop приложение. Начальник участка вносил в данные о результатах работы в приложение, система проверяла арифметическую точность ввода, сохраняла отчёт и рассылала его содержание по электронной почте всем заинтересованным менеджерам и руководителям. Как бонус — система сразу считала сдельную зарплату персонала участка заготовки.

Итоги внедрения:

Старые проблемы

Появившиеся новые проблемы

Решённые

Не решённые

отчёты перестали теряться, факт передачи или не передачи отчёта от одного сотрудника к другому стал неоспорим;

ушла проблема неразборчивого почерка;

все заинтересованные лица стали получать отчёты сразу после их составления.

расчёт потребности в сырье по‑прежнему выполнялся в Excel;

в ходе работы начальник участка все ещё вёл заметки на бумаге;

для подготовки сдачи отчёта начальнику участка все равно приходилось ходить в офис, только теперь уже к компьютеру.

возникла необходимость в ручной синхронизации номенклатуры смесей между 1С и отчётной системой.

Мобильное приложение 1С8

Delphi служила нам верой и правдой около пяти лет. Но когда в прошлом году я постиг таинства 1С разработки и обнаружил в экосистеме простой и удобный функционал для разработки мобильных приложений я, конечно же, загорелся идеей где‑то применить эти новые знания. Автоматизация учёта на участке заготовки оказалось идеальной задачей для воплощения этой идеи.

Я задумался: совершенно очевидно, что мобильное приложение должно будет не просто повторить функционал «десктопа», но и решить все те проблемы, которые «десктоп» не решил и те, которые привнёс. Значит мобильное приложение должно уметь:

  • быть всегда под рукой пользователя — начальника участка;

  • содержать в себе данные о расходе сырья на каждый вид смеси для возможности выполнения расчёта потребности в сырье;

  • пересчитывать расход сырья по фактическому количеству приготовленной смеси;

  • отправлять отчёт менеджеру по логистики;

  • синхронизировать свои справочники с 1С Комплекс.

Что ж, реализация показалась достаточно несложной. С первым пунктом вообще все просто — мобильность — это сама суть разрабатываемого решения. Данные о расходе — справочник «Смеси» с табличной частью «СоставСмеси». Расчёт — не много логики и форме документа и признак «ОсновноеСырье» (для расчета по количеству «замесов») в таблице состава смеси. А вот синхронизацией пришлось повозиться.

MVP1 — отправка по электронной почте

Для первоначального наполнения справочников я решил выгрузить существующую справочную Excel таблицу и загрузить её в приложение. Быстро написал код. Однако выяснилось, что прочитать xls в мобильном клиенте в ТабличныйДокумент невозможно. Надо было сначала читать Справку… Пришлось переделывать на txt. Но то, что и создать xls в мобильном клиенте тоже нельзя до меня дошло не сразу — помучался и с почтовыми вложениями. Но вот оно — MVP1. Начальник участка доволен — не надо ничего считать, не надо ничего писать. Выбираешь марку смеси, вводишь количество замесов — получаешь расчёт сырья. Нажимаешь кнопку «Отправить» и с чистой совестью идёшь к проходной — отчёт ушёл куда следует — на почту менеджера.

Но остался не доволен менеджер — её работа никак не изменилась — она по‑прежнему вручную набирала документ в 1С.

Выгрузка в «семерку»

Как же облегчить работу менеджера? Всего лишь нужно положить данные туда, где их сможет принять «семёрка» — простой файловый обмен. Но это оказалось нелегко. «Семёрка» у нас на сервере «Ростелекома», мы работаем в терминальном режиме. Все порты, и «интернетовские», и «почтовые», закрыты. Безопасность наше всё и сисадмин непреклонен. Как перенести файл? Копировать на удалённый рабочий стол из почтового вложения? Так себе автоматизация…

Но вот я вспоминаю, что у нас на давно и успешно работает «Склад 15» от «Клеверенс». ТСД из локальной сети передаю данные на сервер и получают данные с сервера. Есть VPN туннель и есть Swagger с описанием API. Решение найдено: мобильное приложение должно имитировать работу ТСД и отправлять данные на сервер таким же образом, как это делают терминалы. А соответствующий механизм загрузки в «семёрке» уже есть.

Разобраться с API было несложно. Спасибо «Клеверенс» за подробное документирование. Конечно же документа с полностью совпадающим набором реквизитов в БД не оказалось. Но я приспособил для своих целей «Перемещение ТМЦ» слегка расширив набор полей. А вот заставить СУБД выгружать документы в файл, также как это происходит при приёме документа с ТСД, не получилось. Пришлось получать данные в «семёрку» также через API, только через localhost. Конечно, пришлось вручную парсить JSON и самостоятельно преобразовывать Unicode в ANSI. Вообще на «семерочный» код ушло достаточно много времени — успел привыкнуть к «восьмерке». К хорошему вообще быстро привыкаешь. Не обошлось и без помощи ИИ… Но все получилось, и вот документы, созданные в мобильном приложении на платформе 1С8 превращаются в документы БД Склад 15 Клеверенс и затем в документы «Комплектация ТМЦ» в 1С7.7. «Комплекс».

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

Как подружить мастера с менеджером по логистике и 1С8 с 1С7 на сервере с закрытыми портами - 3

Результат внедрения

Получившаяся таким образом связка нескольких учётных позволила полностью автоматизировать процесс учёта заготовки сырьевых смесей. Функционал системы позволил:

  • производить расчёт рецептуры непосредственно на рабочем месте без использования Excel таблиц;

  • выполнять учётные и отчётные операции без отрыва от производства;

  • убрать рабочее место начальника участка в офисе;

  • ограничить область распространение служебной информации документооборотом в пределах локальной сети и защищённого VPN соединения;

  • сменить функцию менеджера по учёту с операционной на контрольную.

Измеримыми результатами можно считать:

  • полное исключение случаев утери отчётности;

  • исключение математических ошибок и ошибок при интерпретации записей;

  • снижение временных затрат начальника участка на учётную функцию до нескольких минут вместо получаса‑часа;

  • снижение когнитивной нагрузки на менеджера по учёту;

  • полное исключение зависимости скорости проведения документа в учётной от графика работы офиса.

Что можно сделать за 5 минут? За 15? За 30 минут? Можно сделать многое, но чего точно не стоит делать, так это разбираться, кто потерял бумажку, разбираться, кто ошибся при сложении, или выяснять, сколько времени надо, чтобы оформить документ в 1С. И теперь я этого не делаю. А начальник участка теперь при встрече улыбается девушке из офиса. А она улыбается ему в ответ.

Автор: shagi80

Источник

Оставить комментарий