用友通批次知识及典型案例处理.docx
- 文档编号:8160550
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:15
- 大小:447.66KB
用友通批次知识及典型案例处理.docx
《用友通批次知识及典型案例处理.docx》由会员分享,可在线阅读,更多相关《用友通批次知识及典型案例处理.docx(15页珍藏版)》请在冰豆网上搜索。
用友通批次知识及典型案例处理
批次有关的基础设置:
销售参数设置
1.销售是否必填批号
假如设置由库存生成销售出库单,在销售模块填制发货单或者销售发票时,可以不填入批号,在生成销售出库单时再指定批号。
假如设置由销售生成销售出库单,此项默认为必选项不可修改,则必须在销售模块下填入批号。
2.存货参照是否带批号
选择时,在填制出库单参照存货档案时,同一条存货会按不同批号分行显示。
库存参数设置
1.批次存货入库单,审核后才能出库.
选择时,在出库单在参照批号时只能看到审核过的入库单。
不选择时显示全部。
2.批次合并
在10.3之后的版本,增加了批次合并的功能,在库存业务范围设置下“是否批次合并出库”(默认为不选)。
使用批次合并以后,在软件操作中和数据库中都会有一些变化。
操作
a.在使用界面:
当使用批次合并以后,系统按存货编码+批号+失效期+自由项合并,在填制出库单选择批次时相同的批次不会分行显示,数量按批次汇总。
例如:
0000000003号采购入库单:
存货“电源”数量50.
0000000004号采购入库单:
存货“电源”数量60.
在出库单参照批号时,合并显示相同的批号:
b.数据库表
在10.3以后,数据库中增加了BatchCountDistributeList表(批次合并表)
当选择批次合并功能后,RdRecords表的出库记录与入库记录的对应不再写cVouchCode字段,出库记录的cVouchCode值也为NULL,所有出库记录与入库记录的批次对应将在BatchCountDistributeList反映。
批次有关的主要数据库表及重要字段
Mainbatch表
Mainbatch表中记录了存货的入库明细,包含蓝字入库和红字出库。
每条入库明细记录都是会在Mainbatch表中产生一条相对应的记录.(假如红字出库单指定了对应的入库单除外)
关键字段:
cWhCode:
仓库
RdID:
是指定mainbatch表中的本条记录对应的是rdrecords表中的哪条入库记录AutoID。
bIsNull:
标示该条入库记录是否已经出空。
“0”代表本条入库记录中的数量已经全部出完,在填制出库单参照批次时不再显示,批次结存表中也不再显示。
“1”代表本条入库记录中的数量未全部出完,在填制出库单选择批次时可以参照。
Rdrecord表
Rdrecord表记录所有出入库单据表头内容。
关键字段:
cWhCode:
仓库
bRdFlag:
收发标志,“0”代表出库,“1”代表入库。
Rdrecords表
Rdrecords表记录所有出入库单据表体明细内容。
关键字段:
ID:
主表标识,与主表关联字段。
cBatch:
批号
cVouchCode:
出库记录对应入库明细的AutoID,如不使用批次合并功能,批次存货出库明细记录(蓝字出库和红字入库)该字段不为空,此字段记录该出库明细对应的入库明细的AutoID;当红字出库记录(退库)选择了对应的蓝字出库单,此时cvouchcode字段写入所选择的蓝字出库单对应的入库明细的AutoId,当不选择对应的蓝字出库单时,此记录与一条入库记录相同,cVouchCode为Null,并写入Mainbatch表。
iSOutQquantity:
记录该笔入库明细的累计出库数量。
Dispatchlists表
Dispatchlists表中记录了发货退货明细
关键字段:
cBatch:
批号
iBatch:
填入批号的请况下(即cbatch不为null的情况下),该字段记录了该发货明细对应的入库明细的AutoId。
红字发货如选择批号则直接改写该入库明细的累计发出数(iSOutQquantity),如手工填入批号,则在生成红字销售出库单以后,生成新的入库记录并写入Mainbatch表。
SaleBillVouchs表
SaleBillVouchs表记录了发票明细
关键字段:
cBatch:
批号
iBatch:
填入批号的请况下(即cbatch不为null的情况下),批次存货蓝字发票明细记录ibatch字段不为空不为0,该字段记录了该发票明细对应的入库明细的AutoId。
BatchCountDistributeList表
批次合并出库的情况下,该表记录出库明细记录,发货明细记录,发票明细记录与入库明细记录的对应关系。
关键字段:
ID:
Rdrecords表中入库记录的AutoID
OutID:
出库单AutoID
DPListsID:
发货单子表AutoID
SBVouchsID:
销售发票子表SBVID
ST_TotalAccount表
库存总账表,库存模块记账后生成,记录存货的库存总账数据,库存模块结账后当月数据写入该表
关键字段
cWhCode:
仓库
cBatch:
批号
iBeginQuantity:
期初数量
iBeginQuantity:
收入数量
iBeginQuantity:
发出数量
iBeginquantity(本期期初库存数量)=iBeginquantity(上月的期初库存数量)+iIncomeQuantity(上月的收入数量)—iSentOutQuantity(上月发出数量)
批次问题现象列举及处理方法
1.批次结存表数量小于批次台帐数量,比如批次台帐有结存,而批次结存表已经没有结存(发货单,出库单或者其他发出业务在选择批次时参照不到)
首先我们需要检查现存量并检查帐套中是销售生成销售出库单还是库存模块生成销售出库单,假如是库存模块生成销售出库单,需要检查是不是有未审核或未生成销售出库单的发货单也使用此批号,因为发货单的发出记录会影响累计发出数量,会登记批次结存表,而不登记批次台帐,只有发货单在生成销售出库单以后,才会登记批次台帐。
假如现存量中并没有待发数量,也就是说并没有未审核或未生成销售出库单的发货单,这个时候可以检查rdrecords表中的各条明细记录,各字段的数据或者关系是否正常。
案例:
(a)出库记录对应的入库记录无错误,入库记录的累计发出数(isoutquantity字段)回写错误:
问题现象:
问题存货批次台帐结存数量5,批次结存表结存数量0。
存货:
SA33701仓库:
001批号:
081128
批次台帐结存数量:
5
批次结存表结存数量:
0
查询现存量:
也并没有代发数量
分析过程:
从数据库中查看该存货该批次下的出入库记录进行对比查看
由所得的数据可以看出本年度中只有一笔入库,数量为5,并没有出库记录,所以批次台帐所显示的结存数量为5应该是正确的,而在入库单的累计发出数(isoutquantity字段)却为‘5’,这样就造成批次结存表显示没有结存,不能出库。
解决方法:
假如只有个别存货有此问题,我们可以执行语句单独更新本条入库记录,将累计发出数量(isoutquantity字段)更改为正确是值,并将mainbatch表的是否出空标志(bisnull字段)修改为‘0’(未出空)。
Updaterdrecordssetisoutquantity=’5’whereautoid=’61795’
Updatemainbatchsetbisnull='0'whererdid='61795'
假如大量存货存在此问题,可以执行单年度批次调整脚本进行批量调整。
接下来:
(b)出库记录与入库记录对应错误:
问题现象:
问题存货批次台帐结存数量0,批次结存表结存数量6,因为其他仓库还有结存,所以再继续出库后,会造成批次台帐结存为负。
存货:
010217仓库:
1批号:
20080824
批次台帐结存数量为0
批次结存表结存为6
在出库单中依然能选择该批次
分析过程:
在数据库中查询该存货该批次下的出入库记录进行对比查看:
由显示的数据可以看出问题所在,出库记录中数量为6的一条,cvouchcode字段是有问题的,这个字段是出库记录与入库记录的对应关系,而这条出库单的指向并不是当前批次的入库记录,所以导致入库明细上累计发出数(isoutquantity字段)计算错误,当前存货该批次实际已经出完,而入库记录上的累计发出数(isoutquantity字段)只取到了一条出库单的数据,所以只显示为4。
解决方法:
方法一:
可以首先在数据库中将出库记录与入库记录之间的对应关系修改正确,然后将入库记录上的累计发出数(isoutquantity字段)更改为正确的值,最后更新mainbatch表中对应本条入库记录的出空标志(bisnull字段)。
方法二:
根据错误的出库记录对应的主表标识,查询出该错误记录的出库单号,在软件中删除次单据,重新填制。
假如条件允许的情况下,推荐按第二种方法进行修改,尽量在软件中处理。
2.批次结存表数量大于批次台帐数量。
问题现象:
问题存货批次结存表显示结存数量32,批次台帐结存数量0。
存货:
2016仓库:
芯片批号:
B0701
批次结存表结存数量:
32
批次台帐结存数量:
0
分析过程:
在数据库中查询该存货该批次下的出入库记录进行对比查看:
由所得的数据可以看出本年度中只有一笔发出,数量为80,所对应的入库记录,数量为112,从目前想减所得的批次结存为32也是正确的。
从批次台帐显示的入库信息来看,本条入库为上年度所结转过来的,这样可以查询一下上年度的信息。
通过查看上年数据,我们发现本条入库记录在上年已经有了发出数量,所以证明本年的累计发出数量是错误的。
解决方法:
从数据上观察,出库记录与入库记录之间的对应关系(cvouchcode字段)是正确的,所以我们可以使用批次调整脚本进行调整,重算本年度的累计出库数量。
执行过脚本后,累计出库数更新为正确数据,在软件中批次结存表也不再显示这条已经出完的记录。
小结:
带有批次管理的存货,出现期初结转的错误,或者在批次结存表中或者出库单参照批号时显示出以前年度已经完全发完,结存为零的批次,原因一般为使用了10.3版本前库存模块下的“批次整理”功能,此功能会造成跨年度的批次混乱,在10.3版本打过补丁后已不再显示。
3.使用系统工具导入的库存期初,在选择批次时错误。
问题现象:
问题帐套是使用系统工具导入的库存期初,部分存货有批次管理,其中问题存货在批次台帐和批次结存表现存量中均可查看到库存,结存为2,在做调拨单时也能参照到批次,保存时却提示“不允许负出库”
分析过程:
在数据库中查看该存货的出入库明细,结果显示应该都是正常的。
入库记录上isoutquantity字段为0,并没有累计发出数,mainbatch表中的信息也都是正确是并且bisnull字段为0.表示未出空。
因未发现错误线索,所以可以尝试再手工填制一张入库单。
测试后发现,手工新增的入库单可以出库,并且无任何错误。
将新增的入库单与原有数据进行对比,发现问题好像是出在cFree1,cFree2(存货自由项1,存货自由项2)两个字段。
原有数据中这两个字段为空,在新增的数据中,这两个字段值为NULL。
解决方法:
使用update语句批量修改rdrecords表和mainbatch表中这两个字段的值,将空值更新为NULL,更新后单据不再报错。
4.MainBatch表和RdRecords表对应错误。
问题现象:
在批次台帐中可以查询到一笔入库,数量为4,无出库,结存4。
在填制出库单或查看批次结存表时没有这个批次的数据。
存货:
I-18-4仓库:
01批号:
0806-1
批次台帐显示结存数量4.
批次结存表显示无数据。
分析过程:
数据库中查看该存货该批次下的出入库明细。
通过结果发现,本条入库明细的累计发出数并没有错误。
再根据批次主表与入库明细的关系查mainbatch表
通过查看的结果已经能看到错误的所在了,刚刚在查询入库明细时,选择的问题存货是‘I-18-4’,所入库单上所显示的仓库是‘01’而在mainbatch表上则显示仓库为‘02’存货为‘C-1-15-40’.
解决方法:
通过语句查询mainbatch表与rdrecord表,rdrecords表对应信息出错的记录
select*frommainbatchinnerjoinrdrecordsonmainbatch.rdid=rdrecords.autoidinnerjoinrdrecordonrdrecords.id=rdrecord.id
wheremainbatch.cinvcode<>rdrecords.cinvcodeormainbatch.cwhcode<>rdrecord.cwhcode
发现错误记录只有一条
直接在调整数据,将mainbatch表中错误记录的cWhcode,cInvCode调整为与入库记录一致就可以了
updatemainbatchsetcwhcode='01'whererdid=85211
updatemainbatchsetcinvcode='I-18-4'whererdid=85211
小结:
此问题属于个别现象,目前只出现过一次,不过分析问题的过程与前几种问题相似,出现批次台帐与批次结存表数据不一致时,首先查看问题存货在该批次下的所有出库入库明细进行查看。
初步判断问题原因为数据的计算错误还是字段间的对应错误。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用友 批次 知识 典型 案例 处理