3.5.4. Экран редактирования Покупателя со списком Заказов
Займемся задачей отображения списка заказов в окне редактирования покупателя.
-
Перейдите на вкладку Generic UI на панели навигатора. Выделите экран
customer-edit.xml
и нажмите на кнопку Edit. -
На странице дизайнера экрана перейдите на вкладку Datasources и нажмите на кнопку New.
-
Выделите только что созданный источник данных в списке. В правой части страницы отобразятся его характеристики.
-
В поле Type укажите
collectionDatasource
. -
В списке Entity выберите сущность
Order
. -
В поле Id будет автоматически заполнено значение идентификатора источника данных −
ordersDs
. -
В списке View выберите представление
_local
. -
В поле Query введите следующий запрос:
select e from sales$Order e where e.customer.id = :ds$customerDs order by e.date
Здесь запрос содержит условие отбора Заказов с параметром
ds$customerDs
. Значением параметра с именем видаds${datasource_name}
будет идентификатор сущности, установленной в данный момент в источнике данныхdatasource_name
, в данном случае − идентификатор редактируемого Покупателя. -
Нажмите на кнопку Apply для сохранения изменений.
-
Далее перейдите на вкладку Layout в дизайнере экрана и в палитре компонентов найдите компонент
Label
. Перетащите этот компонент на панель иерархии компонентов экрана, междуfieldGroup
иwindowActions
. Перейдите на вкладку Properties на панели свойств. В поле value введите значение компонента:Orders
.TipЕсли разрабатываемое приложение предполагает локализацию на несколько языков, используйте кнопку рядом с полем value, чтобы создать новое сообщение
msg://orders
и задать его значение на требуемых языках. -
Перетащите компонент
Table
из палитры компонентов на панель иерархии компонентов междуlabel
иwindowActions
. Выделите компонент в иерархии и перейдите на вкладку Properties. Задайте размеры таблицы: в поле width укажите100%
, в поле height установите значение200px
. Из списка доступных источников данных выберитеorderDs
, после этого в поле id с помощью кнопки сгенерируйте идентификатор таблицы:ordersTable
. -
Для сохранения изменений в экране редактирования Покупателя нажмите на кнопку OK в верхней панели.