马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
数据转换接口设计 对下文的案例,做如下假设: 1、XX公司每卖一批商品开具一张发票; 2、XX公司根据每张发票生成1张记账凭证,凭证类型为“转”,附件张数为2,填制日期为“开票日期”,制单人为“张三”; 3、XX公司出售商品为主营业务,主营业务科目编码为6001,公司应收账款按客户分类核算,应收账款科目编码为1122,客户编码为“购方税号”,应交税费销项税科目编码为222105。 1.开票数据导出 【第一步】打开“增值税防伪税控系统”,点击“报税处理/抄报税管理/开票数据导出”功能,如图1-1所示。 图1-1 开票数据导出 【第二步】系统弹出文件导出对话框,如图1-2所示,输入查询条件,包括查询月份、开票日期及购方信息等,点击“确定”按钮。 图1-2 查询条件 【第三步】在系统弹出的对话框中选择导出文件存放路径,输入文件名,选择保存类型,点击“保存”按钮,进行开票数据导出时,保存类型包括EXCEL文件和XML文件两种。 【第四步】系统开始导出发票。 【第五步】导出后给出成功提示,在导出文件存放路径下可以查看到导出的文件。 【第六步】导出文件如图1-3所示,将其所在工作表的名称改为“发票数据”。 图1-3 Sheets(“发票数据”) 根据图1-3中的数据,编制对应的分录: 摘要:销售A公司X商品 借:应收账款(1122)—A公司(01) 234.00 贷:主营业务收入(6001) 200.00 贷:应交税费—应交销项税(222105) 34.00 2.制作用友总账系统可识别的导入文件 如图2-1所示格式的文件可通过用友的总账系统导入生成凭证 图2-1 用友可识别文件 如上分录转换成可导入用友系统的格式如下: 20X4-1-1,"转","1",2," 销售A公司X商品","1122",234.00,,,,,"张三",,"",,"","","01","", 20X4-1-1,"转","1",2," 销售A公司X商品","6001",,200.00, ,,," 张三",,"",,"","","","", 20X4-1-1,"转","1",2," 销售A公司X商品","222105",,34.00,,,," 张三",,"",,"","","","", 【第一步】建立Sheets(“凭证”),用于存放转换后的发票数据,如图2-2所示。 图2-2 Sheets(“凭证”) 【第二步】通过如下代码将Sheets(“发票数据”)中的数据写入Sheets(“凭证”) hmax = Sheets("发票数据").Range("A65535").End(xlUp).Row With Sheets("凭证") For i = 7 To hmax .Cells(3 * i - 19, 6) = "1122" .Cells(3 * i - 18, 6) = "6001" .Cells(3 * i - 17, 6) = "222105" .Cells(3 * i - 19, 7) = Sheets("发票数据").Cells(i, 14) .Cells(3 * i - 19, 7) =.Cells(3 * i - 19, 7) + Sheets("发票数据").Cells(i, 16) .Cells(3 * i - 18, 8) = Sheets("发票数据").Cells(i, 14) .Cells(3 * i - 17, 8) = Sheets("发票数据").Cells(i, 16) .Cells(3 * i - 19, 14) = Sheets("发票数据").Cells(i, 2) .Cells(3 * i - 19, 18) = Sheets("发票数据").Cells(i, 4) For j = 0 To 2 .Cells(3 * i + j - 19, 1) = Sheets("发票数据").Cells(i, 7) .Cells(3 * i + j - 19, 2) = "转" .Cells(3 * i + j - 19, 3) = i - 6 .Cells(3 * i + j - 19, 4) = 2 .Cells(3 * i + j - 19, 5) = "销售" & Sheets("发票数据").Cells(i, 3) .Cells(3 * i + j - 19, 5)= .Cells(3 * i + j - 19, 5) &Sheets("发票数据").Cells(i, 9) .Cells(3 * i + j - 19, 12) = "张三" Next j Next i End With 写入完成后,Sheets(“凭证”)数据如图2-3 图2-3写入数据后的Sheets(“凭证”) 【第三步】通过如下代码将Sheets(“凭证”)中的数据输出成txt格式文件 Dim Line_head As String Dim sLine As String Dim sFName As String Dim iFNnumber As Integer Const SDH As String = "," Const SYH As String = """" sFName = "E:\凭证引入.txt" sLine_head = "填制凭证,V800" iFNnumber = FreeFile Open sFName For Output As #iFNnumber Print #iFNnumber, sLine_head t = 2 With Sheets("凭证") Do sLine = .Cells(t, 1) & SDH sLine = sLine & SYH & .Cells(t, 2) & SYH& SDH sLine = sLine & SYH & .Cells(t, 3) & SYH& SDH sLine = sLine & .Cells(t, 4) & SDH sLine = sLine & SYH & .Cells(t, 5) & SYH& SDH sLine = sLine & SYH & .Cells(t, 6) & SYH& SDH sLine = sLine & Format(.Cells(t, 7),"0.00") & SDH sLine = sLine & Format(.Cells(t, 8),"0.00") & SDH sLine = sLine & .Cells(t, 9) & SDH sLine = sLine & .Cells(t, 10) & SDH sLine = sLine & .Cells(t, 11) & SDH sLine = sLine & SYH & .Cells(t, 12) & SYH& SDH sLine = sLine & .Cells(t, 13) & SDH sLine = sLine & SYH & .Cells(t, 14) & SYH& SDH sLine = sLine & .Cells(t, 15) & SDH sLine = sLine & SYH & .Cells(t, 16) & SYH& SDH sLine = sLine & SYH & .Cells(t, 17) & SYH& SDH sLine = sLine & SYH & .Cells(t, 18) & SYH& SDH sLine = sLine & SYH & .Cells(t, 19) & SYH& SDH Print #iFNnumber, sLine t = t + 1 Loop Until IsEmpty(.Cells(t, 1)) End With Close #iFNnumber 在E盘下找到“凭证引入.txt”文件,如图2-4所示。 图2-4 凭证引入.txt 3.将txt文件导入用友软件 【第一步】点击“用友U890/系统服务/总账工具”,打开总账工具界面,如图3-1。 图3-1 用友总账工具 【第二步】在“数据源/文件数据”处选择“E:\凭证引入.txt”,双击“凭证引入”,即可将凭证引入到用友软件中,如图3-2。 图3-2 用友总账工具凭证引入 下载xls附件,点击“生成凭证”,即可实现上述所示操作,如下图,附件参加如下帖子:
|