爱玩科技网
您的当前位置:首页最大单据号问题ua_identity

最大单据号问题ua_identity

来源:爱玩科技网
(一)Ua_Identity——单据编号生成控制表

此表主要控制单据编号的生成

问题:保存收款单的时候提示以下错误。

分析:

此类问题为ua_identity表中cvouchtype为sk所对应的ifatherid和ichildid数值太小。因为表Ap_CloseBill中的主键标识是通过ua_identity表中cvouchtype为sk所对应的ifatherid+1得到的,如果ifatherid过小的话,那么ifatherid+1的值可能在此表中已经存在了,这样就违反了主键唯一性错误,因此会报这个错误。 解决方法: use ufsystem

update UA_Identity

set UA_Identity.ifatherid= (select max(id) from ufdata_991_2007..Ap_CloseBill) where UA_Identity.cvouchtype='sk' and cacc_id='991' 注意:

如果在保存其他单据的时候提示类似的问题,请参照一下表进行更改。

报错中的这个表在图1中找到,然后更改下上面的语

句。ufdata_991_2007为出错的账套数据库,Ap_CloseBill为对应的关联主表(报错中在不能在此表中插入重复键),sk为此表在表Identity所对应的cvouchtype,991为对应的账套号 对应单据名称 cvouchtype 相关联主表/子表 字段标识(主表对应ifatherid,字表对应ichildid) ID/Autoid POID/ID ID/Autoid PBVID/ID ID/autoid ID DLID 采购请购单 采购订单 采购到货单 采购入库单 采购 销售报价单 销售订单 销售发(退)货单 PuApp Pomain PuArrival rd Purbill QuoMain Somain Dispatch PU_AppVouch/ PU_AppVouchs PO_Pomain/PO_Podetails Rdrecord/ Rdrecords PurBillVouch/ PurBillVouchs SA_QuoMain/ SA_QuoDetails SO_SOMain DispatchList PU_ArrivalVouch/ PU_ArrivalVouchs ID/autoid 销售 委托代销结算单 委托代销调整单 Billvouch SaleBillVouch/ SaleBillVouchs DispatchList DispatchList/ DispatchLists SaleBillVouch/ SaleBillVouchs SaleBillVouch/ SaleBillVouchs ExpenseVouch SalePayVouch Rdrecord/ Rdrecords Rdrecord/ Rdrecords Rdrecord/ Rdrecords Rdrecord/ Rdrecords TransVouch/ TransVouchs CheckVouch/ CheckVouchs MatchVouch/ MatchVouchs ScrapVouch/ScrapVouchs ScrapVouch/ScrapVouchs AdjustPVouch/ AdjustPVouchs Ap_CloseBill/ Ap_CloseBills Ap_CloseBill/ Ap_CloseBills SBVID/Autoid DLID ID/Autoid DLID/idlsid SBVID/Autoid SBVID/Autoid ID ID ID/Autoid ID/Autoid ID/Autoid ID/Autoid cTVcode/autoID cCVCode/autoID cVouchCode/autoid ID/Autoid ID/Autoid ID/ Autoid iID/ID iID/ID 委托代销发货(退)单 Dispatch Dispatch SettleVouch SA_SettleVouch/ SA_SettleVouchs 销售调拨单(红、蓝) Billvouch 销售零售日报(红、蓝) Billvouch 代垫费用单 销售支出单 委外 产成品入库单 其他入库单 材料出库单 其他出库单 调拨单 盘点单 限额领料单 不合格品记录单 不合格品处理单 货位调整单 收/付款单 商业/银行承兑汇票 Expense Salepay Wwpurbill rd rd rd rd td ch ma sc sc ad Sk Sk OM_PurBillVouch/ OM_PurBillVouchs PBVID/ID 注意:其中销售订单子表、发货单子表、代垫费子表、销售支出单子表中的主键并不是通过表ua_identity中的ichildid+1得到,而是他本身是一个标识。如果这个单据报此错误,可能是由于主键的标识丢失。

延伸:保存销售订单、发货单、代垫费或者销售支出单的时候提示一下错误:

以销售订单的解决方式为例: 执行语句: use ufsystem

UA_Identity.ichildid= (select max(isosid) from ufdata_991_2007.. SO_SODetails) where UA_Identity.cvouchtype='somain' and cacc_id='991' 对应单据名称 销售订单 销售发(退)货单 代垫费用单 销售支出单

cvouchtype Somain Dispatch Expense Salepay 相关联主表/子表 SO_SODetails DispatchLists ExpenseVouchs SalePayVouchs 字段标识 isosid idlsid ID ID 1、在输入应收系统的\"收款单\"的时候,总提示单据号重复。单据编号生成控制表修正之后也还是提示单据号重复。

解决方法:由于ua_account_sub表里面的对应001账套的应收系统的bclosing标志出错,把‘0’改为‘1’就可以了,因为标志错误,导致系统取了上一年度的最大单据号。 注释:在保存其他单据的时候提示单据号重复,首先检查UA_IDENTITY和vouchhistory表,看单据记录最大号有没有问题。如果确实没有问题再查看是否是ua_account_sub表的标志错误导致。

U861--财务会计--应收补丁号: 款管理

问题名称: 单据号重复,不能保存

客户2005年应收款单据的单据号规则是按流水号,长度为10位,进行帐套结转后,在2006年度帐中输入收款单,进行保存时提示“单据号重复,不能保存”,然后在设置中设置应收款管理中收款

问题现象: 单的单据号规则:手工改动重号时自动重取,前缀1是单据日期,

年月,前缀2-3没有,流水号长度6位,保存后再新增收款单,不启作用,提示照常!该现象在应付款管理中的付款单上也出现。在新建的帐套中无此现象

应收应付年结后,如果UFSYSTEM..UA_ACCOUNT_SUB表中当前帐套

问题原因: 2005年度应收(AR)、应付(AP)的记录BCLOSING字段值为0,

可能会出现此现象。

检查并修改UFSYSTEM..UA_ACCOUNT_SUB表中当前帐套2005年度应

解决方案:

收(AR)、应付(AP)的记录BCLOSING字段值为1即可。

在我们平常处理的问题中,经常会碰到诸如:单据保存时提示“违反了primary key约束'****'不能在对象'***'中插入重复键。新增单据保存失败”的问题。

分析这种错误主要有两个原因:

1、系统库ufsystem中ua_identity表存在重复的记录;

2、Ufsystem中ua_identity表的ifather、ichildid值小于data库中相关联主子表的最大id值。

那么对于第一种情况,解决办法很简单,删除多余的记录。但是该删哪一条呢?我们必须找到对应单据的最大ID,才可判断哪一条是多余的;

第二种情况,新增的单据在data库中是什么表?对应的在系统库中ua_identity表中字段cvouchtype是什么?相对应Id又是什么呢?

通过做新的单据找规律,下面我总结出了各种业务单据在系统库和data库

中相关联的表和字段。

注:对应单据名称为我们新增单据的名称,cvouchtype为系统库中ua_identity表对应单据类型字段,ua_identity表中ifatherid对应关联表主表中ID标识, ichildid对应关联表子表中ID标识。

这样我们从cvouchtype判断是什么业务单据,然后到data库中找到相对应单据的主子表,找到其最大的俩ID,与ua_identity表中ifatherid、ichildid比较,保证ifatherid、ichildid大于等于关联data库中关键ID值即可。

对应单据名称 采购请购单 cvouchtype PuApp data库中相关联主子表 PU_AppVouch/s 相关联主子表ID字段标识 ID/Autoid 采购订单 采购到货单 采购入库单 采购 销售报价单 Pomain PuArrival rd Purbill QuoMain PO_Pomain/PO_Podetails PU_ArrivalVouch/s Rdrecord/s PurBillVouch/s SA_QuoMain/ SA_QuoDetails POID/ID ID/autoid ID/Autoid PBVID/ID ID/Autoid 销售订单 销售发(退)货单 销售 Somain Dispatch Billvouch SO_SOMain/SO_SODetails ID/Autoid DispatchList/s SaleBillVouch/s DispatchList/s SA_SettleVouch/s DispatchList/s SaleBillVouch/s DLID/Autoid SBVID/Autoid DLID/Autoid ID/Autoid DLID/Autoid SBVID/Autoid 委托代销发货(退)单 Dispatch 委托代销结算单 委托代销调整单 SettleVouch Dispatch 销售调拨单(红、蓝) Billvouch 销售零售日报(红、蓝) Billvouch 代垫费用单 销售支出单 委外 产成品入库单 其他入库单 材料出库单 其他出库单 调拨单 盘点单 限额领料单 不合格品记录单 不合格品处理单 货位调整单 应收应付单 SaleBillVouch/s ExpenseVouch/s SalePayVouch/s OM_PurBillVouch/s Rdrecord/s Rdrecord/s Rdrecord/s Rdrecord/s TransVouch/s CheckVouch/s MatchVouch/s ScrapVouch/ScrapVouchs ScrapVouch/ScrapVouchs AdjustPVouch/s ap_closebill/s SBVID/Autoid ID/Autoid ID/autoid PBVID/ID ID/Autoid ID/Autoid ID/Autoid ID/Autoid ID/Autoid ID/autoid ID/autoid ID/Autoid ID/Autoid ID/Autoid IID/ID Expense Salepay Wwpurbill rd rd rd rd td ch ma sc sc ad sk 举一个实例,问题现象如下图:

我们查询关联的rdrecord/s表中记录,找其最大ID值,参考语句如下: use UFDATA_883_2008 select max(autoid) from rdrecords select max(id) from rdrecord

这时我们再看系统库中identity表中记录: use ufsystem

select * from ua_identity where cacc_id='883' and cvouchtype='rd'

我们发现系统库中ifatherid和ichildid小于data库中的,参考以下语句进行调整即可:

update ua_identity set ifatherid=(select max(id) from ufdata_883_2008..rdrecord where cacc_id='883')

update ua_identity set ichildid=(select max(autoid) from ufdata_883_2008..rdrecords where cacc_id='883')

其中UFDATA_883_2008为问题帐套数据库名称。

(一)Ua_Identity——单据编号生成控制表

此表主要控制单据编号的生成

问题:保存收款单的时候提示以下错误。

分析:

此类问题为ua_identity表中cvouchtype为sk所对应的ifatherid和ichildid数值太小。因为表Ap_CloseBill中的主键标识是通过ua_identity表中cvouchtype为sk所对应的ifatherid+1得到的,如果ifatherid过小的话,那么ifatherid+1的值可能在此表中已经存在了,这样就违反了主键唯一性错误,因此会报这个错误。 解决方法: use ufsystem

update UA_Identity

set UA_Identity.ifatherid= (select max(id) from ufdata_991_2007..Ap_CloseBill) where UA_Identity.cvouchtype='sk' and cacc_id='991' 注意:

如果在保存其他单据的时候提示类似的问题,请参照一下表进行更改。

报错中的这个表在图1中找到,然后更改下上面的语

句。ufdata_991_2007为出错的账套数据库,Ap_CloseBill为对应的关联主表(报错中在不能在此表中插入重复键),sk为此表在表Identity所对应的cvouchtype,991为对应的账套号 对应单据名称 cvouchtype 相关联主表/子表 字段标识(主表对应ifatherid,字表对应ichildid) ID/Autoid POID/ID ID/Autoid PBVID/ID ID/autoid ID DLID SBVID/Autoid DLID ID/Autoid DLID/idlsid SBVID/Autoid SBVID/Autoid 采购请购单 采购订单 采购到货单 采购入库单 采购 销售报价单 销售订单 销售发(退)货单 销售 委托代销结算单 委托代销调整单 PuApp Pomain PuArrival rd Purbill QuoMain Somain Dispatch Billvouch PU_AppVouch/ PU_AppVouchs PO_Pomain/PO_Podetails Rdrecord/ Rdrecords PurBillVouch/ PurBillVouchs SA_QuoMain/ SA_QuoDetails SO_SOMain DispatchList SaleBillVouch/ SaleBillVouchs DispatchList DispatchList/ DispatchLists SaleBillVouch/ SaleBillVouchs SaleBillVouch/ SaleBillVouchs PU_ArrivalVouch/ PU_ArrivalVouchs ID/autoid 委托代销发货(退)单 Dispatch Dispatch SettleVouch SA_SettleVouch/ SA_SettleVouchs 销售调拨单(红、蓝) Billvouch 销售零售日报(红、蓝) Billvouch 代垫费用单 销售支出单 委外 产成品入库单 其他入库单 材料出库单 其他出库单 调拨单 盘点单 限额领料单 不合格品记录单 不合格品处理单 货位调整单 收/付款单 商业/银行承兑汇票 Expense Salepay Wwpurbill rd rd rd rd td ch ma sc sc ad Sk Sk ExpenseVouch SalePayVouch Rdrecord/ Rdrecords Rdrecord/ Rdrecords Rdrecord/ Rdrecords Rdrecord/ Rdrecords TransVouch/ TransVouchs CheckVouch/ CheckVouchs MatchVouch/ MatchVouchs ScrapVouch/ScrapVouchs ScrapVouch/ScrapVouchs AdjustPVouch/ AdjustPVouchs Ap_CloseBill/ Ap_CloseBills Ap_CloseBill/ Ap_CloseBills ID ID ID/Autoid ID/Autoid ID/Autoid ID/Autoid cTVcode/autoID cCVCode/autoID cVouchCode/autoid ID/Autoid ID/Autoid ID/ Autoid iID/ID iID/ID OM_PurBillVouch/ OM_PurBillVouchs PBVID/ID 注意:其中销售订单子表、发货单子表、代垫费子表、销售支出单子表中的主键并不是通过表ua_identity中的ichildid+1得到,而是他本身是一个标识。如果这个单据报此错误,可能是由于主键的标识丢失。

延伸:保存销售订单、发货单、代垫费或者销售支出单的时候提示一下错误:

以销售订单的解决方式为例: 执行语句: use ufsystem

UA_Identity.ichildid= (select max(isosid) from ufdata_991_2007.. SO_SODetails) where UA_Identity.cvouchtype='somain' and cacc_id='991' 对应单据名称 销售订单 销售发(退)货单 代垫费用单 销售支出单

1、在输入应收系统的\"收款单\"的时候,总提示单据号重复。单据编号生成控制表修正之后也还是提示单据号重复。

解决方法:由于ua_account_sub表里面的对应001账套的应收系统的bclosing标志出错,把‘0’改为‘1’就可以了,因为标志错误,导致系统取了上一年度的最大单据号。 注释:在保存其他单据的时候提示单据号重复,首先检查UA_IDENTITY和vouchhistory表,

cvouchtype Somain Dispatch Expense Salepay 相关联主表/子表 SO_SODetails DispatchLists ExpenseVouchs SalePayVouchs 字段标识 isosid idlsid ID ID 看单据记录最大号有没有问题。如果确实没有问题再查看是否是ua_account_sub表的标志错误导致。

因篇幅问题不能全部显示,请点此查看更多更全内容