首页 > 解决方案 > 从 Tally 导出收据数据

问题描述

我正在尝试使用来自 Tally 服务器的发票编号读取收据数据,并且我已成功读取数据。以下是我发送给 Tally 并获得更正响应的请求。

<?xml version="1.0" encoding="UTF-8"?>
<ENVELOPE>  
  <HEADER>  
    <VERSION>1</VERSION>  
    <TALLYREQUEST>EXPORT</TALLYREQUEST>  
    <TYPE>COLLECTION</TYPE>  
    <ID>RTSAllVouchers_FilterForVchNoAndVchType</ID>  
  </HEADER>  
  <BODY>  
    <DESC>  
      <STATICVARIABLES>  
      <SVCURRENTCOMPANY>Company Name</SVCURRENTCOMPANY>
      
        <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>   
        <SVFROMDATE>20170701</SVFROMDATE>
        <SVTODATE>20170731</SVTODATE>  
        <RTS_KEY>Invoice Number</RTS_KEY>
        <RTS_VOUCHERTYPENAME>Receipt</RTS_VOUCHERTYPENAME>  
      </STATICVARIABLES>  
      <TDL>  
        <TDLMESSAGE>   
          <COLLECTION NAME="RTSAllVouchers_FilterForVchNoAndVchType" ISINITIALIZE="Yes">  
              <TYPE>Voucher</TYPE>  
              
              <FETCH>NARRATION.*</FETCH>
              <FETCH>LEDGERENTRIES.LIST.*</FETCH>
              <FILTER>RTS_FilterForVchNoAndVchType</FILTER>  
          </COLLECTION>  
          <VARIABLE NAME="RTS_KEY">  
            <TYPE>String</TYPE>  
          </VARIABLE>  
          <VARIABLE NAME="RTS_VOUCHERTYPENAME">  
            <TYPE>String</TYPE>  
          </VARIABLE>  
          <SYSTEM TYPE="FORMULAE" NAME="RTS_FilterForVchNoAndVchType">  
             $ALLLEDGERENTRIES.BILLALLOCATIONS.NAME = $$String:##RTS_KEY and $VoucherTypeName = $$String:##RTS_VOUCHERTYPENAME          </SYSTEM>
        </TDLMESSAGE>  
      </TDL>  
    </DESC>  
  </BODY>  
</ENVELOPE>  

当收据只有一张发票时,这工作正常。但在我的场景中,单个收据中有多个发票,即单个收据编号有多个发票编号。

当我将此请求发送给 Tally 时,这仅与收据中的第一个发票编号匹配。此请求不适用于在第一张发票之后输入的其他发票。

例如-假设我有收据编号为 R1 的收据。如果我在这张收据中添加三张发票,则显示 Inv1、Inv2 和 Inv3。

如果 <RTS_KEY>Inv1</RTS_KEY>此请求发送到 Tally,则它会返回正确的输出作为收据。

但是如果<RTS_KEY>Inv2</RTS_KEY>这个请求发送,那么它没有找到任何收据。

请帮我发送请求,因为它会搜索收据中出现的任何发票编号。

标签: javasoaptally

解决方案


这应该可以帮助您处理数据。由于您需要凭证详细信息和分类帐条目列表

<ENVELOPE>
  <HEADER>
    <VERSION>1</VERSION>
    <TALLYREQUEST>EXPORT</TALLYREQUEST>
    <TYPE>DATA</TYPE>
    <ID>Voucher Register</ID>
  </HEADER>
  <BODY>
    <DESC>
      <STATICVARIABLES>
        <SVFROMDATE TYPE="DATE">20210101</SVFROMDATE>
        <SVTODATE TYPE="DATE">20210101</SVTODATE>
        <VOUCHERTYPENAME TYPE="STRING">Receipt</VOUCHERTYPENAME>
      </STATICVARIABLES>
    </DESC>
  </BODY>
</ENVELOPE>

推荐阅读