找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 10789|回复: 10

[资料] 用友软件最大单据号修复工具

  [复制链接]
发表于 2015-10-12 13:19:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
用友软件最大单据号修复工具,用于填制收付款单或者其他单据时提示:违反了"primart key"约束 “aaaaaAp_closebill_pk”。不能在对象“AP_closebill”中插入重复键
分析:
此类问题为ua_identity表中cvouchtypesk所对应的ifatheridichildid数值太小。因为表Ap_CloseBill中的主键标识是通过ua_identity表中cvouchtypesk所对应的ifatherid+1得到的,如果ifatherid过小的话,那么ifatherid+1的值可能在此表中已经存在了,这样就违反了主键唯一性错误,因此会报这个错误。
解决方法:
use ufsystem
update UA_Identity set UA_Identity.ifatherid= (select max(id) from ufdata_991_2007..Ap_CloseBill),
UA_Identity.ichildid= (select max(autoid) from ufdata_991_2007..Ap_CloseBills)
where UA_Identity.cvouchtype='sk' and cacc_id='991'
注意:
如果在保存其他单据的时候提示类似的问题,请参照一下表进行更改。
其中ufdata_991_2007为出错的账套数据库,Ap_CloseBill为对应的关联主表,id 为主表标识,autoid为子表标识,Ap_CloseBills为对应的关联子表,sk为对应的cvouchtype,991为对应的账套号
对应单据名称

cvouchtype
相关联主表/子表
字段标识
采购请购单

PuApp
PU_AppVouch/ PU_AppVouchs
ID/Autoid
采购订单

Pomain
PO_Pomain/PO_Podetails
POID/ID
采购到货单

PuArrival
PU_ArrivalVouch/ PU_ArrivalVouch s
ID/autoid
采购入库单

rd
Rdrecord/ Rdrecord s
ID/Autoid
采购发票

Purbill
PurBillVouch/ PurBillVouch s
PBVID/ID
销售报价单

QuoMain
SA_QuoMain/ SA_QuoDetails
ID/autoid
销售订单

Somain
SO_SOMain/SO_SODetails
ID/isosid
销售发(退)货单

Dispatch
DispatchList/ DispatchList s
DLID/idlsid
销售发票

Billvouch
SaleBillVouch/ SaleBillVouch s
SBVID/Autoid
委托代销发货(退)单

Dispatch
DispatchList/ DispatchList s
DLID/idlsid
委托代销结算单

SettleVouch
SA_SettleVouch/ SA_SettleVouch s
ID/Autoid
委托代销调整单

Dispatch
DispatchList/ DispatchList s
DLID/idlsid
销售调拨单(红、蓝)

Billvouch
SaleBillVouch/ SaleBillVouch s
SBVID/Autoid
销售零售日报(红、蓝)

Billvouch
SaleBillVouch/ SaleBillVouch s
SBVID/Autoid
代垫费用单

Expense
ExpenseVouch/ ExpenseVouch s
ID/ID
销售支出单

Salepay
SalePayVouch/ SalePayVouch s
ID/ID
委外发票

Wwpurbill
OM_PurBillVouch/ OM_PurBillVouch s
PBVID/ID
产成品入库单

rd
Rdrecord/ Rdrecord s
ID/Autoid
其他入库单

rd
Rdrecord/ Rdrecord s
ID/Autoid
材料出库单

rd
Rdrecord/ Rdrecord s
ID/Autoid
其他出库单

rd
Rdrecord/ Rdrecord s
ID/Autoid
调拨单

td
TransVouch/ TransVouch s
cTVcode/autoID
盘点单

ch
CheckVouch/ CheckVouch s
cCVCode/autoID
限额领料单

ma
MatchVouch/ MatchVouch s
cVouchCode/autoid
不合格品记录单

sc
ScrapVouch/ScrapVouchs
ID/Autoid
不合格品处理单

sc
ScrapVouch/ScrapVouchs
ID/Autoid
货位调整单

ad
AdjustPVouch/ AdjustPVouch s
ID/ Autoid
/付款单

Sk
Ap_CloseBill/ Ap_CloseBills
iID/ID
商业/银行承兑汇票

Sk
Ap_CloseBill/ Ap_CloseBills
iID/ID
注意:其中销售订单子表、发货单子表、代垫费子表、销售支出单子表中的主键并不是通过表ua_identity中的ichildid+1得到,而是他本身是一个标识。如果这个单据报此错误,可能是由于主键的标识丢失。
延伸:保存销售订单、发货单、代垫费或者销售支出单的时候提示一下错误:
以销售订单的解决方式为例:
执行语句:
use ufsystem
update UA_Identity set UA_Identity.ifatherid= (select max(id) from ufdata_991_2007.. SO_SOMain),
UA_Identity.ichildid= (select max(isosid) from ufdata_991_2007.. SO_SODetails)
where UA_Identity.cvouchtype='somain' and cacc_id='991'


收/付款单:
use ufsystem
update UA_Identity set UA_Identity.ifatherid= (select max(iID) from ufdata_001_2015.. Ap_CloseBill),
UA_Identity.ichildid= (select max(ID) from ufdata_001_2015.. Ap_CloseBills)
where UA_Identity.cvouchtype='sk' and cacc_id='001'


发表于 2015-10-12 16:23:22 | 显示全部楼层
不错的方法,学习了!
回复 点赞 拍砖

使用道具 举报

发表于 2016-1-6 14:18:00 | 显示全部楼层
收藏了  感谢分享
回复 点赞 拍砖

使用道具 举报

发表于 2017-5-4 14:07:01 | 显示全部楼层
收藏了,好东西,值得学习
回复 点赞 拍砖

使用道具 举报

发表于 2017-5-25 08:52:44 | 显示全部楼层
谢谢分享。。。。。。。。。。。。
回复 点赞 拍砖

使用道具 举报

发表于 2019-1-2 16:07:36 | 显示全部楼层

谢谢分享。。。。。。。。。。。。
回复 点赞 拍砖

使用道具 举报

发表于 2020-10-8 17:54:39 | 显示全部楼层
学习了,谢谢楼主分享
回复 点赞 拍砖

使用道具 举报

发表于 2022-6-20 00:09:08 | 显示全部楼层
友小工具之最大单据号修改工具
回复 点赞 拍砖

使用道具 举报

发表于 2023-4-14 16:44:12 | 显示全部楼层
谢谢分享
回复 点赞 拍砖

使用道具 举报

发表于 2023-4-19 14:34:15 | 显示全部楼层
友小工具之最大单据号修改工具
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-4-26 17:11 , Processed in 0.049577 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表