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

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

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

« Предыдущий Версия 35 Следующий »

Корневой элемент schema:

  • описывает структуру данных объекта;
  • содержит код управления событиями объекта.
Структура
<?xml version='1.0' encoding='UTF-8'?>
<schemas xmlns="http://www.intertrust.ru/schema/palette/tn-schema">
    <schema name="{name}" extends="{parent schema name}" recalc="true" workflow="false">
       
		<!--property-->
	 	<string name="{name}"/>    	
        
	  	<param-specification>
		 	<!--property-ref-->
            <string-ref ref="{property string name}" value="{string value}"/>
        </param-specification>
       
        <custom-event-handler lang="JavaScript"><![CDATA[...]]></custom-event-handler>
    </schema>
</schemas>

attributes

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

name

Название схемы. Название должно быть уникально.

Родительская схема. Из родительской схемы наследуются все описание данных и обработчики событий. 

recalc

Отвечает за обновление свойств схемы при событии обновлении объекта. Может принимать значение: true, false.

workflow

Используется для подключения движка самописного WorkFlow. Может принимать значение: true, false.

Для движка WorkFlow Flowable он не используется.

Сохранен для совместимости более ранних версий.

<property>

Своиства схемы могут быть трех видов:

  • Примитив;
  • Перечисление;
  • Объект.

Более детально рассматривается в разделе типы свойств

param-specification

Тег отвечает за переадресацию на другую Схему.  Позволяет настроить отображение объекта по различным Формам в зависимости от определенных Свойств схемы. Результатом переадресации является изменение Схемы данных объекта, а по измененной Схеме будет выбрана новая Форма для его отображения.

Сохранен для совместимости более ранних версий. Вместо него нужно использовать Условие применения

<property>-ref

Сопоставление свойства родительской схемы и значения, при котором будет включатся механизм конкретизации схемы

ПараметрыОписание
ref
Название св-ва родительской схемы
value
Значение св-ва


custom-event-handler

Настраиваемый обработчик событий. Поддерживается настройка обработки событий для web-клиента:

СобытиеОписание

queryCreate

Вызывается при создании объекта

querySave

Вызывается непосредственно перед переносом данных из объекта Java API в документ, в котором этот объект хранится.

Функция возвращает значение типа Boolean. Если функция вернула false - сохранение будет прервано.

Обработчики события выполняются в порядке наследования схем снизу вверх: сначала событие querySave текущей Схемы объекта, потом событие querySave той Схемы, которую она уточняет, и так далее до события querySave базовой Схемы.

postSave

Вызывается сразу после сохранения документа в хранилище.

Обработчики события выполняются в обратном порядке, сверху вниз: сначала событие postSave базовой Схемы, потом событие postSave уточняющей Схемы и так далее до текущей Схемы объекта. Обработчики события recalc выполняются аналогично postSave, сверху вниз.

recalc

Вызывается при пересчете ресурса, том числе вызов recalc может быть связан в изменением значения поля или нажатием на кнопку.

Обработчики событий могут быть созданы к нескольким схемам, объединенным в одну иерархию.

Если для какой-то из Схем в иерархии Обработчик событий не создан или не содержит описания соответствующего события, то эта Схема пропускается, и выполняется обработчик следующей по порядку обработки Схемы.

Код обработчика событий имеет доступ к API CMJ системы и подключенным к ней сторонним библиотекам. Для работы с тем или иным Java классом его или пакет, в котором он расположен, предварительно необходимо импортировать в обработчик. Для этого можно использовать функции importPackage() или importClass ().

importPackage (Packages.java.util); - импортирует все классы, расположенные в пакете java.util.

Как и в Java, импортируются только классы, находящиеся непосредственно в указанном пакете. Классы из дочерних пакетов импортированы не будут.

Коду обработчика на JavaScript доступны все public методы реальных классов, реализующих те или иные интерфейсы Java API. Области видимости protected и private недоступны.

Синтаксис работы с объектами Java классов точно такой же, как и с объектами JavaScript.

В описании обработчика событий можно объявлять дополнительные функции и вызывать их из событий.

Объекты API CMJ, переданные в обработчик событий извне (например, параметр document), нельзя передавать в дополнительно объявленные функции. Работать с параметром document можно только внутри событий querySave и postSave.




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

  • Нет меток