验证脚本的介绍

AC中因为使用了 SBL 的脚本引擎,比如 验证脚本,识别脚本。
而平时我们使用最多的应该就是验证脚本啦,因为验证脚本可以对索引数据做很多操作。有个项目我使用校验模块实现了自动录入索引功能,并且带数据库校验。小提示:SendKeys 函数可是一个好功能哦!可以在脚本中操作主程序,虽然是通过间接方式。如 SendKeys "^r" 可以拒绝当前对象。
我结合一张图片来分析一下验证脚本的执行流程:

此图是一个完整的验证脚本在检验或者验证模块中执行的事件流程,我按照箭头方向一个个解释
1)OCXEvent,批次成功打开
2)OCXEvent,文档成功打开
3)ScriptProduce,加载脚本。需要注意KfxLoadValidation在每个批次打开只执行一次,而且是在第一个文档成功打开后执行一次,只有一次。一般我们在这里维护一些批次级别的数据,如一个数组,维护每个文档的OrderNumber,并记录文档的关键索引,这样可以用来比较不同文档的数据
4)ScriptProduce,文档预处理。一般在这里对所有字段进行一个初步处理,比如根据关键索引到数据库查找数据然后填充其他索引。如果成功,可以使用SaveAndSkipDocument返回,这样就可以自动处理文档啦
5)OCXEvent,上下文改变
6)OCXEvent,索引字段获取焦点
7)ScriptProduce,字段预处理。可以为这个索引设置一个初始值或者默认值
--用户操作,进行数据输入--
8)ScriptProduce,提交字段数据。一般需要设置数据的格式可以在这里处理。如果这个是关键索引,会根据这个索引的数据去查询数据库获取其他字段的数据。字段校验成功,会将字段设置成已经验证。
9)OCXEvent,索引字段失去焦点。接下来处理下一个字段,重复6到9
10)OCXEvent,文档校验中事件。注意,这里是验证完所有需要验证索引字段后才能抛出这个事件
11)ScriptProduce,索引字段预处理。处理未验证字段?
12)ScriptProduce,提交索引字段。接下来循环处理未验证字段,重复11到12
13)ScriptProduce,提交文档。这里可以做一些总计的功能,比如:统计几个字段的和,或者添加一些数据数值判断。AC文档说次函数内不能访问索引字段,但是我发现可以。接下来验证下一个文档,循环2到13
14)OCXEvent,关闭文档事件。
15)OCXEvent,关闭批次
16)OCXEvent,拒绝批次
17)OCXEvent,挂起批次
18)OCXEvent,删除批次
19)ScriptProcduce,卸载脚本资源
验证脚本的变量:
const RejectAndSkipDocument= -4
const ValidationError      = -3
const ValidationErrorNoMsg = -2
const FatalError           = -1
const NoError              = 0
const SaveAndSkipDocument  = 1
const SaveAndSkipField     = 2
const NoOperation          = 3
Global const KfxLoadAllProcessedValues = "NO"
Global KfxOperation As String
Dim KfxBatchName As String
Dim KfxBatchId As String
Dim KfxBatchClassId As String
Dim KfxClassName As String
Dim KfxDocClassId As String
Dim KfxPageFile As String
Dim KfxErrorMessage As String
Dim KfxAcmDocument As Object      '这个对象和COMDocument一样,可以访问很多对象
http://www.capturesolution.com/

posted on 2007-07-05 23:41  workjie 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/workjie/archive/2007/07/05/807777.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值