2014-05-21 Created By BaoXinjian
1. Trigger
(1). Override模式:默认模式不再触发高级别事件
(2). Before模式:触发完本级别事件后再触发高级别事件
(3). After模式:触发高级别事件后再触发本级别事件
2.常用form trigger
(1). Form Level
i. per-form: form版本信息
设定第一个windows
切换org
对Global和Parameter参数赋值
ii. when-new-form-instance: 定义弹性域
定义folder
(2). Block Level
i. post-query
ii. when-new-record-form
3. Form对基于View的block进行数据操作
on-lock
on-insert
on-update
on-delete
4. Form Trigger的优先级
(1).先从Item -> Record -> Block -> Form
(2).如果另外设置Execution Hierarch属性(override,before,after),则按照设置后的顺序执行。
如果是override的话,则执行完这个级别的触发器,就不往上执行了,
before就是执行完这个级别的触发器后,如果上一个级别也有这个触发器的话,继续去执行,
after就是先去执行上一个级别的触发器,然后再回来执行。
5.打开Form时的Tigger执行的顺序
(1)PRE-FORM
(2)PRE-BLOCK(BLOCK级)
(3)WHEN-NEW-FORM-INSTANCE
(4)WHEN-NEW-BLOCK-INSTANCE
(5)WHEN-NEW-RECORD-INSTANCE
(6)WHEN-NEW-ITEM-INSTANCE
6.触发Tigger的Execution Hierarchy
(1).当一个事件发生的时候,Forms Engine可一并触发由低到高3个级别(Item、Block、Form)的同名事件,如何触发,由定义低级别的事件时所设置的执行层次决定。
(2).Execution Hierarchy:
Override模式,默认模式,不再触发高级别事件
Before模式,触发完本级别的事件后,再触发高级别事件
After模式,先触发高级别事件,再回来触发本级别事件
当然了,如果某一层次我们没定义事件代码,Forms
Engine就跳过该级别,直接进入下一级别。此外,Block中任何Item发生的事件,都可能引发该Block级事件,所以在Block级写本属于Item级的事件,要特别性能问题;Form级事件更有类似问题。