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

Учётная программа для склада запчастей к сельхозтехнике на WPF: работа без интернета, интерфейс на XAML, программирование на C# в Visual Studio, синхронизация с офисом

Используемые навыки Visual Studio Windows Presentation Foundation WPF XAML Программирование на C#

Описание

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

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

Учёт вели в веб-сервисе, который выбрал главный офис. В городе он работал нормально, а на складе каждое открытие карточки занимало вечность. Летом, в уборочную, связь пропадала на часы. Кладовщики переходили на тетрадь, а вечером переносили записи в сервис. Ошибались, путали номера, остатки расходились с полками.

Задача: программа для склада, которая работает полностью без сети, а с офисом обменивается данными, когда связь появляется.

Решение

Сделал настольное приложение под Windows. Компьютеры на складе старые, но с Windows, а кладовщикам привычнее окно с кнопками, чем браузер. Платформу выбрал WPF: Windows Presentation Foundation хорошо подходит для плотных учётных экранов с таблицами, поиском и быстрыми клавишами, и её спокойно тянут слабые машины.

Интерфейс описан на XAML. Главный экран — поиск детали по любому номеру: каталожному, номеру производителя, внутреннему артикулу или по куску названия. Механик называет номер с бумажки, кладовщик вбивает его, и сразу видит деталь, полку и остаток, а также аналоги, если нужной нет. Таблицы рассчитаны на десятки тысяч строк и прокручиваются без задержек: строки создаются только для видимой части списка.

Всё работает на клавиатуре. Сканер штрихкодов вводит код в поле поиска, F2 — выдача, F3 — приёмка, F4 — перемещение между полками. Мышь почти не нужна, и это кладовщики оценили в первую же неделю.

Программирование на C# заняло основную часть проекта. Данные хранятся в локальной базе на складском компьютере. Каждая операция записывается как событие: «выдано», «принято», «перемещено», с временем и автором. Когда появляется связь, программа отправляет в главный офис накопленные события и забирает оттуда новые цены и карточки. Если связь рвётся посередине, обмен продолжится с того же места. Конфликты, например одна и та же деталь продана и на складе, и в офисе, программа не решает сама, а показывает кладовщику списком.

Печать этикеток на полки и накладных идёт с того же компьютера, без интернета.

Разработку вёл в Visual Studio, бесплатной редакции хватает для небольшой команды. Установщик ставит программу одной кнопкой, а обновления лежат в общей папке главного офиса и подтягиваются при следующем обмене.

Результат

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

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

Главный офис видит склад с небольшой задержкой, а не в реальном времени. Это осознанный компромисс: на складе работа важнее мгновенной картинки в отчёте. Для срочных вопросов есть кнопка «синхронизировать сейчас».

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

Сейчас обсуждаем второй склад в соседнем районе, ему нужна та же программа с общим обменом.

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

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

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

Все проекты →
Веб-разработка и IT Сайт-каталог NixWell: нефтегазовое оборудование на HTML5 и JavaScript, «Блокнот» для запроса КП, английская версия, Google Analytics и Cloudflare
Сайт-каталог NixWell: нефтегазовое оборудование на HTML5 и JavaScript, «Блокнот» для запроса КП, английская версия, Google Analytics и Cloudflare
44
Веб-разработка и IT Сайт шиномонтажа КРАФТ: выездной шиномонтаж погрузчиков, калькулятор стоимости на JavaScript, картография зон выезда и расчёт в PDF
Сайт шиномонтажа КРАФТ: выездной шиномонтаж погрузчиков, калькулятор стоимости на JavaScript, картография зон выезда и расчёт в PDF
15
Маркетинг и Продвижение Презентации для производителя картонной упаковки: единая система в PowerPoint, мультимедиа для выставки и шаблоны в Canva
Презентации для производителя картонной упаковки: единая система в PowerPoint, мультимедиа для выставки и шаблоны в Canva
16
Веб-разработка и IT Приложение для кнопочных телефонов: обход оборудования на химзаводе на J2ME, поддержка Symbian и Bada, перенос с Palm, сервер на Java
Приложение для кнопочных телефонов: обход оборудования на химзаводе на J2ME, поддержка Symbian и Bada, перенос с Palm, сервер на Java
17