Создание перечисления
Создать новую схему перечисления listTypeSO
Схема перечисления
<?xml version='1.0' encoding='UTF-8'?> <schemas xmlns="http://www.intertrust.ru/schema/palette/tn-schema"> <enum name="listTypeSO"> <string value="Employee" name="Employee"/> <string value="Department" name="Department"/> </enum> </schemas>
Подключение перечисления к схеме
Подключить перечисление listTypeSO к полю typeSO на форме и задать значение по умолчанию Employee
Схема документа
<?xml version='1.0' encoding='UTF-8'?> <schemas xmlns="http://www.intertrust.ru/schema/palette/tn-schema"> <schema name="{schema name}"> <!--...--> <enum-ref name="typeSO" ref="listTypeSO" default-value="Employee"> <storage-field name="typeSO"/> </enum-ref> <!--...--> <schema> </schemas>
Задание алиасов
Добавить справочник aliasTypeSO для отображения русскоязычных значений
Справочник
<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <directories> <list name="${ui.directories.list.aliasTypeSO.name:Тип СО}" id="aliasTypeSO"> <value alias="Employee" name="Работникам"/> <value alias="Department" name="Подразделению"/> </list> </directories> </ui>
Вывод поля на форму
Подключить св-во схемы typeSO к форме, для вывода его в UI-интерфейс. Указать widget="radio" и подключить справочник aliasTypeSO для отображения русскоязычных значений
Форма документа
<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <form schema-ref="{schema name}" id="{form name}" projection="default" showtabs="true"> <component> <!--...--> <section> <!--...--> <field attribute-ref="typeSO"> <appearance widget="radio"/> <directories> <directory-ref ref="aliasTypeSO"/> </directories> </field> <!--...--> </section> <!--...--> </component> </form> </ui>
Создание условия
Создать условие selectDepartment, по которому будет скрываться поле Работник и отображаться Подразделение
Условие применения
<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <condition name="selectDepartment"> <modes> <mode name="edit"/> </modes> <schema-ref ref="{schema name}" condition-union="AND"> <string-ref value="Department" ref="typeSO"/> </schema-ref> </condition> </ui>
Подключение условия к полям формы
Подключить условие selectDepartment применение к полю department и employee
Форма документа
<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <form schema-ref="{schema name}" id="{form name}" projection="default" showtabs="true"> <component> <!--...--> <section> <!--...--> <field attribute-ref="typeSO"> <appearance widget="radio"/> <directories> <directory-ref ref="aliasTypeSO"/> </directories> </field> <field attribute-ref="department" name="${ui.form.department.name:Подразделения:}"> <properties> <hide condition-union="AND"> <negative-condition-ref ref="selectDepartment"/> </hide> </properties> </field> <field attribute-ref="employee" name="${ui.form.employee.name:Работники:}"> <properties> <hide condition-union="AND"> <condition-ref ref="selectDepartment"/> </hide> </properties> </field> <!--...--> </section> </component> </form> </ui>