Практика 3.1
Ответ на задание необходимо предоставить в виде файлов Scala и XML, которые были изменены в текущем уроке (для написанного программного кода). Скриншоты интерфейса приложения для заданий выполняемых в интерфейсе и для демонстрации работы кода в системе Global ERP следует отправить в формате PDF, PNG или JPG. Для удобства рекомендуется прислать все файлы в одном архиве.
В ответе на задание должны содержаться элементы, обеспечивающие работоспособность описанного в задании функционала.
Создание древовидного справочника
-
Создайте справочник
Lbr_Catalog- Каталог с представлением объектов класса в виде дерева и указанными ниже атрибутами:
|
name |
attribute-type |
caption |
Дополнительно |
|---|---|---|---|
|
id |
Идентификатор |
Long |
Basic |
|
idClass |
Идентификатор класса |
Long |
Basic |
|
gid |
gid |
Varchar |
Basic |
|
idParent |
Long |
Предок |
Ссылается на класс Lbr_Catalog. Невидимый атрибут |
|
sCode |
Varchar |
Код |
Обязательный для заполнения, мнемокод |
|
sCaption |
Varchar |
Наименование |
Обязательный для заполнения, хедлайн |
Чтобы генератор кода автоматически создал нужные для отображения дерева методы, необходимо в метаданных указать viewOptions.classType="tree" и viewOptions.classParentAttribute="idParent"
-
Добавьте в класс
Lbr_Bookхранимую ссылку на каталог. -
Добавьте в
Lbr_MainMenuAviоткрытиеLbr_CatalogAvi.defList.
Добавление вычисляемого поля
Добавьте поле с количеством книг в каталоге.
-
Переопределите
selectStatementиonRefreshExtи добавьте поле с количеством книг в каталоге, используя подзапрос. - Добавьте в разметку описание нового атрибута, чтобы он был видимым и выводился после описания.
Добавление закладки
Добавьте нередактируемую закладку к каталогу отображающую список книг без возможности создания и удаления.
- Совет
-
-
Такие закладки принято именовать с учетом типа выборки (карточка, список или дерево) и имени атрибута, от которого происходит запрос данных на эту выборку. Данную выборку лучше всего назвать
List_idCatalog
-
В
Lbr_BookApiобъявите транзакционный индекс по полюidCatalogи метод получения книг по каталогу (refreshByCatalog), используя методrefreshByKeyобъявленного ранее транзакционного индекса. -
Для
Lbr_BookAviдобавьте новое отображение, которое будет выводить список книг для каталога, используя метод из предыдущего пункта. -
В
avmдобавьте разметку для нового отображения. -
Для этого отображения скройте операции
insert,deleteиuniFilter, используя аннотацию@OperвAviили блок<operations/>вavm. Так же скройте вывод панели фильтрации. -
Для
Lbr_Catalogв разметке отображенийTreeиCardпоменяйте настройкиlayoutсsimpleComposerнаtabComposerи добавьте блокtabItemsс конкретнымtabItem, который будет выводить новое отображение в качестве закладки.
Источники для самостоятельного изучения
Изучите следующие разделы в Руководстве прикладного разработчика: