用友最大单据号修复语句

知识:用友做软件开发时,有一个表是专门存储最大单号的:数据库名:Ufsystem.mdb,表名:UA_Identity,此表的字段如下:字段名    意义cAcc_Id    002cVouchType    单据类型编码iFatherId    主表标识,即主表IDiChildId    子表标识,即子表ID 在表名:UA_Identity中,举例来说,对应cVouchType='Tr'的iFa...
摘要由CSDN通过智能技术生成

知识:用友做软件开发时,有一个表是专门存储最大单号的:

数据库名:Ufsystem.mdb,表名:UA_Identity,此表的字段如下:

字段名    意义

cAcc_Id    002

cVouchType    单据类型编码

iFatherId    主表标识,即主表ID

iChildId    子表标识,即子表ID

 

在表名:UA_Identity中,举例来说,对应cVouchType='Tr'的iFatherId和iChildId的数应对应主表TransVouch和子表TransVouchs最后一行的ID号,如果小于这两个数,保存单据时就会出现错误提示。

一般地,主表最大ID字段为ID,子表最大ID字段为 AutoID

 

两个错误提示的解决办法:

一、在使用用友软件中,在做某些业务单据时,无法保存,出现如下提示

 

这个问题主要是同一业务有多个人操作或在操作时非正常退出引起的,解决这个问题很简单,首先要保证这个业务就你一个人在操作,解决方法如下:

1.出现不能保存时,点确定,再点保存。

2.如果还是保存不上,返回第1步。

我发现,在Ufsystem.. UA_Identity表中,每保存一次,相应记录的两个字段iFatherId和iChildId会自动+1,这样,反复执行这两步,就产生了最大的单号,可以保存了。

 

二、错误提示(不同的单据数据名不同,汉字基本相同):

 

手工解决办法,打开对应数据库,主表TransVouch,子表TransVouchs,移到最下面一行,抄下其最大ID号,再打开Ufsystem.mdb….UA_Identity,找到相应的记录,填入这两个ID号即可。

也可以通过下面的SQL语句进行方便的修改,下面的SQL语句全部都是找出主表和子表的最大单据号,然后填入Ufsystem.mdb,表名为UA_Identity相应的记录字段中。

注意在执行某个SQL时,先把它复制到记事本中,然后修改002和2013,再打开SQL查询分析器执行。

 

范例:将"002"替换成"001","2013"替换成"2013"

原SQL语句

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_002_2013..RDRECORD),

ichildid= (Select MAX(CAST(RIGHT(isnull(AUTOID,0),8) AS INT))as id from UFDATA_002_2013..RDRECORDS)

where (cvouchtype='rd'and cacc_id='002')

替换后

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_001_2013..RDRECORD),

ichildid= (Select MAX(CAST(RIGHT(isnull(AUTOID,0),8) AS INT))as id from UFDATA_001_2013..RDRECORDS)

where (cvouchtype='rd'and cacc_id='001')

 

各业务重复单号的解决方案

--1.出入库单(收发记录主子表)

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_002_2013..RDRECORD),

ichildid= (Select MAX(CAST(RIGHT(isnull(AUTOID,0),8) AS INT))as id from UFDATA_002_2013..RDRECORDS)

where (cvouchtype='rd'and cacc_id='002')

--2.采购订单PO_Pomain和PO_Podetails

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(moID,0),8) AS INT))as id from UFDATA_002_2013..PO_Pomain),

ichildid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_002_2013..PO_Podetails)

where (cvouchtype='Pomain'andi cacc_id='002')

21 委外订单

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(moID,0),8) AS INT))as id from UFDATA_002_2013..OM_MOMain),

ichildid= (Select MAX(CAST(RIGHT(isnull(MODetailsID,0),8) AS INT))as id from UFDATA_002_2013..OM_MODetails)

where (cvouchtype='om_mo'and cacc_id='002')

22 客户调价单

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_002_2013.. SA_CusPriceJustMain),

ichildid= (Select MAX(CAST(RIGHT(isnull(icusjustautoid,0),8) AS INT))as id from UFDATA_002_2013.. SA_CusUPrice)

where (cvouchtype=' SA_CusPriceJustMain'and cacc_id='002')

--3.采购发票PURBILL和PurBillVouchS

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(PBVID,0),8) AS INT))as id from UFDATA_002_2013..PurBillVouch),

ichildid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_002_2013..PurBillVouchS)

where (cvouchtype='PURBILL'and cacc_id='002')

--4.采购结算单

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(PSVID,0),8) AS INT))as id from UFDATA_002_2013..PurSettleVouch),

ichildid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_002_2013..PurSettleVouchs)

where (cvouchtype='PURSTID'and cacc_id='002')

--5.采购请购单

update ufsystem..ua_identity

set ifatherid= (Select MAX(CAST(RIGHT(isnull(ID,0),8) AS INT))as id from UFDATA_002_2013..PU_AppVouch),

ichildid= (Select MAX(CAST(RIGHT(isnull(AUTOID,0),8) AS INT))as id from UFDATA_002_2013..PU_AppVouchs)

where (cvouchtype='PUAPP'and cacc_id='002')

--6.采购到货单

update

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值