Перейти к основному содержимому

Примеры описания экранных форм со сложными элементами управления

Форма «ProjectSettings»

Описана форма «ProjectSettings», которая содержит элемент управления, отображающий значение типа «BusinessEntity».

В описании этой формы есть ссылка на списочную сущность «BusinessEntityPickList» (откуда будет вестись выбор конкретного «BusinessEntity»). Списочная сущность «BusinessEntityPickList» описана в отдельном примере (см. «Списочная сущность «BusinessEntityPickList»» ).

В описании этой формы есть ссылка на форму просмотра и редактирования «BusinessEntityForm» (которая будет открываться для просмотра выбранного значения «BusinessEntity»). Форма «BusinessEntityForm» описана в отдельном примере (см. «Форма «BusinessEntityForm»» ).

Код формы «ProjectSettings»:

Project/ProjectSettings.UxForm.xml
<!-- обязательный заголовок файла, в котором описывается форма -->
<?xml version="1.0" encoding="utf-8"?>
<EditForm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- секция описания формы начинается с указания имени формы -->
<Name>ProjectSettings</Name>
<!-- заголовок формы -->
<Title>Organization Settings</Title>
<!-- отображать ли кнопку удаления -->
<DeleteButton>false</DeleteButton>
<!-- секция описания элементов управления формы -->
<Controls>
<!-- отображение строкового поля -->
<TextEditor>
<Label>Brief Name</Label>
<PropertyName>BriefName</PropertyName>
</TextEditor>

<!-- отображение и выбор значения, являющегося ссылкой на справочник -->
<ReferencePickerEditor>
<!-- текстовая надпись -->
<Label>Own Business Entity</Label>

<!-- свойство сущности "Project", которое нужно отобразить, -->
<!-- и которое хранит значение (ссылку на справочник) -->
<PropertyName>OwnBusinessEntity</PropertyName>

<!-- выбор значения будет производиться -->
<!-- среди объектов сущности-списка "BusinessEntityPickList" -->
<!-- сущность-список "BusinessEntityPickList" описан в отдельном подпункте ниже -->
<PickListViewName>BusinessEntityPickList</PickListViewName>

<!-- полю формы "OwnBusinessEntity" -->
<!-- соответствует объект "BusinessEntity" сущности-списка "BusinessEntityPickList" -->
<PickListViewEntityId>BusinessEntity</PickListViewEntityId>

<!-- просмотр значения будет производиться в этой «встроенной» форме -->
<ViewForm>
<Controls>
<!-- во «встроенной» форме – и элементы управления «встроенные» -->
<ReadOnlyTextExpressionInline>
<!-- this – это объект сущности "BusinessEntity" -->
<!-- отображается его свойство "Title" -->
<TextExpression>this.Properties.Title</TextExpression>
</ReadOnlyTextExpressionInline>
</Controls>
</ViewForm>

<!-- просмотр объекта "BusinessEntity" будет производиться -->
<!-- в форме "BusinessEntityForm" сущности "BusinessEntity" -->
<!-- Эта форма описана в отдельном подпункте ниже -->
<ListItemForms>
<ListItemForm EntityId="BusinessEntity" FormName="BusinessEntityForm">
<Title>New business entity</Title>
</ListItemForm>
</ListItemForms>

<!-- форма для добавления нового значения в справочник – та же, "BusinessEntityForm" -->
<NewFromListFormName>BusinessEntityForm</NewFromListFormName>
</ReferencePickerEditor>
</Controls>
</EditForm>

Списочная сущность «BusinessEntityPickList»

BusinessEntities/BusinessEntityPickList.Domain.xml
<!-- описание сущности списка "BusinessEntityPickList" -->
<?xml version="1.0" encoding="utf-8"?>
<DomainFile>
<Lists>
<!-- название сущности -->
<List Name="BusinessEntityPickList">
<!-- заголовок -->
<Title>Please pick a business entity</Title>

<!-- колонки списка -->
<Columns>
<!-- у этого списка одна колонка "Name" -->
<String Name="Title" Title="Name">
<StringExpression>model.Properties.Title</StringExpression>
</String>
</Columns>

<!-- в списке отображаются объекты этого сущности -->
<Entities>
<Entity>BusinessEntity</Entity>
</Entities>

<!-- отображаются не все объекты, если Объект.Disabled == false, он не будет отображён -->
<FilterExpression>!model.Properties.Disabled</FilterExpression>

<!-- сортировка по умолчанию – по полю "Title" -->
<DefaultSortBy>
<ColumnSort ColumnName="Title" />
</DefaultSortBy>
<SortOptions />

</List>
</Lists>
</DomainFile>

Форма «BusinessEntityForm»

BusinessEntities/BusinessEntity.UxForm.xml
<?xml version="1.0" encoding="utf-8"?>
<EditForm>
<!-- секция описания формы начинается с указания имени формы -->
<Name>BusinessEntityForm</Name>
<!-- заголовок формы -->
<Title>Business Entity</Title>
<!-- отображать ли кнопку удаления -->
<DeleteButton>true</DeleteButton>
<!-- секция описания элементов управления формы -->
<Controls>
<!-- отображение строкового свойства сущности -->
<TextEditor>
<Label>Name</Label>
<PropertyName>Title</PropertyName>
</TextEditor>

<!-- отображение булева свойства сущности -->
<CheckboxEditor>
<Label>This is an individual</Label>
<PropertyName>IsAnIndividual</PropertyName>
</CheckboxEditor>

<!-- отображение строкового свойства сущности -->
<TextEditor>
<PropertyName>FullName</PropertyName>
<Label>Full Name</Label>
</TextEditor>

<!-- отображение булева свойства сущности -->
<CheckboxEditor>
<Label>No Longer Used</Label>
<PropertyName>Disabled</PropertyName>
</CheckboxEditor>
</Controls>
</EditForm>