示例(销售对账单生成发票)

产品名:Pushsoft AIO7
版本号:V1.00 (2014/12/04)
文档号:TOEDI_012

本示例结合查询EDI功能,以销售对账单生成对应的应收发票为例,介绍了带基础凭证的业务单据的EDI模板。带基础凭证的业务单据的EDI导入与不带基础凭证信息的最大区别在于,EDI模板上有要基础凭证的Base字段。

 

 

操作步骤

返回页首

销售对账单生成应收发票

1.        路径:Suite | EDI及条码 | 数据交换。

2.        录入“模板编码”、“模板名称”以及概览页内容。

 

 

3.        列设置按下图设置:应收发票表中的字段对应的表名为“TM”、层次为“一级”,销售对账单表中的字段对应的表名为TD、层级为“二级”;这里我们需要注意在该模板中的Base字段,其中BaseRefBaseTypeBaseEntryBaseDocNumBaseLineNum字段记录的是应收发票表中关于基础凭证的信息(这里即为销售对账单的信息),而其中BaseBaseType字段记录的是销售对账单表关于基础凭证的信息(这里即为销售发退货单的信息) ,其中Flags字段记录的是销售对账单表关于销售发退货的数量信息(若为销售发货单中信息,则Flags=1;若为销售退货单中信息,则Flags=-1);将上述Base字段及Flags字段以及一些基本的字段设置好之后,销售对账单生成发票的EDI模板就设置好了。

 

 

4.        EDI模板设置好之后,我们需要制作相应的查询,我们需要从销售对账单中查询出上述EDI中的字段,数据来源于销售对账单,其中的Base字段对应的是销售对账单的信息,其中的BaseBaseType对应的是销售对账单的基础凭证对象信息。查询语句如下:

select TM.CrdTypeID,TM.CrdID, TM.CrdName, TM.NumAtCrd, TM.DocDate,TM.CurrID, TM.ExRate,

T0.BaseType BaseBaseType, '销售对账单' as BaseRef,

     T0.ObjType BaseType, T0.DocEntry BaseEntry, T0.DocNum BaseDocNum, T0.LineNum BaseLineNum,

T0.ItmID, T0.ItmName,T0.WhsID, T0.Qty, T0.Flags, 

T0.PriceFC, T0.TaxID, T0.TaxRate, T0.TaxStatus

from SARec TM

left join SARecA T0 on TM.DocEntry = T0.DocEntry

where TM.DocNum >= @DocNumFr and TM.DocNum <= @DocNumTo

 

5.        将相应的查询设置好之后,我们要选择对应的EDI模板。

 

 

6.        将相应的查询挂出,查询出相应的对账单信息,点击“查询EDI导入”按钮,选择需要生成发票的对账单,点击“导入当前页数据”按钮即可。

 

 

7.        生成之后,我们可以转到应收发票进行查看,其基础凭证销售对账单也已经关闭。

 

 

 

注意事项

返回页首

示例难点

1.        其中的BaseRefBaseTypeBaseEntryBaseDocNumBaseLineNum字段是一定要有的,这是用于得到发票的基础凭证的,因为此处的销售对账单是穿越引用,其还有相应的基础凭证,所以BaseBaseType字段也是要有的,其中的Flags字段一定要设置,否则若销售对账单数量包含负数(即记录的是销售退货单信息) 时,使用EDI不能导入数据。

2.        制作好相应的EDI模板后要进行授权,制作好相应的查询后也需要进行授权,授权之后,将查询挂出,相应人员可使用该查询生成相应的应收发票。

 

查询EDI注意点

1.        查询导入EDI使用的EDI模板不需要存在Excel模板。

2.        查询EDI原理:根据EDI模板的列名去匹配查询的列名,将查询的数据再根据EDI模板的字段名导入到表中。所以,查询中列名与EDI模板中列名要一致;而EDI模板中的列名与字段名不一定要一致。

3.        导入当前页数据和导入全部数据的区别注意:

a)          两者导入数据的范围不同。

b)         当查询EDI导入页面中,查询到的数据,一些字段可以进行修改,在修改后,点击“导入当前页面数据”按钮,导入的数据为修改后的数据;而点击“导入全部数据”按钮,导入的数据为原始数据。