CHK是一项重要的功能,应用面非常广。对于客户某些特殊功能需求且不能通过标准配置来达成的情况下,可以采用CHK满足客户的个性化需求。
CHK主要用来验证新增单据或修改单据中填写的内容是否符合要求。具体可用于以下三种情形:
1.限制:对业务的新增、修改、删除进行控制。例如,采购订单限定物料的采购单价不高于价格清单上的限价;下道工序产出不大于上道工序产出等。
2.更新:对业务间传值的补充。例如,生产计划的计划号传值到生产订单对应字段上;引用单据后将某个字段的值进行更新等。
3.提醒:在一些重要信息的维护上,可以通过CHK进行提醒操作人。比如生产入库数大于最后一道工序的产出累计数。
字段 | 描述 |
---|---|
CHK名称 |
设置CHK名称,一般是描述CHK的作用。 |
业务对象 |
设置CHK应用的业务对象。 |
操作类型 |
当进行何种操作时,触发该CHK。选项有: |
表名 |
如销售订单(SAOrd-销售订单主表,SAOrdA-销售订单细表),物料信息(MDItm)。 |
检查位置 |
|
顺序 |
当一张单据有多种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时,添加了异常提示,故意使用错误数据进行单据测试,只出现异常提示信息,却没有阻止单据生成?
答:请检查“异常处理选项”是否为“禁止”,当异常类型为“不处理”或“警告”时,不会阻止单据生成,只起提醒作用。