К основному контенту

IBM Notes. Личный баланс

Хочу поделиться приложением, которое я делал и делаю по-сути для себя. Одна из первых идей для личного удобства, которую я начал делать, когда еще только познакомился с IBM Lotus Notes/Domino. Это приложение пережило несколько итераций и было одно из первых, на которых я опробовал попытки создания движков для приложений. Это приложение не самое сложное, которое я когда-либо делал. Это приложение не обладает невообразимыми функциональными возможностями. Но. Это приложение, которым я горжусь.
Это приложение, позволяющее вести личный баланс...


По порядку о всех возможностях.
Основной вид, открывающийся по-умолчанию - это счета. Изначально, он естественно пуст.
Основное представление со счетами

Начинать работу в первый раз нужно с заполнения личных справочников, а именно: типов счетов и статей платежей. Имеются так же общие справочники: валюты и курсы. Основная валюта системы в данный момент зафиксирована для всех пользователей - это рубль. Относительно него загружаются курсы (с сайта ЦБ на дату загрузки) и строится текущий баланс. Курсы загружаются в автоматическом режиме.
Отображение справочника валют

Отображение справочника курсов валют

Итак, заполнение индивидуальных справочников:
1. Типы счетов
Служат для удобства, разбивают счета. Мне удобно разбивать по типу хранения, например: наличные, банковские счета, и пр. Можно указать иконку для отображения. Иконки берутся из стандартных лотусовых по номеру (тут для широких масс, конечно потребуется некоторая контекстная справка)
Вид и заполнение справочника типов счетов

2. Статьи платежей
Делятся на доход/расход. Поддерживаются подкатегории.
Форма заполнения статьи платежа
Отображение справочника статей платежей
После заведения справочников можно приступать ко внесению счетов. Поле "Учитывать при расчете баланса" позволяет заводить счета, которые, что очевидно из названия поля, не будут учитываться при расчете общего баланса. После появления операций по счету, он будут отображаться в правой части карточки счета.
Форма счета

Отображение счетов

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

Отображение состояния счетов после внесения платежа и баланса
Переводы подразумевают переводы между своими счетами. Они могут быть с комиссиями или без. Комиссия может рассчитываться как % от переводимой суммы или как фиксированное значение. Комиссия отнимается от счета, с которого происходит перевод. Перевод может быть осуществлен между счетами с разными валютами, тогда появляются дополнительные поля, отображающие курс перевода и получающуюся сумму. Курс вычисляется как кросс-курс между валютами счетов на основе справочника курсов на дату осуществления перевода. Если на дату перевода курса нет - берется наиболее близкий ранний курс. Основное удобство, на мой взгляд, что при межвалютном переводе можно ввести итоговую сумму (чтобы не высчитывать курс) и тогда курс пересчитается автоматически. Можно изменить курс, тогда пересчитается итоговая сумма и т.д.
Внесение перевода между счетами с одной валютой и комиссией
Перевод между счетами с разной валютой. Расчет суммы на целевом счете исходя из справочного курса
 
Перевод между счетами с разной валютой. Изменение суммы на целевом счете и соответствующий пересчет курса

Отображение операций по счету

Отображение счетов и баланса после внесения операций

При изменении параметров или удалении платежа/перевода все значения пересчитываются.

Текущий баланс пересчитывается при открытии базы или по нажатию кнопки "Обновить". Можно сохранить данные текущего баланса.

Отдельно можно построить отчет по операциям за период и сохранить его при необходимости:
Диалог установки параметров для построения отчета
Данная база существует в одном месте. Ее можно перетаскивать репликациями, но это не удобно. Заносить потом кипы чеков или вспоминать какие-то расходы потом весьма трудно, поэтому было бы удобно иметь доступ к ведению баланса откуда угодно. Web-доступ. Понятное дело, что основное устройство для этого - мобильный, значит приложение должно решать как минимум основные задачи (внесение расходов, доходов, переводов, получение минимальной информации по счетам) и быть удобным для работы через мобильное устройство.
И вот...совсем недавно это стало реальностью. И это удобно.
Основное меню:
 

Занесение расхода:

Перевод:

Просмотр данных по счетам:

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

Популярные сообщения из этого блога

Занимательные алгоритмы. Поиск цикла в односвязном списке

И снова про тараканов, которые иногда возникают в голове. Как-то раз, засыпая, я задумался на курьезными задачками из своей сферы деятельности (Lotus Notes), которые можно было бы задать на собеседовании, плавно перешел к воспоминаниям о своих первых собеседования, когда опыта работы еще не было. Опыт самих собеседований у меня не велик а места, где задавались действительно интересные задачи (а не задачки типа: написать сортировку массива любым известным способом) вообще равны одному - это ABBYY. Как минимум одна задачка в списке на знание и понимание классических алгоритмов, описанных в книге Дональда КнутаИскусство программирования.

Lotus Notes FAQ. Добавление пользовательских адресных книг

Все, кто так или иначе работает с IBM Lotus Notes, видели диалог выбор адресатов - скажем, при написании письма. Там имеется выпадающий список, включающий как минимум личную адресную книгу и серверную. В этот список можно добавить и свою базу. Ниже будет разобрано как это можно сделать









Lotus Notes FAQ. 8/9 Eclipse. Как настроить уведомления о Sametime сообщениях

На написание данной "инструкцию" натолкнул мой коллега. Помню, первый раз сам долго искал, как отключить постоянно выпрыгивающие уведомления о новых сообщениях в Sametime.

Итак, речь идет о клиентах IBM Notes 8+ версии Standart (Eclipse based).

Как настроить уведомления о Sametime сообщениях?