魔方网表 让信息化更简单

 找回密码
 注册
查看: 2322|回复: 0

魔方网表中使用执行前回写实现出库校验

[复制链接]
lihuiger 发表于 2012-10-11 14:25:29 | 显示全部楼层 |阅读模式
在生成出库单时往往需要校验当前库存是否充足,而一张出库单一般都会包含多种货物数量明细信息,如何校验每种货物的库存是否充足呢?大家都知道,魔方网表的执行前回写可以实现数据校验功能,但这种使用方式只能判断一次执行条件,执行条件不满足则终止动作,给出提示信息。而本文的需求是对出库单的每条明细进行数量校验,这个相对来说稍微复杂一些,下面我给出一个简化的例子。有四个表单:材料、库存、出库单和出库单明细。库存表引用材料表,记录每种材料当前的库存数量,出库单明细引用材料表,记录此种材料的本次出库数量,出库单嵌入出库单明细表。在出库单表定义一个修改时的执行前回写,选中不满足条件则终止(实际使用时可以使用手动回写实现审核或确认出库的动作来触发最终的出库,我这里简化为用修改出库单作为触发时机),执行条件源表单选择出库单明细表,过滤条件为嵌入的关联字段。注意,下面是实现校验的核心,首先勾中循环使用,在执行条件里使用MFE(1, MFVLOOKUPC("库存", "存量", "材料", $MF(源表单.材料)$)) - $MF(源表单.数量)$ > 0来判断库存是否充足,这里使用了MFVLOOKUPC函数查询材料的当前库存量。提示信息的公式为:"终止" & $MF(源表单.材料)$ & "存量不足" & MFVLOOKUPC("库存", "存量", "材料", $MF(源表单.材料)$)。这里的系统执行逻辑是循环取出符合条件的出库明细记录,然后每条记录作为上下文记录去执行校验公式,第一个不符合条件的就终止操作了,如果循环结束后所有记录都符合条件,则公式不中止继续向下执行。附件是包含本文中提到的4个表单的mfd文件。

出库库存检查_2012_09_18_21_43_56.mfd (19.46 KB, 下载次数: 558)

您需要登录后才可以回帖 登录 | 注册

本版积分规则


Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-5-17 16:32 , Processed in 0.084410 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表