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

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

Ключ

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

Корневой элемент handler, async-handler. Пространство имен: <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui">

Информация
iconfalse
titleКраткое описание

Используется для подключения JavaBean или написание JavaScript кода

Блок кода
languagexml
titleСтруктура XML
collapsetrue
<?xml version='1.0' encoding='UTF-8'?>
<ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui">
	<!-- Асинхронный обработчик-->
    <async-handler id="{id}" name="{name}" name-process="{process name}">
		<script lang="JavaBean"><![CDATA[...]]></script>
	</async-handler>
	
	<handler id="{id}" name="{name}">
        <script lang="JavaScript"><![CDATA[...]]></script>
    </handler>
</ui>	

handler

attributes

ПараметрыОписание

id

Идентификатор

name

Название
Можно ли подписывать обработчик для использования пользователем без прямых прав чтения

script

ПараметрыОписание

lang

Язык программирования JavaScript/подключение JavaBean
название функции менять нельзя

Функция вызывается при первом нажатии кнопки и при последующих нажатиях кнопки с action=submit в диалогах операции. 

Через параметр returnResource.resource должна передать диалог/null клиенту. В общем случае используется для вызова нужной функции в зависимости от шага сценария.

process_context
ФунцииПараметры/МетодыФункцииОписание
paramsResource 
Экземпляр класса TunableObjectREST.Resource, при первом вызове содержит данные о том, сколько и какие документы выделены, при последующий вызовах это ресурс диалога, в котором было произведено действие submit. Также содержит свойство "counter"  которое нужно для определения того, на каком шаге сценария операции находимся. При первом вызове свойство counter= "context", при последующих действиях оно определяется вручную(можно кодом положить нужное значение).
returnResource 

Экземпляр класса TunableObjectREST.ReturnParamsResource, содержит в себе единственное поле - resource, в которое нужно установить либо:

  1. ресурс диалога c mode=dialog(в таком случае клиент покажет диалог), или какого-либо другого объекта, например, РКК(в таком случае клиент откроет объект с mode=read);
  2. null, что будет означать что операция завершена(в таком случае для кнопки на открытой форме документа клиент закроет документ, для кнопки в представлении клиент оставит открытым представление). Это поле обязательно нужно заполнить перед выходом из функции process(paramsResource, returnResource). 
process

function process(paramsResource, returnResource)

Предупреждение
iconfalse

function
process_
context(paramsResource, returnResource)

Функция вызывается из process(paramsResource, returnResource) при первом вызове, в ней формируется ресурс диалога с нужным значением в поле "counter"  и кладется в поле returnResource.resource

process_
<name>

function process_<name>(paramsResource, returnResource)

Функция вызывается из process(paramsResource, returnResource) при определенном значении поля "counter". Переподбирается один или несколько объектов(по полю ids), в зависимости от того, на основании  данных пришедшего диалога, над объектами проводятся определенные действия, включая сохранение.  Заполняется поле returnResource.resource.    

Примечание
iconfalse
titleСоздание схем и секций диалогов в соответствии со сценарием операции

Для добавления диалога создаётся схема и секция с mode=dialog по определённым правилам:

  1. схема должна наследоваться с ClientContextRequest;
  2. в схеме в общем случае должно присутствовать поле, в котором будут храниться и передаваться следующему диалогу id-выбранных документов.
  3. секция должна быть с условием применения "dialog", 
  4. в корне секции должна быть как минимум одна кнопка c действием "submit" или "cancel".
  5. можно делать несколько кнопок submit, но тогда они должны быть привязаны к разным свойствам boolean схемы. При нажатии кнопки клиент установит значение true в соответствующем полe.
  6. Если требуется при определенном условии показать пользователю "красиво оформленное" сообщение об ошибке, то можно это сделать также с помощью диалога.

async-handler

Асинхронный процесс - последовательность операций(шагов), в которой результат работы одной операции сохраняется на сервере для использования следующей операцией, причём переход к следующей операции(шагу) в общем случае инициируется пользователем.

attributes

ПараметрыОписание

id

Идентификатор

name

Название

use-by-link

Можно ли подписывать обработчик для использования пользователем без прямых прав чтения

name-operation

Название выполняемой операции (для отображения пользователю)

name-process

Название процесса, в котором используется обработчик (для отображения пользователю)

script

ПараметрыОписание

lang

Язык программирования JavaScript/подключение JavaBean
Примечание
iconfalse

Весь обмен данными происходит через так называемый монитор процесса. На вход обработчика поступает ID монитора, и на выходе из обработчика Tunable-ресурс не возвращается, а записывается в монитор

Фунции
Функции/МетодыОписание
paramsResource 
Экземпляр класса TunableObjectREST.Resource, при первом вызове содержит данные о том, сколько и какие документы выделены, при последующий вызовах это ресурс диалога, в котором было произведено действие submit. Также содержит свойство "counter"  которое нужно для определения того, на каком шаге сценария операции находимся. При первом вызове свойство counter= "context", при последующих действиях оно определяется вручную(можно кодом положить нужное значение).
processAsync
void processAsync

function processAsync(String monitorId)

warning

iconfalse

название функции менять нельзя

Функция вызывается при первом нажатии кнопки

.Через параметр returnResource.resource должна передать диалог/null клиенту. В общем случае используется для вызова нужной функции в зависимости от шага сценария

.

process_
context
<name>

function process_

context(paramsResource, returnResource

<name>(String monitorId)

Функция вызывается из

process

processAsync(

paramsResource, returnResource) при первом вызове, в ней формируется ресурс диалога с нужным значением в поле "counter"  и кладется в поле returnResource.resource

monitorId)

rollback
void rollback

function rollback(String monitorId)

Запускает код откатывающий изменения, произведенные обработчиком если это необходимо и возможно.  Этот метод вызывается в случае если процесс был прерван или если в обработчике была возникла ошибка. 

Примечание
iconfalse

Весь обмен данными происходит через так называемый монитор процесса. На вход обработчика поступает ID монитора, и на выходе из обработчика Tunable-ресурс не возвращается, а записывается в монитор

Свойства страницы
Статус

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

Комментарий
панель

Теги и атрибуты:

Оглавление