Создание формы

Для создания новой формы необходимо вызвать контекстное меню в окне проекта и выбрать "New->Form", после чего задать ей имя B_MainForm.

 

Создание источников данных

Далее необходимо создать источники данных (Data Sources) для формы. Создать источники можно перетаскиванием из дерева проекта таблиц, содержимое которых будет использоваться формой, в узел Data Sources формы.

Создание источников данных

Для всех зависимых источников данных необходимо выставить значение свойства JoinSource - связанный источник данных. Данные из источника B_Analytics (таблица B_Analytics) зависят от источника B_Category (таблица B_Category), поэтому для источника B_Analytics значение JoinSource нужно выставить в B_Category.

 

Инициализация данных

При добавлении новых записей в таблицу B_Category необходимо обеспечить правильную инициализацию поля B_Category.ID. Как было сказано выше, это поле является уникальным идентификатором. Для инициализации поля уникальным значением можно переопределить метод initValue источника данных B_Category.

Переопределение метода initValue

В появившемся окне редактора пишем следующий код:


B_Category tablLast, tablCurrent;


super();
tablCurrent = this.cursor();
ttsbegin;
select maxof(ID) from tablLast;
tablCurrent.ID = tablLast.ID + 1;
tablCurrent.insert();
ttscommit;

Аналогично необходимо переопределить методы initValue для источников данных B_Analytics, B_Autor и B_Register.

 

Создание элементов формы

Теперь все готово для разработки дизайна формы. Для открытия формы в режиме редактирования дизайна необходимо дважды кликнуть левой кнопкой мыши на узле "B_MainForm\Designs\Design". Добавление новых элементов на форму начинается с узла "B_MainForm\Designs\Design" с помощью контекстного меню "New control -> [Имя элемента управления]". Подробно этот процесс уже рассматривался ранее, в "HelloWorld!".

Для создания формы, необходимо создать следующее дерево элементов:

Дерево элементов управления

При автоматическом задании положения элемента Axapta автоматически определяет координаты элемента на основе его содержимого. Если элемент не содержит конкретных данных, то по умолчанию он не будет отражаться на конечной форме. Чтобы изменить это поведение необходимо установить свойство HideIfEmpty равным No.

Для всех элементов Grid необходимо задать источник данных, отображаемых элементом. Это делается с помощью свойства DataSource. Колонки элемента Grid можно задать, перетащив требуемые поля из соответствующего источника данных формы.

 

Запуск формы на выполнение

Теперь можно протестировать созданную форму. Для этого нужно вызвать контекстное меню для формы в дереве проекта и выбрать пункт "Открыть" или нажать "Ctrl+O".

Вид работающей формы

Для добавления новой записи в элемет Grid необходимо нажать "Ctrl+N", для удаления записи - "Alt+F9".

 

Выпадающие окна (lookup)

При создании (редактировании) записи об аналитике для изменения категории, которой принадлежит аналитика, появляется выпадающее окно, в котором отображаются записи из таблицы B_Category. По умолчанию в выпадающем окне будет только один столбец - тот, на который ссылается зависимая таблица B_Analytics. Чтобы добавить другие столбцы в выпадающее окно, необходимо отредактировать определение таблицы B_Category. Для этого в дереве проекта необходимо перетащить требуемые поля из узла "B_Category\Fields" в узел "B_Category\Field Groups\AutoLookup".

Создание новый AutoLookup-полей

Аналогичную операцию можно сделать для таблиц B_Analytics и B_Autor.

Пример выпадающего окна

Скачать У кого не получилось все сделать самостоятельно - можно загрузить файл готового проекта этого шага здесь (7 Кб).

Автор: Андрей Михайлов aka MAV

...Шаг 7.1 | Содержание | Шаг 7.3...