常用工具
窗体界面
查询
打印样式
自定义平台
磁贴仪表板设计
看板设计
自定义XML
数据采集
聚合数据
数据库
SQL
CHK
最近更新时间:2022-02-08 12:00(V1.00)

业务介绍

CHK是一项重要的功能,应用面非常广。对于客户某些特殊功能需求且不能通过标准配置来达成的情况下,可以采用CHK满足客户的个性化需求。
CHK主要用来验证新增单据或修改单据中填写的内容是否符合要求。具体可用于以下三种情形:
1.限制:对业务的新增、修改、删除进行控制。例如,采购订单限定物料的采购单价不高于价格清单上的限价;下道工序产出不大于上道工序产出等。
2.更新:对业务间传值的补充。例如,生产计划的计划号传值到生产订单对应字段上;引用单据后将某个字段的值进行更新等。
3.提醒:在一些重要信息的维护上,可以通过CHK进行提醒操作人。比如生产入库数大于最后一道工序的产出累计数。

名词解释

字段 描述
CHK名称

设置CHK名称,一般是描述CHK的作用。

业务对象

设置CHK应用的业务对象。

操作类型

当进行何种操作时,触发该CHK。选项有:
Insert(新增)、Update(更新)、Delete(删除)、AppendLine(添加行)、UpdateLine(修改行)、XLine(注销行)、DeleteLine(删除行)、OrderRelease(工单下达)、OrderCancelRelease(工单取消下达)、OrderFinish(工单完工)、OrderCancelFinish(工单取消完工)、DocConfirmed(凭证确认)、DocSubmitted(凭证标记)、DocOpen(订单恢复)、DocClose(订单关闭)、Approved(审批)、CancelApproved(取消审批)、BomApprove(BOM审核)、BomCancelApprove(取消BOM审核)、EncExecute(ECN执行)、SrpExpand(生产评估-需求全阶展开)、SrpEvalBuild(生产评估-建立评估数据)、SrpNewOrder(生产评估-创建后续工单)、SmpReqSync(材料评估-获取工单材料)、SmpEvalBuild(材料评估-建立评估数据)、SmpNewReq(材料评估-创建请购单)、MetApprove(会议管理-审核)、MetCancelApprove(会议管理-取消审核)、MetCluApprove(会议管理-结论审核)、MetCluCancelApprove(会议管理-取消结论审核)、WipPin(管制卡投料)、CancelWipPin(取消管制卡投料)、WipPou(管制卡产出)、CancelWipPou(取消管制卡产出)、CheckOut(宿舍入住-迁出)、UnCheckOut(宿舍入住-取消迁出)。

表名

如销售订单(SAOrd-销售订单主表,SAOrdA-销售订单细表),物料信息(MDItm)。
CHK验证时如何来选择表名:如验证销售订单主表的参考编号(NumAtCrd字段)不能为空,应选择SAOrd;验证销售订单行单价(PriceFC字段)大于0,应选择SAOrdA。
表名选择结论:一般CHK想验证的数据来源于哪个表就选择与此表相应的表名,但根据验证写法不一样,选择的表名也会有所不同。如示例中:采购限制价格表名选择PUOrd 或PUOrdA都能实现验证功能。

检查位置
  • 对于CHK中的Before和After,Before主要是在单据生成之前进行验证,而After则主要在单据生成之后进行验证。
  • 以Insert操作为例,CHK的模式主要为Check(Insert,Before,TM) (在插入以前验证主表),Check(Insert,Before,TD) (在插入以前验证细表),Check(Insert,After,TD) (在插入以后验证细表),Check(Insert,After,TM) (在插入以后验证主表)。在使用时可以任选其中的一种,若有这四种中的任意两种,则要严格按照以上的次序进行执行。下面对After和Before进行说明举例。
  • 例如:验证销售订单新增后参考编号是否唯一,此功能验证方式为Before。如验证销售订单新增前是否存在BOM (物料清单),此功能验证方式为After。部分CHK验证功能中两种验证方式都能实现。
顺序

当一张单据有多种CHK操作类型时,需要将这些操作类型的操作分先后次序。数字越小,越先执行。

异常提示

设置异常提示信息。

异常处理

异常提示信息与异常处理类型有关,异常处理类型为不处理时,不会弹出提示信息,同时不会阻止单据(或保存);异常类型为警告时,会弹出提示信息,但是同样不会阻止单据(或保存);异常类型为禁止时,会弹出提示信息,同时阻止单据生成(或保存)。

审批类型

设置CHK是在审批前或审批后触发。

触发异常方式

勾选表示,当存在符合条件数据时触发CHK;不勾选表示,当不存在符合条件数据时触发CHK。

相关操作

操作名称 操作描述
新增、删除

新增/删除CHK。

导出、导入

将CHK导出为本地文件;导入本地CHK文件。

停用

若某个CHK不想触发,则可以停用它,停用后不再触发。

复制

复制原有CHK作为新增CHK,设置与原来相同。

注意事项

1.界面上字符型的控件不填值时,界面上值为’’,而非NULL值。
2.相同的凭证如果有两个CHK设置,CHK表的“顺序”字段不能相同,其数据大小表示执行次序,语句从小至大排序执行。
3.若要停用CHK,则可以点击进入对应的CHK后,在菜单栏中选择“更多操作—停用”则可以将CHK停用。若要恢复使用,同样在菜单栏中选择“更多操作—启用”则可以将CHK恢复使用。
4.在新增CHK时,业务类型、操作类型、检查位置、异常处理方式、异常信息都是必填项。
5.删除类CHK的检查位置必须选删除前。因为单据删除后,当前DocEntry已失效,将无法触发CHK。

常见问题

1.为什么CHK添加后,实际却没有触发?
答:请检查CHK的检查位置,如果是单据新增时触发,检查位置需要设置为操作后。
2.为什么CHK触发执行时,还同时修改了其他单据的数据?
答:需要将范围进行限制,SQL的参数添加TM.DocEntry=[< TM >:DocEntry]语句表示当前单据,可视具体情况进行不同的参数限制。
3.为什么新增CHK时,添加了异常提示,故意使用错误数据进行单据测试,只出现异常提示信息,却没有阻止单据生成?
答:请检查“异常处理选项”是否为“禁止”,当异常类型为“不处理”或“警告”时,不会阻止单据生成,只起提醒作用。

相关链接

SQL

上一篇: 数据字典
下一篇: CHK-限制