编辑,数据服务,和资源记账可以触发定义事件


声明

实体的DATA属性中通过定义声明事件,声明的事件可以在流程定义中用于编辑表达式。 


       <ATTRIBUTE >

               <EVENT CODE="TYPECODE" NAME="事件类型">

                               <PARAM CODE="" NAME=""/>

                               … … 

               </EVENT>

               CODE :事件类型,事件的标识为:ET:ENTITYCODE:CODE

               NAME:事件名称

                       PARAM 事件中携带的参数定义。  

               … …        

       </ATTRIBUTE >




  • 事件的适配器


适配器,用来在各个主题域中监督操作,生成事件,在系统中广播. 可以作为流程事件的来源,也可以在其他主题中根据需要进行响应的操作。 

adapter 触发 工作流和其他实体属性可以听取事件的类型。 

* PARAMVALUE 只有编辑主题域有,其他为当前操作记录的id  


<ADAPTER CODE='' DATASET='DSERI'  ALIAS='DSALIAS'  PARAM ='PARAMNAME'   VALUE='IDEXP'  OPERATION='' >

<ITEM CONDITION="条件表达式" EVENT="事件定义可以进行{}表达式替换"  IDFIELD='事件对应的实体id字段' ENTITY='触发事件时候的实体路径,可以用{}表达式替换'>

       针对数据集的每条记录执行

OPERATION 类型有 audit,unaudit,close,open,lock,unlock,del,delbefore,commit,uncommit,add,set

               <PARAM CODE='' VALUE='' />

       <PARAM CODE='' VALUE='EXP'/>  事件参数定义,可以在流程中作为变量使用 

                 <SCRIPT>

 可以添加主题域脚本,脚本的参数是 param ObjEventEntity 对象,result 为null   满足事件触发条件后,脚本返回 负数触发错误

<BEF></BEF> 

<AFT></AFT>

                 </SCRIPT>

</ITEM>

</ADAPTER>

<ADAPTER CODE='' DATASET='DSERI'  ALIAS='DSALIAS'   PARAM ='PARAMNAME'   OPERATION='' >

 

PARAM 查询数据集的参数名称,值为当前操作的记录id,每个记录id触发一次。 

OPERATION: 可以用~分割多个操作类型 /响应的操作类型,即该操作产生时,才触发事件。


ITEM:事件条目定义

CONDITION 条件表达式,由adapter计算的表达式,符合条件触发事件,

ENTITY : 事件路径,路径的实体部分,可以是固定的字符串常量,也可以是数据集计算的表达式,表达式要放在{}中

EVENT: 事件路径的代码部分,常量或者表达式,表达式要放在{}中 ,事件路径是识别事件标识字符串构成如下: 

et:  entitycode :eventcode 

IDFIELD:事件携带的实体对应的ID,例如 事件携带的对应的上面流程主实体的单据主键

PARAM :事件参数定义:

                       事件参数是在流程事件中可以使用的变量的定义,可以把当前实体中的业务金额等数据表达式计算结果,以变量的形式传递给流程

<PARAM CODE='' VALUE='EXP'/>  事件参数定义

CODE :变量名称

VALUE : 变量计算表达式值



举例


<ADAPTER DATASET="..BROWSEDS" ALIAS="DEFAULT" PARAMCODE="cgddid" OPERATION="audit~lock">

                               <ITEM CONDITION="tranmemo =='123'" EVENT="{'TEST'}23" ENTITY="23{'CGDD'}5" IDFIELD="cgddid">

                                       <PARAM CODE="ecode" VALUE="ECODE"/>

                               </ITEM>

                       </ADAPTER>



命令和脚本执行完成后,触发适配器事件,适配器,用来监督操作,生成事件,在系统中广播.可以作为流程事件的来源,也可以在其他主题中根据需要进行响应的操作。 

具体主题域中需要创建子类来调用Generate方法  资源的期间关闭和打开也是事件。 也用adapter 触发。 工作流和其他实体属性可以听取事件的类型。 


<ADAPTER CODE='' DATASET='DSERI'  ALIAS='DSALIAS'   

PARAM ='PARAMNAME'   OPERATION='' >

<ITEM CONDITION="条件表达式" EVENT="事件定义可以进行{}表达式替换"  IDFIELD ='事件对应的实体id表达式' ENTITY='触发事件时候的实体路径,可以用{}表达式替换'>

       <PARAM CODE='' VALUE='EXP'/>  事件参数定义,可以在流程中作为变量使用 

       ...

</ITEM>

</ADAPTER>

PARAM 查询数据集的参数, 其值为当前操作的记录的id。 每个id触发一次。 

OPERATION: 可以用~分割多个操作类型,commit,uncommit //响应的操作类型,即该操作产生时,才触发事件。


ITEM:事件条目定义

CONDITION 条件表达式,由adapter计算的表达式,符合条件触发事件,

ENTITY : 事件路径,路径的实体部门,可以是固定的字符串常量,也可以是数据集计算的表达式,表达式要放在{}中

EVENT: 事件路径的代码部分,常量或者表达式,表达式要放在{}中 ,事件路径是识别事件标识字符串构成如下: 

et: entitycode : eventcode 

IDFIELD:事件携带的实体对应的ID,例如 事件携带的对应的上面流程主实体的单据主键

PARAM :事件参数定义:

                       事件参数是在流程事件中可以使用的变量的定义,可以把当前实体中的业务金额等数据表达式计算结果,以变量的形式传递给流程

<PARAM CODE='' VALUE='EXP'/>  事件参数定义

CODE :变量名称

VALUE : 变量计算表达式值


举例:

<ADAPTER CODE="test" DATASET="..BROWSEDS" ALIAS="DEFAULT" PARAMCODE="chrkid" OPERATION="commit~uncommit">

<ITEM CONDITION="" EVENT="{'test'}" IDFIELD="chrkid" ENTITY="{entitycode()}">

       <PARAM CODE="ecode" VALUE="ecode"/>

</ITEM>

</ADAPTER>

Created with the Personal Edition of HelpNDoc: Free EPub producer