Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 10, 2007 08:24:55

finic
От:
Зарегистрирован: 2007-06-25
Сообщения: 31
Репутация: +  2  -
Профиль   Отправить e-mail  

небольшой проектик для работы с финансами

про логику учета в проекте: ее скорее там пока нет, чем есть, но небольшое описание клиента наверное не повредит.

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

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

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

основное окно содержит таблицу со всеми записями (пока только доходными и расходными).
есть поиск и возможность сортировки (по умолчанию сортировка по дате).
также есть окно с консолью python, в которую перенаправлены потоки интерпретатора,
т.е. видны все ошибки возникающие при работе и можно исполнять python команды, которые могут содержать внутренний api.
в окне редактирования записи (расходной или доходной) происходит выбор значений из справочников,
кроме пользователя, ввод суммы, даты, есть поле для примечания.

интерфейс для построения отчетов реализован в двух вариантах: внутренний и внешний (файловый).
внутренний отчет строится с помощью компонента wxPython printout.
файловый отчет - с помощью reportlab (PDF), pyExcelerator (XLS), есть еще в виде HTML, на выбор пользователя.

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


о сроках судить сложно, но вот некоторые планы на будущее
(иногда даже страшно становится, перед созданием сервера морально готовился несколько месяцев):

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

потом будут добавлены типы записей для ведения учета займов, кредитов
и планирования с раздельными журналами для каждого типа записи.
добавится возможность привязывать к записям, таблицы со значениями справочников.
также необходимо будет добавить контекстный поиск во все гриды.
еще неплохо было бы добавить кредитный калькулятор,
если кто-то знает уже готовый open source в python, подскажите пожалуйста ссылочку.

дальше создание графического интерфейса для администрирования сервера.

в более далекие планы входит портирование на SQLite
(скорее всего с потерей транзакций, естественно с потерей скорости и объема,
но пользователь получит полностью бесплатный продукт)
и включение возможности разбивать базу на несколько файлов,
т.е. для каждой таблицы отдельный файл
(это даст увеличение объемов, позволит создавать простейшие распределенные системы и возможно увеличит скорость).
после создания первого драйвера для SQL скорее всего облегчится задача портирования на другие.

Офлайн

#2 Окт. 10, 2007 09:19:43

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

небольшой проектик для работы с финансами

finic
в более далекие планы входит портирование на SQLite
(скорее всего с потерей транзакций, естественно с потерей скорости и объема,
а может использовать ORM - например sqlalchemy для того, чтобы можно было легко встраивать программу в уже существующую IT-структуру компании?! :)



Офлайн

#3 Окт. 10, 2007 12:59:20

finic
От:
Зарегистрирован: 2007-06-25
Сообщения: 31
Репутация: +  2  -
Профиль   Отправить e-mail  

небольшой проектик для работы с финансами

sqlalchemy - хорошая идея, но программа не SQL ориентированная,
поэтому думаю портирование будет не простой задачей.
в любом случае спасибо, посмотрю повнимательнее sqlalchemy.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version