修改用友U8设置及历史数据,实现应收对账单按发票明细行对账

用友U8的应收管理只有三个主要报表:对账单、总账、余额表,这三个报表有20年历史了,数据库的存储过程还能找到2001年的注释。

虽然用友在推出UAP平台后,对这几个报表进行了重写,但软件默认还是显示老报表格式,因为 UAP 不能实现老报表需要的一些功能。

从过往实施经验来看,不少客户反馈过一个需求,希望对账单按发票明细行显示,但对账单默认不支持按行显示。

经过与用友开发工程师的沟通,结合本人的实践经验,本文将具体操作办法及数据修改方法进行简单的分析总结。

1、数据来源

用友U8的应收应付明细数据都在ar_detail表中,包括收付款单、销售采购发票、应收应付单、核销、转账等

应收对账单主要取数来源就是这张表,根据用户在软件前台设置的分组汇总方式,对明细数据进行分组取数

2、需求描述

下图是用友U8前台的设置,通常情况下,支持多种分组模式生成对账单:

修改用友U8设置及历史数据,实现应收对账单按发票明细行对账_第1张图片

但是,用友U8最多只能汇总到客户+单据+存货,也就是说,同一张单据里面的不同行会被合并。

以下图为例,某企业销售产品时,除正常销售记录外,还有一行赠品,有数量但单价金额为零(正常销售200件,单价190元,赠送20件):

但是,对账单中,这两行由于是同一种存货,所以被合并为一行,数量汇总为220件,单价平均为172.73元,甲方无法接受:

3、解决办法

如果说,对账单前台能够允许我们按单据行进行分组,也就是实现按”客户+单据号+存货+单据行号“进行分组,就可以实现需求。

经过与用友工程师沟通,可以启用某个表体自定义项,即可实现按表体自定义项分组,同时,将表体自定义项设为取单据行号:

修改用友U8设置及历史数据,实现应收对账单按发票明细行对账_第2张图片

 

明确了这一点之后,后续修改方法就很简单了,具体来说,分为如下几个步骤操作:

首先启用表体自定义项,其实默认都是启用的,只是需要修改一下名称才会出现在各类功能中:

修改用友U8设置及历史数据,实现应收对账单按发票明细行对账_第3张图片

 之后到发票表体,设置该自定义项的取值规则为表体行号:

修改用友U8设置及历史数据,实现应收对账单按发票明细行对账_第4张图片

 最后到对账单中设置分组,勾选新增加的这个自定义项(记得先重启U8):

修改用友U8设置及历史数据,实现应收对账单按发票明细行对账_第5张图片

  还有一件事情需要注意,对账单默认不显示借贷方金额均为零元的记录,所以查询条件需要打开“显示单据金额为0”:

修改用友U8设置及历史数据,实现应收对账单按发票明细行对账_第6张图片

 4、数据修改

通过上面第三部分的设置,对账单就可以实现按单据行列出明细了,而且单据行即便是0元也会列出。

但是有个不足是,新设置的自定义项取值规则只对后续录入或修改的单据有效,历史数据是无效的。

因此还需要对历史数据进行修改,不过这里需要修改的不是发票表体,而是后台明细账表Ar_detial。

AR_Detail表里面没有发票行号,但有发票子表ID,我们可以根据子表ID查找到行号,然后更新过来。

注意,同一张发票会列出多次,包括审核时、核销时、并账时等,我们只需修改发票审核时的记录。

最后的修改语句如下,注意先备份再修改:

--备份语句
select * into ar_detail_bak20200107  from ar_detail

--修改语句
update ar_detail set cdefine33=salebillvouchs.irowno
from salebillvouchs
where ar_detail.ibvid=salebillvouchs.AutoID
and ar_detail.cVouchType='27'
and ar_detail.cCoVouchType='27'

最终效果如下,第一行为正常记录,第二行为赠品:

修改用友U8设置及历史数据,实现应收对账单按发票明细行对账_第7张图片

你可能感兴趣的:(修改用友U8设置及历史数据,实现应收对账单按发票明细行对账)