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

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

В прошлый раз мы остановились на том, что создали простую, но уже функционирующую систему для учета домашней бухгалтерии при помощи FileMaker. Однако, как было замечено в конце той статьи, системе не хватает некоторых обычных для подобных программ функций: работа со счетами (аккаунты) и работа с категориями. Подробнее о принципах работы программ учета домашних финансов можно прочитать в статье "Финансы в порядке".

Категории

В нашей системе уже предусмотрена работа с категориями - существует поле category, которое пользователь может заполнить при создании/редактировании транзакции. Но возможность выбирать категорию из готового списка и редактировать по своему усмотрению - гораздо удобнее и эффективнее. Кроме этого, чтобы указать, к какому типу (доходы или расходы) относится данная транзакция, пользователь вынужден вручную вбивать в поле type соответствующее слово. Это неудобно и чревато серьезным сбоем - простая ошибка при наборе слова приведет к тому, что сумма транзакции не будет учитываться в подсчете баланса. Существует множество решений подобных задач, и большинство из них легко реализуется в FileMaker.

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

Действительно, было бы совершенно нелепо, если бы наша программа позволяла транзакцию категории "платежи за интернет" отметить как "доходы". Значит при выборе той или иной категории поле type должно заполняться автоматически.

Начнем с того, что создадим списки категорий. Для этого потребуется создать две новые таблицы. Выбираем пункт меню File - Manage - Database и в закладке Tables создаем таблицы Category Expenses (категории расходов) и Category Income (категории доходов). В каждой из таблиц создадим по два поля:

- name. Формат Text. Это название категории

- global. Формат Number. Кроме того, нажав кнопку Options и выбрав закладку Storage, присвоим этому полю признак Global, аналогично тому, как мы это делали для поля balance в прошлой статье. Теперь это поле превратилось в глобальную переменную, "прикрученную" к таблице. Зачем потребовалась поле global - мы увидим в дальнейшем.

Теперь у нас есть две таблицы категорий. И соответственно, FileMaker создал два Layout для каждой из таблиц. В этой статье мы не будем останавливаться на создании редактора категорий с кнопками и т.п., - с точки зрения обучения FileMaker, эта работа выглядела бы аналогично созданию режима редактирования транзакций. Пойдем более простым путем. Выбрав соответствующий Layout, укажем пункт меню View - View as Table. Теперь можно вводить категории в поля таблицы аналогично работе с Excel. Учитывая, что список категорий вводится только в начале работы с системой, а потом только изредка редактируется, для нашей учебной программы такой способ можно назвать приемлемым.

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

Итак мы видим, что редактор транзакций существенно преобразился. Пространство, оставленное свободным в прошлый раз, заполнено таблицами категорий. Раньше мы неоднократно указывали, что в Filemaker каждый Layout привязан к конкретной таблице, и вот теперь видим обратное - на нашем Layout Transaction показываются данные сразу из трех таблиц. Никакого противоречия здесь нет - ситуации, когда на одном Layout требуется использовать данные из других таблиц, встречаются достаточно часто, для этого в FileMaker существует специальный механизм связей между таблицами - Relation, а также инструмент Portal, с помощью которого и были созданы списки категорий в редакторе транзакций. Но сначала поговорим о Relations - связях.


Источники:

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