Евгений Сайты › Peppers Сбер ID
Сайты, SEO и GEO, реклама, чат-боты, ИИ и дизайн | Москва
Рейтинг
9 371
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
11 лет
На сайте с
2016 года
Юридический статус
Самозанятый
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Перенос с Delphi учёта ремонтов на заводе: код на Pascal в Lazarus, замена отчётов на Visual Basic, утилиты VB.NET и склада на Power Builder без потери данных

Используемые навыки Delphi Pascal Power Builder VB.NET Visual Basic

Описание

Ремонтная служба машиностроительного завода двадцать лет вела учёт в программе, которую написал её бывший инженер. Инженер давно на пенсии, а программа продолжала работать и обрастать надстройками. Переносом занимался я, Евгений Росляков. Пишу и сопровождаю программы с 2016 года, официально оформлен самозанятым, работаю по договору и передаю бухгалтерии завода закрывающие документы. Базируюсь в Москве; заводу хватило удалённой работы и пары поездок на приёмку.

Служба ремонтирует станки, прессы и краны по всему заводу. В программе — заявки на ремонт, нормы времени, история по каждому станку, запчасти, наряды для ремонтников. Мастера смотрят туда каждое утро.

Ядро было написано на Delphi 7. Внутри нашлись модули на Pascal ещё со времён DOS: расчёт норм времени по таблицам из старого справочника. Отчёты для начальника цеха строились макросами на Visual Basic в офисной программе, которые брали данные прямо из файлов базы. Позже кто-то добавил небольшую утилиту на VB.NET для выгрузки нарядов в бухгалтерию. А склад запчастей вёлся в отдельной программе на Power Builder, которую завод когда-то купил у подрядчика, и связан был с ремонтами через ручной перенос.

Работало всё это на одном компьютере под старой Windows, которую нельзя было обновить: новые версии ломали драйверы базы. Лицензию на свежую среду Delphi в России сейчас не купить, а старая не ставится на современные системы. Любой сбой этого компьютера означал остановку ремонтной службы.

Решение

Главное условие завода — не потерять историю. Двадцать лет ремонтов по каждому станку нужны и для планирования, и для разбора аварий.

Решил не переписывать всё с нуля, а перенести код. Современная открытая среда Lazarus со свободным компилятором понимает диалект Delphi и собирает программы под нынешние Windows и Linux. Лицензия свободная, покупать ничего не нужно.

Ядро на Delphi перенёс почти без изменений логики. Пришлось заменить старые компоненты доступа к базе и несколько визуальных библиотек, которых больше нет. Модули на Pascal с расчётом норм вообще не трогал, только собрал их новым компилятором и сравнил результаты на сотнях прошлых заявок. Цифры совпали до копейки, и это сразу сняло у мастеров главный страх.

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

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

Утилиту на VB.NET разобрал и перенёс её логику внутрь программы. Выгрузка нарядов в бухгалтерию теперь — кнопка в программе, формат файла остался прежним, чтобы бухгалтерия ничего не меняла у себя.

Самым долгим был склад на Power Builder. Исходников у завода не было, только установленная программа и её база. Восстановил структуру базы и смысл полей по самим данным и разговорам с кладовщиком. Склад стал модулем той же программы, и запчасти теперь списываются прямо по наряду на ремонт.

Результат

Ремонтная служба работает в одной программе вместо четырёх. Мастер открывает станок и видит историю ремонтов, нормы, запчасти на складе и наряды в одном окне.

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

История за двадцать лет сохранилась полностью. Это проверено не на словах: сверочные отчёты подписали начальник службы и главный бухгалтер.

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

Из минусов: внешний вид программы почти не изменился. Мастера сами попросили не трогать привычные окна, и я согласился. Обновление интерфейса — отдельный этап, если завод на него решится.

Если у вас старая программа на Delphi, Visual Basic или Power Builder держится на одном компьютере, напишите мне через freelance.ru. Разберу, что можно перенести как есть, а что придётся переписать.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Создание сайта на CS-Cart для магазина электроинструмента: переезд с Microsoft Commerce Server и X-Cart, опт и розница в одном магазине
Создание сайта на CS-Cart для магазина электроинструмента: переезд с Microsoft Commerce Server и X-Cart, опт и розница в одном магазине
24
Веб-разработка и IT Создание сайта для агентства мерчандайзинга: Customer Journey Map, прототипирование и дизайн в Figma, вёрстка на HTML и CSS
Создание сайта для агентства мерчандайзинга: Customer Journey Map, прототипирование и дизайн в Figma, вёрстка на HTML и CSS
22
Веб-разработка и IT Создание сайта и веб-приложения для управляющей компании: заявки жителей на Laravel, PHP и MySQL, тесты PHPUnit
Создание сайта и веб-приложения для управляющей компании: заявки жителей на Laravel, PHP и MySQL, тесты PHPUnit
23
Веб-разработка и IT Создание сайта и интернет портала для дилеров поставщика запчастей к сельхозтехнике: Ecommerce-кабинет, SEO по странам
Создание сайта и интернет портала для дилеров поставщика запчастей к сельхозтехнике: Ecommerce-кабинет, SEO по странам
21