文章来源:http://blog.sina.com.cn/s/blog_6169ba7b0101atdg.html

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

数据库名: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 ufsystem..ua_identity

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

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

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

--7.销售发票

update ufsystem..ua_identity

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

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

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

--8.销售发货单

update ufsystem..ua_identity

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

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

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

--9.销售订单

update ufsystem..ua_identity

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

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

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

--10.销售_委托代销结算单

update ufsystem..ua_identity

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

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

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

--11.销售_销售报价单

update ufsystem..ua_identity

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

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

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

--12.销售_销售支出单

update ufsystem..ua_identity

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

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

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

--13.销售_代垫费用单(应收)

update ufsystem..ua_identity

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

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

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

--14.库存_盘点单

update ufsystem..ua_identity

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

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

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

--14.存货_调整单

update ufsystem..ua_identity

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

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

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

--15.库存_限额领料单

update ufsystem..ua_identity

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

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

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

--16.库存_库存调拨单

update ufsystem..ua_identity

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

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

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

--16.采购_销售现结线索号,本字段为"XJ"加流水号,所以要去除2位字符,但是反向操作"弃结"系统不回写减少ua_identity,下次增加直接加1。

update ufsystem..ua_identity

set ifatherid= (SELECT max(CAST(RIGHT(isnull(STUFF(cCancelNo,1,2, ''),0),8) as int))as id from UFDATA_002_2013..Ap_CloseBill),

ichildid= (SELECT max(CAST(RIGHT(isnull(STUFF(cCancelNo,1,2, ''),0),8) as int))as id from UFDATA_002_2013..Ap_CloseBill)

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

--16.收款单

update ufsystem..ua_identity

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

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

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

--16.生产订单

update ufsystem..ua_identity

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

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

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

--16.委外核销单

update ufsystem..ua_identity

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

ichildidi= (Select MAX(CAST(RIGHT(isnull(MSDetailsID,0),8) AS INT))as id from UFDATA_002_2013..OM_MatSettleVouchs)

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

附录:业务所对应的表格名:

对应单据名称

cvouchtype

data库中相关联主子表

相关联主子表ID字段标识

采购请购单

PuApp

PU_AppVouch/s

ID/Autoid

采购订单

Pomain

PO_Pomain/PO_Podetails

POID/ID

采购到货单

PuArrival

PU_ArrivalVouch/s

ID/autoid

采购入库单

rd

Rdrecord/s

ID/Autoid

采购发票

Purbill

PurBillVouch/s

PBVID/ID

销售报价单

QuoMain

SA_QuoMain/ SA_QuoDetails

ID/Autoid

销售订单

Somain

SO_SOMain/SO_SODetails

ID/Autoid

销售发(退)货单

Dispatch

DispatchList/s

DLID/Autoid

销售发票

Billvouch

SaleBillVouch/s

SBVID/Autoid

委托代销发货(退)单

Dispatch

DispatchList/s

DLID/Autoid

委托代销结算单

SettleVouch

SA_SettleVouch/s

ID/Autoid

委托代销调整单

Dispatch

DispatchList/s

DLID/Autoid

销售调拨单(红、蓝)

Billvouch

SaleBillVouch/s

SBVID/Autoid

销售零售日报(红、蓝)

Billvouch

SaleBillVouch/s

SBVID/Autoid

代垫费用单

Expense

ExpenseVouch/s

ID/Autoid

销售支出单

Salepay

SalePayVouch/s

ID/autoid

委外发票

Wwpurbill

OM_PurBillVouch/s

PBVID/ID

产成品入库单

rd

Rdrecord/s

ID/Autoid

其他入库单

rd

Rdrecord/s

ID/Autoid

材料出库单

rd

Rdrecord/s

ID/Autoid

其他出库单

rd

Rdrecord/s

ID/Autoid

调拨单

tr

TransVouch/s

ID/Autoid

盘点单

ch

CheckVouch/s

ID/autoid

限额领料单

ma

MatchVouch/s

ID/autoid

不合格品记录单

sc

ScrapVouch/ScrapVouchs

ID/Autoid

不合格品处理单

sc

ScrapVouch/ScrapVouchs

ID/Autoid

货位调整单

ad

AdjustPVouch/s

ID/Autoid

应收应付单

sk

ap_closebill/s

IID/ID

客户调价单

SA_CusPriceJustMain

Sa_cuspricejustmain/sa_cuspricejustdetail

Id/autoid

委外订单

om_mo

Om_momain/om_modetails

Moid/MODetailsID

委外用料单子表

OM_Materials

OM_MOMaterials

MOMaterialsID

领料申请单 mv MaterialAppVouch/MaterialAppVouchs ID/AUTOID

备注

1

强制类型转换
cast(column_name as varchar2(20))之类的

2

Isnull 函数主要作用是将为空的值替换为指定值,如果不为空返回检查类型的返回值,isnull的语法:

Isnull (check_expression , replacement_value)

参数check_expression ,是待检查是否为空的表达式,参数replacement_value是带替换的指定值,如果参数check_expression为空则参数replacement_value进行填充,如果check_expression不为空,则返回表达式相应的返回值类型,需要注意到是参数check_expression和参数replacement_value的类型需要保持一致,否则要进行相应的转换

3

select right('1234',2)
结果:34
反回字符右边的指定长度的字符

用友业务最大单号的修复相关推荐

  1. 【C#】编号生成器(定义单号规则、固定字符、流水号、业务单号)

    系列文章 [C#]编号生成器(定义单号规则.固定字符.流水号.业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/12912978 ...

  2. 业务单号自动增长的处理办法

    问题:在实际业务处理中有些单号需要自动增长,但又不能用自增列代替       eg:  P031106001   -- 第一位P表示采购单,031106表示日期,后三位是流水号. /* 1:创建测试用 ...

  3. 顺丰快递单号的规律_顺丰快递单号查询跟踪(单号码查询)

    顺丰快递单号查询入口 顺丰速运(集团)有限公司(以下简称顺丰)是一家成立于1993年3月的港资速运企业,主要经营国际.国内快递及报关.报检.保险等业务,为广大客户提供快速.安全.优质的服务.长期以来, ...

  4. B端——复杂业务表单设计

    作者:nick (转载已取得作者授权) 一.前言 表单是B端产品中最常用的信息录入工具,但由于B端产品业务的复杂性,表单往往呈现出字段多.类型杂等特点,增大了它的设计难度:一个糟糕的表单,会极大影响用 ...

  5. 怎样快速查询单号物流信息,筛选出未签收的单号

    查询未签收的快递单号详细物流信息有什么简单的方法吗?对快递业务刚接触的来说用"快递批量查询高手"软件最适合不过了.那么如何操作呢?一起来看看吧. 先在电脑上下载快递批量查询高手软件 ...

  6. PHP快递查询接口api和快递单号智能判断PHP代码

    如果电商企业想将业务提升到一个新的水平,则应考虑接入第三方快递查询API接口.快递查询API接口提供了很多好处,并且可以为电商企业.微商带来强大的竞争优势.因为相对于独立一家家对接各个快递公司的服务接 ...

  7. (电商API文档)更新电子面单号

    想要及时更新电子面单号对应的面单信息,首先要对接好电商平台的电子面单接口,才能将平台变动后的收件信息及时更新到电子面单上,没有对接电商平台的ERP.WMS系统可以通过点三API接口来获取打印和更新电子 ...

  8. Mysql 利用存储过程 实现单据号码(单号)生成器(万能版)

    需求: 1.在项目开发过程中有一些业务单据我们希望有一个单号,如采购单.请假单等等. 2.由于上述每个业务单据都在不同的表里,并且由于项目开发不规范(字段命名不统一,有的把单号叫做Code,有的叫做N ...

  9. 常用查快递单号,快速查询追踪物流

    快递的寄送业务现在是越来越方便了,但是查询快递单号物流信息也是大家所烦恼的,下面就为大家分享用快递批量查询高手快速查询的方法.希望以后可以用到. 准备工具: 快递批量查询高手 多个快递单号 浏览查询效 ...

最新文章

  1. 优化系统后VS启动不了问题的一种解决方案
  2. ​计算产业如何加速突破?鲲鹏开发者技术沙龙带来新答案
  3. Math类(工具类)
  4. 基于Hi3559A ARM64位嵌入式平台的OpenCV2.4.9+ffmpeg2.0.7移植
  5. Docker Review - dockerfile 实战_给基础镜像增加功能
  6. Maven——Maven概述
  7. springboot----shiro集成
  8. android 队列上传图片,话说android端七牛图片上传
  9. 华为m6升级鸿蒙,华为鸿蒙系统再传喜讯!14款华为旧旗舰喜提新系统:大幅度换血...
  10. C# Winform获取路径
  11. 设置eclipse主题风格和取消黑色主题(详细)
  12. JavaScript高级程序设计(第四版) 第二章 HTML中的javascript
  13. ASP.net校友录毕业设计(源代码+论文+开题报告+答辩PPT)ASP.NET小型证券术语解释及翻译系统的设计与开发(源代码+论文)
  14. 外卖行业现状分析_2020年中国外卖行业市场现状与发展前景分析
  15. 推荐两个软件下载网站:多特和绿盟
  16. buu(前三页第二弹) RSA习题与相关知识总结
  17. C++版本OpenCv教程(十一)多通道分离与合并
  18. vLang-基于模型的微信开发框架,使用Python
  19. 一零四一、海康威视希捷紫盘查询序列号
  20. 【案例分享】项目施工进度报告 - 树形报表

热门文章

  1. 产品设计及运营的难言之隐。
  2. 解题:SHOI 2012 回家的路
  3. 74hc和74ls的区别
  4. win10磁盘活动时间100%
  5. 地源热泵户式中央空调经济性分析
  6. “刷脸回家黑科技”,人脸识别智能门禁D508重磅来袭!
  7. 六个步骤,细说电商banner图设计之色彩的奥秘
  8. GoEasy在Spring Boot的简单使用
  9. 做淘客你必须知道的引流技巧和套路
  10. 2年时间我是如何从阿里外包转正的?