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

Список категорий

Для создания списка используется инструмент Portal. Можно выбрать соответствующую кнопку из панели Status Area или выбрать пункт меню Insert - Portal. Естественно, все эти манипуляции должны происходить в режиме Layout Mode. Выбрав инструмент Portal и нарисовав будущий список, мы оказываемся в диалоге Portal Setup. Здесь, в первую очередь, потребуется указать "связанную" таблицу, записи которой будут отображаться в портале. Кроме этого, мы можем указать параметры их отображения:

- порядок сортировки записей

- разрешить ли удалять записи прямо из портала

- показывать ли вертикальную полосу прокрутки

- скрывать вертикальную полосу прокрутки если все записи умещаются в портале.

- количество строк в портале и с какого номера требуется начинать отображение

  • альтернативный фон строки. Используется для чередования цвета фона строк в портале для лучшей наглядности.

Нажав "Ок" мы окажемся в диалоге Add Fields to Portal, где нужно указать, какие поля требуется отображать в портале. Для нашего случая это только поле name.

В итоге должно получиться что-то вроде показанного на рисунке:

В портале я добавил значок стрелку, который будет служить кнопкой для выбора нужной категории. Если вернуться к началу статьи и еще раз взглянуть на рисунок 1, то станет понятно, как эта кнопка работает. Важно знать, что в пределах строки портала можно размещать какие угодно элементы и давать им произвольные размеры. FileMaker позволяет превратить портал из скучного построчного списка в сколь угодно сложный и более наглядный способ отображения записей связанных таблиц, добавляя требуемые элементы управления этим списком. Единственное ограничение: все элементы портала не должны выходить за пределы его строки. Сам размер строки ограничен только фантазией разработчика. Тем не менее, в нашей системе ограничимся добавлением кнопки выбора категории.

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

Для категорий доходов создадим скрипт set income category:

Set Fiield [Transactions::category; Category Income::name]

Set Fiield [Transactions::type; "Доходы"]

Первая строка устанавливает название категории в данные о редактируемой транзакции, а вторая строка указывает, что данная транзакция описывает доходы. Аналогично для категорий расходов скрипт set expenses category будет следующим:

Set Fiield [Transactions::category; Category Excel::name]

Set Fiield [Transactions::type; "Расходы"]

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

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

В таблицу Transactions добавим поле account name c форматом Text. Создадим еще одну таблицу, назовем account с единственным полем name. Аналогично с таблицами категорий в режим Table View создадим несколько записей - названия счетов.

В режиме редактирования транзакции нарисуем новое поле и помощью диалога Fields/Control Setup привяжем его к полю account name. Не выходя из диалога укажем способ отображения поля - Control Style - как Drop-down list - выпадающий список. В качестве значений списка (Display values from) нам требуется указать таблицу accounts. Для этого из выпадающего списка Display values from выберем пункт Manage Values Lists... и оказавшись в соответствующем диалоге создадим новый список значений.

Теперь нашу систему можно считать законченно а результат работы можно посмотреть на рисунке.

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


Источники:

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