Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
iconfalse
titleПостановка задачи

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

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

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

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

Подсказка
iconfalse
Инструмент: Палитра XML
Свойства страницы
Статус

Статус
colourGreen
titleГОТОВО

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

панель
titleРеализация

Оглавление

панель
titleРезультат

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

Создать новую схему перечисления listTypeSO

Блок кода
languagexml
titleСхема перечисления
<?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

Блок кода
languagexml
titleСхема документа
<?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 для отображения русскоязычных значений

Блок кода
languagexml
titleСправочник
<?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 для отображения русскоязычных значений

Блок кода
languagexml
titleФорма документа
<?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, по которому будет скрываться поле Работник и отображаться Подразделение

Блок кода
languagexml
titleУсловие применения
<?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

Блок кода
languagexml
titleФорма документа
<?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>