FileMaker. Часть 4
Создание программы ведения домашней бухгалтерии
[ 21 апреля, 2008 г ]Автор: А. Перла

Баланс

Если мы еще раз посмотрим на рисунок, где отображается работа нашей системы в режиме списка, то увидим, что внизу, в поле Footer, есть некое поле balance, которое отображает текущий баланс счета. Баланс - это сумма всех доходов минус сумма всех расходов. Нам нужно только заставить FileMaker вычислять его автоматически. Для этого вернемся к диалогу редактирования таблицы. Нам потребуется добавить несколько новых полей, а именно, три.

Первое поле - это сумма всех доходов. Назовем его Income All. В качестве формата поля укажем еще не использовавшийся формат Summary. Как ясно из названия, такой формат позволяет производить вычисления в автоматическом режиме. В появившимся диалоге выберем пункт Total of (сумма значений) и укажем поле, по которому надо производить суммирование. В нашем случае это - поле Amount Income. Аналогично создадим поле Expenses All - это поле будет суммировать все расходы.

Теперь создадим поле balance и укажем для него формат Calculation. Формула вычисления проста: Income All - Expenses All. Но есть и тонкость. Поле balance вычисляет значение баланса для всей таблицы, по сути, это - переменная. Если мы оставим все как есть, то в нашей таблице в каждой записи будет храниться поле balance с одинаковым значением. Это неправильно, так как, во-первых, это увеличивает объем хранимых данных, во-вторых, не совсем понятно, к какой конкретно записи мы должны обращаться, чтобы получить и отобразить значения баланса. Для разрешения подобного противоречия в FileMaker есть специальный механизм. В диалоговом окне Specify Calculation нажмем кнопку Storage Options и в появившемся окне отметим пункт Use global storage. Теперь полю присвоен признак Global. Это означает, что для хранения этого поля используется только одна ячейка памяти. А значение поля едино для всех записей таблицы. Поле превратилось в специальную переменную, "прикрученную" к таблице, что нам и требовалось.

***

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


Источники: МакЦентр

Комментарии, обсуждение