在 Tally ERP9 响应 xml 中

问题描述

当发送 xml 到 Tally 以从 Tally 获取任何信息到 VB 时,响应 xml 仅显示 TallyPrime 服务器正在运行。在 EXRes 收到来自 Tally 的响应之前,xml 已更改或暂停/定时插入时响应相同。

Public Sub LdrEx()
Dim ExCd As String
ExCd = LedXmCd()
Dim objXML As MSXML2.ServerXMLHTTP
Set objXML = New MSXML2.ServerXMLHTTP
objXML.Open "POST","http://localhost:9000",False
objXML.send ExCd
Dim EXRes As String
EXRes = objXML.responseXML
Set objXML = nothing
Dim TFile As String
TFile = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\Desktop\LdReceived.xml"
  Open TFile For Output As #1
   Print #1,EXRes
  Close #1
End Sub

来自 LedXmCd() 的 XML 是:

<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>

解决方法

通过在变量ExCd中添加watch和断点来检查XML是否保存在

objXML.send ExCd