Томск — 2008

Обзор информационной системы для торговли и складского учёта Indocs

Всероссийская научно-практическая конференция «Свободное программное обеспечение: разработка и внедрение», г. Томск, 18 мая 2008 г.

Программный пакет Indocs создан для организации процесса торговли и складского учёта. Система разработана на базе СУБД PostgreSQL. Клиентская часть реализована на языке Java (j2se).

К основным возможностям системы относятся:

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

Складской учёт ведётся через систему накладных. Приходные накладные работают одновременно в двух валютах — рублях и долларах. Цена товаров рассчитывается автоматически с указанием надбавки и текущего курса иностранной валюты.

Такие характеристики, как многопользовательский сетевой доступ, разделение прав пользователей, поддержка транзакций, полная переносимость клиентской части на любую платформу, являются следствием возможностей базовых компонентов (PostgreSQL и Java). Печатные формы строятся при помощи библиотеки JasperReports.

Система имеет двухуровневую архитектуру. Первый слой — это ядро операций с данными, второй — пользовательский интерфейс. Операции с данными реализованы только для хранения в реляционных СУБД при поддержке языка SQL. Локальная работа системы может быть реализована при помощи пакета hsqldb. Оконная пользовательская часть выполнена на основе библиотеки Swing.

В настоящий момент система Indocs используется в компьютерной фирме "Интек" в г. Северске. Её исходный код публикуется под лицензией GPL.

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

К недостаткам системы относятся невозможность репликации удалённых пользователей и полная реализация логики работы приложения на стороне клиента (модель "толстый клиент").