Хочу поделиться приложением, которое я делал и делаю по-сути для себя. Одна из первых идей для личного удобства, которую я начал делать, когда еще только познакомился с IBM Lotus Notes/Domino. Это приложение пережило несколько итераций и было одно из первых, на которых я опробовал попытки создания движков для приложений. Это приложение не самое сложное, которое я когда-либо делал. Это приложение не обладает невообразимыми функциональными возможностями. Но. Это приложение, которым я горжусь.
Это приложение, позволяющее вести личный баланс...
По порядку о всех возможностях.
Основной вид, открывающийся по-умолчанию - это счета. Изначально, он естественно пуст.
![]() |
Основное представление со счетами |
![]() |
Отображение справочника валют |
![]() |
Отображение справочника курсов валют |
Итак, заполнение индивидуальных справочников:
1. Типы счетов
Служат для удобства, разбивают счета. Мне удобно разбивать по типу хранения, например: наличные, банковские счета, и пр. Можно указать иконку для отображения. Иконки берутся из стандартных лотусовых по номеру (тут для широких масс, конечно потребуется некоторая контекстная справка)
![]() |
Вид и заполнение справочника типов счетов |
2. Статьи платежей
Делятся на доход/расход. Поддерживаются подкатегории.
![]() |
Форма заполнения статьи платежа |
![]() |
Отображение справочника статей платежей |
![]() |
Форма счета |
![]() |
Отображение счетов |
Формы для внесения доходов и расходов идентичны по своему наполнению, поэтому покажу пример только для одного типа платежа. Платеж можно создать либо из основного представления счетов, либо из представлений, отображающих только доходы, расходы или переводы.
![]() |
Форма для внесения платежа (дохода) |
![]() |
Отображение состояния счетов после внесения платежа и баланса |
Переводы подразумевают переводы между своими счетами. Они могут быть с комиссиями или без. Комиссия может рассчитываться как % от переводимой суммы или как фиксированное значение. Комиссия отнимается от счета, с которого происходит перевод. Перевод может быть осуществлен между счетами с разными валютами, тогда появляются дополнительные поля, отображающие курс перевода и получающуюся сумму. Курс вычисляется как кросс-курс между валютами счетов на основе справочника курсов на дату осуществления перевода. Если на дату перевода курса нет - берется наиболее близкий ранний курс. Основное удобство, на мой взгляд, что при межвалютном переводе можно ввести итоговую сумму (чтобы не высчитывать курс) и тогда курс пересчитается автоматически. Можно изменить курс, тогда пересчитается итоговая сумма и т.д.
![]() |
Внесение перевода между счетами с одной валютой и комиссией |
![]() |
Перевод между счетами с разной валютой. Расчет суммы на целевом счете исходя из справочного курса |
![]() |
Перевод между счетами с разной валютой. Изменение суммы на целевом счете и соответствующий пересчет курса |
![]() |
Отображение операций по счету |
![]() |
Отображение счетов и баланса после внесения операций |
При изменении параметров или удалении платежа/перевода все значения пересчитываются.
Текущий баланс пересчитывается при открытии базы или по нажатию кнопки "Обновить". Можно сохранить данные текущего баланса.
Отдельно можно построить отчет по операциям за период и сохранить его при необходимости:
![]() |
Диалог установки параметров для построения отчета |
Данная база существует в одном месте. Ее можно перетаскивать репликациями, но это не удобно. Заносить потом кипы чеков или вспоминать какие-то расходы потом весьма трудно, поэтому было бы удобно иметь доступ к ведению баланса откуда угодно. Web-доступ. Понятное дело, что основное устройство для этого - мобильный, значит приложение должно решать как минимум основные задачи (внесение расходов, доходов, переводов, получение минимальной информации по счетам) и быть удобным для работы через мобильное устройство.
И вот...совсем недавно это стало реальностью. И это удобно.
Основное меню:

Занесение расхода:
Перевод:
Просмотр данных по счетам:
Конечно, это не нативное приложение, но свои функции выполняет. Потихоньку готовлю и полнофункциональную Web-версию.
Комментарии
Отправить комментарий