Taxa Software

все работы для Евклида:

на складе у Евклида

Задача

Евклид — оптовый поставщик электроники. Практически, весь товар, который вы покупаете в магазинах, поступает в Санкт-Петербург через эту компанию.

У Евклида большой логистический терминал в Новосаратовке, много тысяч наименований товаров, высокая грузооборачиваемость.

Перед нами была поставлена задача разработать программное обеспечение для возможности учета серийных номеров принятых и отгруженных товаров.
Программа должна была помочь гарантийному отделу определять историю товара: от кого и когда поступил товар, и кому и когда он был продан. Это позволило быстрее выявлять поставщиков товара и бороться с «леваком», когда в гарантийный ремонт поступает не купленный у компании товар. Да-да, такое тоже бывает.

ERP-система, используемая на тот момент Евклидом, не позволяла внедрять дополнительный функционал, поэтому мы написали софт, пристроенный «сбоку». Товар и документы брались из основной системы, серийники хранились в другой базе (нашей).

Оформление

Для этой программы мы придумали отличное название — STOKA. Нарисовали простой логотип, который разместили в софте и в документации к программе.

Мобильные устройства

Наша STOKA должна была работать и на обычных компьютерах, и на мобильных устройствах.
В качестве мобильных устройств выступал КПК Symbol MC9060 с Windows CE 4.2 на борту.

беспроводной (Wi-Fi) сканер
подставка для сканера, через нее он заряжается
и "общается" с компьютером с помощью ActiveSync
весь комплект

"Грабли" или процесс разработки

На КПК установлена операционная система Windows CE 4.2. Microsoft утверждает, что на эту ОС можно установить только Compact Framework 1.1, а CF2 — нет.
Очень жаль, так как драйверы для сканера не работают в CF1.1.

Вопреки утверждениям Microsoft нам удалось установить .NET CF2 на Windows CE 4.2. И мало установить, он еще корректно работал. Замечательно, CF2 у нас есть, драйверы сканера функционируют, теперь новые грабли — соединение с базой данных.

Устройство не локализовано (made in USA), кодовой страницы с кириллицей нет. Работать с БД, у которой другая локаль не возможно. Смены локали у БД результатов не дали.
Не беда, построим наше взаимодействие на web-сервисах.

Все, вся картинка сложилась, CF2 — ок, база — ок, сканирование — ок.

Функционал программного обеспечения настольной и мобильной версии был, за редким исключением, одинаковый, поэтому мы хотели уйти от copy&past, и реализовать единую бизнес-логику, но с разными интерфейсами. Чуть позже оказалось, что этот красивый прием здесь не уместен. Из-за такого уровня абстракции сильно страдала производительность на мобильных устройствах. Поэтому пришлось-таки разрабатывать два разных приложения, учитывая особенность платформ.

Отдельно хочется сказать, что реализация .NET Compact Framework 2 сильно напоминает обычный .NET Framework 1.1, но в котором отсутствует множество событий и методов, критически важных для привычного пользователю функционирования dataGrid’ов, listView’ов и остальных контролов. Эти недостающие кусочки приходится дописывать. К примеру, как же можно оставить пользователя без возможности на лету редактировать данные в ячейке DataGrid'а?

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

Документация

Документация для пользователя не требовалась, потому что софт мы сделали очень простым и понятным.
А вот документация для системного администратора — в самый раз. 15 страниц в PDF.
Некоторые странички дадим посмотреть по-ближе.

Бесконечный серийный номер

Конец

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

Сейчас заказчик сменил ERP, и наш софт не используется. Жаль.