Форма: this is my first time, часть 1
[id:53]
Есть такие счастливчики, которые хотя бы раз в жизни слышали от девушки фразу «ЭТО у меня в первый раз». Хотя, кроме везения, там обязательно присутствует доля терпения и личные качества соблазнителя.
Давайте сделаем свою первую форму. Создайте проект Blog53 и группу типа Forms в нем. Щелкните правой кнопкой на ветке Forms, пункт "Создать", "Form".
Форму будут звать "VeryFirstForm".
В дереве проекта у формы отображается три ветки.
Ветвь "Methods" содержит в себе методы формы; изначально там только "ClassDeclaration" (смотри «Система: MorphX, среда разработки»). Вы можете создавать свои методы на форме, равно как и перегружать имеющиеся. В конце концов форма — это класс с некоторым готовым функционалом.
Следующая ветвь "Data Sources" содержит источники данных, то есть таблицы, из которых форма будет брать данные.
И последнее — "Designs" —, где навечно прописана ветвь Design. В Аксапте все свойства формы устанавливаются именно здесь.
Давайте сделаем заголовок формы: щелкните правой кнопкой на Design и выберите пункт «Свойства» (или нажмите Alt+Enter). Справа появится прикрепленное окно свойств. Установите свойство Caption равным «Самая первая форма».
И сохраните форму: щелчок правой клавишей на форме VeryFirstForm, пункт «Сохранить».
Пока рано глядеть результат, нужно еще прикрепить источник данных. Форма работает с таблицами базы данных через них. Датасорсов (источников данных) может быть много, но здесь ограничимся одним — таблицей альтернативных адресов "Address". Откройте AOT нажатием Ctrl+D и найдите там таблицу "Address". Перетащите ее в ветку "Data Sources" нашей формы VeryFirstForm:
Дитя дрэг-энд-дропа (drag-and-drop, перетащи и брось) обзавется так же, как и таблица, к которой он привязан. Но вовсе не обязательно, чтобы датасорс назывался также, как и представляемая им таблица.
Следующий шаг — накидывание контролов на форму (элементов пользовательского интерфейса). Типовая форма в Аксапте состоит из набора вкладок "Tab" и справа размещается группа кнопок "ButtonGroup". Делаем.
Щелкните на ветке "Design" правой клавишей, пункт «Создать Control», "Tab". Появится контрол Tab (набор вкладок) с именем "Tab". Таким же образом сделайте контрол типа ButtonGroup с именем "ButtonGroup".
Типовая форма Аксапты содержит две вкладки: «Обзор» и «Разное». На первой данные отображаются в табличном виде (на гриде, Grid), а вторая содержит поля только для текущей записи.
Щелкните на контроле "Tab", выберите пункт «Создать Control», "TabPage". Переименуйте созданную вкладку в "TabOverview", ее свойство "Caption" установите равным «Обзор». Точно также создайте вторую вкладку "TabGeneral" со свойством Caption=Разное.
На вкладку TabOverview добавьте контрол типа "Grid" с таким же именем.
В группе кнопок ButtonGroup создайте контрол типа "CommandButton" c именем "closeForm". Контролы CommandButton имеют специальное свойство "Command" (оно располагается в конце списка свойств), установите его в значение «Закрыть». Тем самым вы задаете команду, которая будет выполнена системой во время нажатия на кнопку.
Заключительный этап: отображение данных на форме.
В ветке Data Sources формы для единственного датасорса Address щелкните на разделе Fields правой клавишей, выберите «Открыть в новом окне». Откроется дополнительное окно со всеми полями таблицы Address. Оно нам сейчас пригодится.
Как вы понимаете сам датасорс не имеет полей, их нельзя создать на нем. Все, что он имеет, взято из таблицы Address.
Чтобы создать поля на контроле Grid, которые будут показывать данные таблицы Address, снова воспользуемся приемом Drag-and-Drop: выделите поля "Name", "Address", "Phone" в дополнительном окне и перетащите их на контрол Grid. Будут созданы контролы Address_Name, Address_Address, Address_Phone, которые превраться в столбцы на таблице Grid.
Наконец, добавим что-нибудь на закладку "Разное". Для этого в дополнительном окне с полями таблицы прокрутите список вниз до конца. Вы увидите элементы с ярлыками в виде желтых папочек; это группы полей (неважно что это конкретно, просто группы полей). Выделите Description и SalesTax, перетащите их на вкладку TabGeneral.
Все готово, чтобы увидеть свою собственную форму. Щелкните на форме VeryFirstForm правой клавишей, выберите "Открыть". Вот она:
Итог
Alt+Enter — открыть панель свойств объекта.