生产任务单下达后,生成了下级任务单,删除下级任务单后,再反下达生产任务单时却提示:反下达至计划未成功,任务单已存在关联下级任务单,不能反下达。
过滤条件查询上级任务单号为当前任务单号的数据时,却查不到。也就是说,此任务单并没有下级任务单,之前的删除操作是完成了的。
但是,我重新”生成下级任务单“,却提示”该任务单已经生成下级任务单。“
用SQL语句查询任务单号的FInterID
SELECT FInterID FROM ICMO WHERE FBillNo like '%WORK016528%'
查询到FInterID=31209
再查询上级任务单ID号=31209的任务单
SELECT * FROM ICMO WHERE FParentInterID =31209
未查到数据
说明下级任务单确实是不存在的,为何反下达还是提示存在已关联的下级任务单呢?
回到K3任务单,过滤条件,勾选“生成下级任务单标志”,看一下标志显示
结果是 “生成下级任务单标志”的值是 "Y"
估计是删除下级任务单时,系统里面这个标志没有能变更过来的原因,导致无法反下达到计划。
只能用SQL语句试试了,将这个标志改一下
找到这个”生产下级任务单标志“的字段名是FIsMakeLowerBill (这个字段名在系统资料里面没有查到,是自己测试出来的)
update ICMO set FIsMakeLowerBill=0 Where FTranType = 85 And FInterID = 31209
更新”生产下级任务单标志“ FIsMakeLowerBill原来是1,Update后变成0
修改后,再试试,操作”生成下级任务单“,提示生成下级任务单成功!
重新删除这个下级任务单,然后反下达原来的任务单WORK016528到计划,反下达到计划成功!
这里的重点就是”生产下级任务单标志“,字段名是FIsMakeLowerBill ,虽然下级任务单已经删除了,但这个标志没有变过来。
其实K3 Wise里面,其他功能也遇到过类似情况,就是某个操作取消后,标志未变更,只能从数据库用SQL语句处理。

