Практика 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
, который будет выводить новое отображение в качестве закладки.
Источники для самостоятельного изучения
Изучите следующие разделы в Руководстве прикладного разработчика
: