3.5.4. Экран редактирования Покупателя со списком Заказов

Займемся задачей отображения списка Заказов в окне редактирования Покупателя.

  • Перейдите на вкладку Screens на панели навигатора. Выделите экран customer-edit.xml и нажмите на кнопку Edit.

  • На странице дизайнера экрана перейдите на вкладку Datasources и нажмите на кнопку New.

  • Выделите только что созданный источник данных в списке. В правой части страницы отобразятся его характеристики.

  • В поле Type укажите collectionDatasource.

  • В поле Id введите значение идентификатора источника данных − ordersDs.

  • В списке Entity выберите сущность com.sample.sales.entity.Order.

  • В списке View выберите представление _local.

  • В поле Query введите следующий запрос:

    select o from sales$Order o where o.customer.id = :ds$customerDs order by o.date

    Здесь запрос содержит условие отбора Заказов с параметром ds$customerDs. Значением параметра с именем вида ds${datasource_name} будет идентификатор сущности, установленной в данный момент в источнике данных datasource_name, в данном случае − идентификатор редактируемого Покупателя.

    qs customer screen orders ds
  • Нажмите на кнопку Apply для сохранения изменений.

  • Далее перейдите на вкладку Layout в дизайнере экрана и в палитре компонентов найдите компонент Label. Перетащите этот компонент на панель иерархии компонентов экрана, между fieldGroup и windowActions. Перейдите на вкладку Properties на панели свойств. В качестве значения поля value введите msg://orders. Нажмите на кнопку localization рядом с полем value и задайте локализованное значение надписи.

    qs customer screen label
    Tip

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

  • Перетащите компонент Table из палитры компонентов на панель иерархии компонентов между label и windowActions. Выделите компонент в иерархии и на панели свойств на вкладке Layout задайте размеры таблицы: в поле width укажите 100%, в поле height установите значение 200px. Перейдите на вкладку Properties. В качестве идентификатора укажите значение ordersTable, из списка доступных источников данных выберите orderDs.

    qs customer screen table
  • Для сохранения изменений в экране редактирования Покупателя нажмите на кнопку OK в верхней панели.