Дерево страниц
Skip to end of metadata
Go to start of metadata

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 7 Текущий »

Постановка задачи

Добавить на форму переключатель. Переключатель содержит два значения Работникам, Подразделению.

При выборе "Работникам" должно выдаваться поле для выбора сотрудников из СО

При выборе "Подразделению" должно выдаваться поле для выбора подразделений из СО

По умолчанию должен быть выбран "Работникам"

Инструмент: Палитра XML
Статус

ГОТОВО

РазделПоле
Комментарий

Реализация

Результат

Создание перечисления

Создать новую схему перечисления 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>
  • Нет меток