期间定义
期间服务主题用限定系统数据的修改,审核,记账等操作的日期范围。 期间服务必须从欧诺个P_period集成
该属性实体需要DATA服务属性
必须有ecode,ename和主键字段
<ATTRIBUTE >
<PERIODSVR DATASET="..BROWSEDS" ALIAS="DEFAULT" BEGIN="begindate" END="enddate" STATUS="periodstatus" HASROOM="TRUE">
DATASET,ALIAS 用于查询和更新期间记录,必须是可更新的.
包含参数,begindate 是最后一个关闭期间的开始日期。必须根据开始日期排序
Select … .. ORDER BY s_periodmonth.begindate 期间按照开始时间排序
<PARAM CODE="begindate" TYPE="ADDON" REQUIRED="FALSE" NAME="" DBNAME="" DATATYPE="11" FORMAT="" DEFAULTVALUE="" PRECISION="">
AND ( s_periodmonth.begindate>=:begindate )
</PARAM>
HASROOM 标识是否有roomid字段和参数 默认为true
BEGIN:开始日期字段和参数名称(参数用来查询 日期大于等于此日期的所有期间),默认值begindate ,只有日期,不能包含时间
END: 结束日期字段名称,默认值enddate只有日期,不能包含时间
STAUTS : 期间状态字段名称,默认值periodstatus
<ACTIVE VALUE="2" SET="TRUE"/>
设置参数, ACTIVE VALUE='0 ' 为手动开启,其他数字为自动开启的期间数量,默认为1
<FUTUREACTIVE VALUE="FALSE" SET="TRUE"/>
设置参数,FUTUREACTIVE: future类型的期间是否可以发生业务,默认为false
</PERIODSVR>
</ATTRIBUTE>
期间使用说明:
- 期间状态包含三种字符类型,CLOSED(2),ACTIVE(1),FUTURE(0) 日期由小到大。 期间初始状态为FUTURE,
- 每个期间包含开始日期时点,和结束日期时点。 包括两个节点时间,时间忽略,只有日期
- 必须顺序关闭,逆序打开。
- 关闭一个期间后自动设定后续期间的活动和future状态。触发ObjEventPeriod 事件,由DATA主题中的期间响应,来确定单据状态是否允许期间关闭(例如是否有没有记账的单据)。 打开为逆向将关闭的期间重新开启。不触发事件。 只设定期间的状态。
三种类型的操作:
- 关闭期间 opClose: 将active或future 设置为关闭状态
- 打开期间 opOpen: 将关闭期间或future期间,变为打开active
- 暂停期间 opPause: 将active 转变为 future
期间的权限:
包括三种类型权限,打开期间,关闭期间和暂停期间。
EnumOperation.opOpen,"打开期间","期间置于开放状态");
EnumOperation.opClose,"关闭期间","期间置于关闭状态");
EnumOperation.opPause,"暂停期间","期间置于暂停状态");
脚本
关闭前 "SCRIPT/CLOSE/BEF";
关闭后 "SCRIPT/CLOSE/AFT";
打开前 "SCRIPT/OPEN/BEF";
打开后 "SCRIPT/OPEN/AFT";
暂停前 "SCRIPT/PAUSE/BEF";
暂停后 "SCRIPT/PAUSE/AFT"
实体设计 :
Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor