本文讨论了物料分配后,修改物料信息无法同步的问题,主要是辅助属性维度重复或关联关系丢失导致。通过SQL查询数据库,识别重复辅助属性并删除或修复缺失的关联关系。同时,列举了可能导致无法同步的其他四种情况,并提供了相应的解决方案路径。
最近,遇到很多客户问题是提到物料分配之后,修改创建组织下物料的信息无法同步的情况,其中物料无法同步的大致原因都是因为分配过去之后,修改物料无法通过物料的保存,很多问题都出在辅助属性维度的问题上
1、查看物料无法同步的原因,用管理员登录系统,查看“分配执行情况列表”,如下图:
2、提示使用组织下辅助属性维度重复了,这种情况下有两个原因
原因一:使用组织下引入了物料导致引入了重复的辅助属性(最新补丁已经处理了该问题)
原因二:创建组织和使用组织辅助属性的分配的关联关系丢失
通过下面SQL语句在数据库里面查看物料辅助属性维度的表
select * from t_bd_materialauxpty where FMATERIALID
in(
select FMATERIALID from T_BD_MATERIALAUXPTY group by FMATERIALID,FAUXPROPERTYID
having count(1)>1)
通过上面SQL语句,如果能找到数据,说明辅助物料辅助属性表里面有重复的辅助属性维度,这种情况下,需要删除掉重复的物料辅助属性维度值
如果未能找到数据,说明是创建组织和使用组织辅助属性的分配的关联关系丢失,通过下面语句去查询,确定是否是关联关系维度缺失了
select tm.fnumber,tm.fcreateorgid,tm.fuseorgid,tma.fmasterid,tma.* from t_bd_material tm
inner join t_bd_materialauxpty tma on tm.fmaterialid=tma.fmaterialid
tm.fNUMBER='物料字段'
观察这个SQL查询出来的数据,创建组织和使用组织不相等,且fmasterid是零,说明关联关系已经缺失,需要去修复关联关系
3、如何去修复上面物料辅助属性维度缺失的关联关系
t_bd_materialauxpty 这张表里面的fmasterid记录的是创建组织下辅助属性维度的fentryid(即t_bd_materialauxpty里面的fentryid),将使用组织下物料对应的物料辅助属性维度表里面的fmasterid修复成创建组织下物料对应的辅助属性维度表里面的内码fentryid即可
可以参考下面的帖子:
https://vip.kingdee.com/article/24166
PS:出现无法同步的情况,一般会是下列四种情况:
1、基础资料控制策略不可修改是否勾上,管理员进入系统修改基础资料控制策略
2、分配执行情况,物料是否保存校验没法通过,管理员进入系统查看分配执行情况
3、BOS设计器,物料保存操作是否自动同步的插件是否未启用,打开BOS设计器,操作列表,保存同步插件是否启用
4、同步程序可能出现中断,这个要去服务器Website/appdata/log下面看日志,是否有基础资料同步异常的中断
推荐阅读