DroidPres - Система мобильной торговли, с открытым исходным кодом, разрабатываемая под операционную систему Android. Для организации предварительного сбора заказов при реализации товара в точки розничной торговли, и организация мобильной торговли с автомобилей. Автоматизации мобильных сотрудников с помощью КПК, интегрирующаяся в офисную учетную систему и позволяющая удаленный обмен данными.
Области применения:
* Pre Selling сбор заказов — организация предварительного сбора заказов при реализации товара в точки розничной торговли.
* Van Selling продажа с колёс — организация мобильной торговли с автомобилей. (в стадии разработки)
Адаптация:
Благодаря простому и открытому протоколу вызова удаленных процедур XML-RPC система легко интегрируется в любую учетную систему.
Проект находиться в стадии бета тестирования.
Домашняя страница: http://code.google.com/p/droidpres/
Исходный код проекта: http://code.google.com/p/droidpres/source/checkout
Дополнительные файлы: версия 1.0.22 приложения под андроид и обновленный сервер от 29.06.11.
PS. Программа опубликована с разрешения разработчика. Вопросы по программе можно задавать как в теме (на что смогу отвечу сам, остальное передам разработчику), так и непосредственно на сайте: http://code.google.com/p/droidpres/issues/list
29.06.2011
Новая версия DroidPres 1.0.22
Серверная часть droidpresd_062911.tar.bz2
Все исходники сервера и клиента в SVN
- Почищены мелкие баги
- Добавлен функционал отслеживания устройства по GPS.
17.02.2011
Новая версия DroidPres 1.0.21
- Почищены мелкие баги
- Вернул возможность установки на Android 1.5
10.02.2011
Обновление версии DroidPres до 1.0.20
- Большая реструктуризация кода. Переход от DataSet к QueryHelper. Абстрактный класс для списков AbsListActivity
- Переход от диалогов к контекстному меню
- Поиск в справочниках "Клиенты", "Продукты" кнопка поиска или через меню.
- Добавлена кнопка "Backcpace" в клавиатуру ввода количества.
- При ландшафтном режиме изменено расположение кнопок в окне ввода количества.
- Разделены настройки пользователя и администратора.
- Все экраны переключаются в ландшафтный режим.
- Установлены стандартные шрифты в списках из системы.
- Кнопка записи документа перенесена в меню.
- Иконки во всех пунктах меню
Пример сервера обмена данными
Вы можете скачать с данного сайта пример сервера обмена данными. Это полнофункциональный, многопоточный XML-RPC сервер написанный на Python. Данный сервер легко можно адаптировать под Вашу систему учета. Для этого требуется реализовать модуль прослойку (proxy).
В архиве с сервером идет модуль proxy_demo_sqlite.py который читает и пишет данные в базу SQLite. Его можно взять за основу и адаптировать под любую реляционную базу данных
Пример конфигурации 1С v7.7 для работы с DroidPres
Вы можете скачать с данного сайта простой пример конфигурации 1С v7.7 для обмена данными и учета заказов. В данной конфигурации для обмена данных используется выше указанный пример сервера. В архиве с конфигурацией есть модуль прослойка (proxy) "proxy_demo_1c.py".
Для работы Вам потребуется:
- 1С Предприятие v7.7
- Высокоуровневый язык программирования Python
- Поскольку взаимодействие сервера и 1С реализовано посредством механизма OLE Automation. Вам потребуется библиотека Python for Windows Extensions
Установка
Устанавливаем Python, библиотеку pywin32, 1С. Распаковываем 1C_DroidPres.7z и указываем его в настройках 1С. Распаковываем droidpresd.tar.bz2 результат:
.settings\
doc\
src\
.project
.pydevproject
Весь программный код находиться в папке "src":
apk\
db\
lib\
proxy_mod\
cfg.py
droidpresd.py
- apk - В каталоге находятся файлы необходимые для обновления версий ПО на мобильных устройствах. В частности (DroidPres.apk) самая свежая версия DroidPres. (aapt.exe - win32, aapt - linux x86) утилита из Android SDK для работы с apk файлами, требуется для определения версии (DroidPres.apk). При этом замену (DroidPres.apk) на новую версию можно проводить так сказать на "горячую" без остановки сервера. Клиентская часть при обновлении данных получит самую свежую версию DroidPres, и предложить обновиться.
- db - В каталоге находятся файл базы данных SQLite который использует прокси модуль (proxy_demo_sqlite.py)
- lib - программный код XML-RPC сервера.
- proxy_mod - В каталоге находятся прокси модули для взаимодействия с разными базами данных (систем учета)
- cfg.py - Модуль конфигурации
- droidpresd.py - Модуль запуска сервера.
Настройка
Для настройки сервера надо отредактировать файл cfg.py. Все параметры можно оставить по умолчанию и указать только PROXY_MODULE = 'proxy_demo_1c'. В файле proxy_mod/proxy_demo_1c.py также надо будет внести изменения:
- DB_PATH - Путь куда Вы распаковали конфигурацию 1С
- V7_APPLICATION - Версия вашей 1С7.7
- V77.Application — версия зависимый ключ;
- V77S.Application — версия зависимый ключ, SQL версия;
- V77L.Application — версия зависимый ключ, локальная версия;
- V77M.Application — версия зависимый ключ, сетевая версия.
Запуск
После установки и настройки можно запустить сервер droidpresd.py. 1С для работы сервера запускать не надо, обмен данными осуществляется посредством OLE.
Итог: Почему то 1С7.7 не совсем полностью захотела работать через OLE с Python, в частности я не смог получить прямой доступ к справочникам, а к документам даже и не пытался. Поэтому в реализации пришлось пойти на некоторые ухищрения, которые вы сможете увидеть в исходном коде. Но на работоспособность, скорость, стабильность это не как не отразиться.
Хочу заметить не обязательно использовать сервер который выложен здесь как пример. Вы можете реализовать его в любом удобном для вас виде. Главное чтобы он соответствовал Техническим требованиям.