物料无法同步原因分析
金蝶云社区-Tracy_Huang
Tracy_Huang
2人赞赏了该文章 3843次浏览 未经作者许可,禁止转载编辑于2017年10月05日 10:56:14

最近,遇到很多客户问题是提到物料分配之后,修改创建组织下物料的信息无法同步的情况,其中物料无法同步的大致原因都是因为分配过去之后,修改物料无法通过物料的保存,很多问题都出在辅助属性维度的问题上
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下面看日志,是否有基础资料同步异常的中断