-1

我想使用 xml 获取计数自定义(用户定义的报告)报告数据。喜欢:- 获取未结余额报告、待处理的采购账单、待处理的销售账单报告等。

<ENVELOPE>  
  <HEADER>  
    <TALLYREQUEST>Export Data</TALLYREQUEST>  
  </HEADER>  
  <BODY>  
    <EXPORTDATA>  
      <REQUESTDESC>  
        <!-- Specify the Report Name here -->  
        <REPORTNAME>My Own Report</REPORTNAME>  
        <STATICVARIABLES>  
          <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>  
        </STATICVARIABLES>  
      </REQUESTDESC>  
    </EXPORTDATA>  
  </BODY>  
</ENVELOPE>
4

2 回答 2

0

以下是如何通过 XML 请求报告的链接:

代码如下。您需要替换标签才能获得自定义报告的名称。

<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>Export</TALLYREQUEST>
<TYPE>Data</TYPE>
<ID>Trial Balance</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<EXPLODEFLAG>Yes</EXPLODEFLAG>
<SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
</STATICVARIABLES>
</DESC>
</BODY>
</ENVELOPE>
  • 假设您有办法通过 CURL 或 PHP 通过他们的端口(通常是 localhost:9000)ping Tally。一个简单的方法是将此 XML 存储在一个文件中(比如 my_report.xml),安装 curl然后运行命令

    curl -X POST localhost:9000 --data @my_report.xml

  • 自定义报告也应该通过 Tally 中的 TDL 加载,以使其正常工作。

于 2019-06-25T04:49:36.600 回答
0

阅读如何在 PHP 中解析和处理 HTML/XML?,有很多方法可以在 PHP 中解析 XML。例如,在您的情况下,要获取 REPORTNAME 可以使用 DOMDocument,

$domd=@DOMDocument::loadHTML($xml);
$report_name=$domd->getElementsByTagName("REPORTNAME")->item(0)->textContent;
于 2019-06-17T12:56:04.430 回答