金蝶K3软件-新增“物料自定义属性”提示“名称或代码在系统中已被使用”原创
金蝶云社区-云逸天下
云逸天下
10人赞赏了该文章 3,710次浏览 未经作者许可,禁止转载编辑于2024年05月18日 22:19:21

分享一个以前碰到并解决的一个古怪问题,因为账套数据还需要供其他数据库服务器进行数据的出版订阅,账套的数据库文件非常大,解决起来花了有2个多月的时间。

问题:K3系统无法通过“核算项目类别修改”来新增“物料自定义属性”,提示【“名称或代码在系统中已被使用”,分布式事务已完成。请将此会话登记到新事务或NULL事务中】。

但该账套新增基础资料,做单据,成本计算,生成凭证,结账等功能均正常。

 image.png

 

系统环境如下:

操作系统:32位的Windows Server 2003 简体中文企业版SP2

数据库:MS Sql Server 2000 简体中文企业版sp4

应用软件版本:金蝶K3 V11.01(补丁:PT018715,PT053387)

 

1.操作过程:

 image.png

 image.png

 image.png

 image.png

  

尝试解决过程1:

1.新增的自定义属性的名称修改为数字;

2.核算项目类别确定后,再去重命名数字为中文;

3.添加自定义字段,仍然有同样的错误提示;

尝试解决过程2:

1.把账套A进行备份,然后在K3账套管理功能中对账套数据库进行优化;

2.把账套A取消注册,然后重新注册;

3.添加自定义字段,仍然有同样的错误提示;

尝试解决过程3:

1.把账套A的数据库发布与订阅功能取消;

2.添加自定义字段,仍然有同样的错误提示;

以上尝试均未能解决问题。

 

【最终解决】

1.把账套A进行备份,然后恢复账套B,在账套B中新增自定义字段【分类】,可以新增成功;

2.在账套B中新增【商品代码:9999.99ZZ,名称:9999.99ZZ】;

3.把账套B中【商品代码:9999.99ZZ,名称:9999.99ZZ】商品基础资料通过K3 BOS数据交换功能导出,文件命名为《商品基础资料B》;

4.把《商品基础资料B》通过K3 BOS数据交换功能导入到账套A,出现下列提示,但检查商品的属性发现,新增的自定义字段【分类】已存在;

 image.png

 

5.导入结束后,登录K3客户端,打开商品基础资料时,发现提示错误;

6.把账套B中t_ICItem视图语句复制,然后粘贴到账套A中的同名视图,在K3客户端,打开商品基础资料时,发现错误提示已经没有;

7.在K3 BOS数据交换功能对商品资料进行导入或导出时,出现以下提示:

 image.png

 

8.在K3客户端,新增或修改商品基础资料,在保存时会提示以下错误;

“输入数据超过范围,请重新输入”

 image.png

运行这些语句还是不行。

update t_Identity set FNext=(select MAX(fitemid)+1 from t_item) where FName='t_item'

 

9.分析可能出错的原因是前期操作人员在添加物料基础资料的属性后,K3系统重新创建视图,但不知是何原因该视图上的触发器丢失,这种情况可以通过执行以下两个语句最终解决:

EXEC SP_CREATE_ICItem_VIEW

EXEC SP_CREATE_ICItem_TRIGGER

1:以执行第1个存储过程时,如果账套A是用于发布或订阅数据,则可能会出现以下提示:

 image.png

这时可以直接用账套B中的t_ICItem视图语句替换账套A中的t_ICItem视图语句,就不需要执行EXEC SP_CREATE_ICItem_VIEW创建视图,可以直接执行EXEC SP_CREATE_ICItem_TRIGGER创建触发器即可;

10.对商品基础资料进行导入和导出操作,提示完全成功;

 image.png

 

11.在K3客户端,打开商品基础资料时,新增或修改商品基础资料,在保存时正常。

至此问题全部解决。

******本文档到此结束******


赞 10