花火 发表于 2024-7-8 11:40:19

9.0.103.0 全系统查找引用

1、有一张物料信息基础表,字段分别为:物料编号、物料名称、物料类别ID;

2、有很多数据表关联了物料信息基础表ID(比如销售订单表、品检记录表、出入库记录表......);
3、当我想要删除某一条物料信息时,有什么简便的方法能快速查询到整个系统里那些数据表里引用了这条物料信息。
如果用设置变量命令一个表一个表查询,表比较多且容易漏掉。

Lay.Li 发表于 2024-7-8 11:40:20

那这个的话,目前就没什么好办法了,一张表一张表去查吧:'(

yooo 发表于 2024-7-8 11:52:51

右键查找引用?

花火 发表于 2024-7-8 13:02:46

yooo 发表于 2024-7-8 11:52
右键查找引用?

是我没有表达清楚
场景是:发布后,员工在系统里建立了数据,后面发现建重复了,需要删除一条。
需求:删除前检索这个物料是否在其他数据表被引用过,如果引用过,就不得删除。

stranger 发表于 2024-7-8 14:05:04


设置为物料表的子表,然后启用下面这个,就可以删一个就删全部

花火 发表于 2024-7-8 14:17:05

stranger 发表于 2024-7-8 14:05
设置为物料表的子表,然后启用下面这个,就可以删一个就删全部

这个方法不行呢,我要删除这条物品信息,删除前检索这个物品信息是否有被引用过,如果被引用过,我需要去引用的记录对应的物品信息修改掉,直到检索提示没有引用记录了,才能删除这条物品信息。
例如:物品1,物品2
         订单记录里:2024年7月1日,物品1,下单2000pcs
          我在删除物品1时,系统提示订单记录有引用,我需要去把订单记录的物品1修改成物品2,然后才能删除。

Syl 发表于 2024-7-8 18:14:07

这个业务就应该检索所有表,只不过不是一个个的设置,而是应该批量检查返回值。
erp中这种情况很常见,要么写死,要么用存储去检查。
做个需要检查的表,对应的类型、字段、条件存储好,调用存储分别执行这些就行了。

花火 发表于 2024-7-9 13:11:26

Syl 发表于 2024-7-8 18:14
这个业务就应该检索所有表,只不过不是一个个的设置,而是应该批量检查返回值。
erp中这种情况很常见,要 ...

不是很明白具体应该怎么操作,能帮忙在工程里操作下吗?

逛逛逛 发表于 2024-7-9 14:25:03

可以换个思路,弄个标识字段,假删除。

把已发生的做修改,以后追溯起来会有问题的。



Lay.Li 发表于 2024-7-9 15:02:01

感谢各位大佬的支持~
楼上大佬方便的话,可以在demo中补充一下,一般的方案就是如你所述再删除之前去每个表里面查询一下看看是否有使用,或者使用上方的外键约束,选择为约束删除也可以子表的删除模式

页: [1] 2
查看完整版本: 9.0.103.0 全系统查找引用