[英]Tally Integration with XML and HTTP : Ledger creation failure
我想使用 XML 通過 HTTP 將第三方應用程序與計數集成。 當我嘗試通過 HTTP 將分類帳導入理貨時,它顯示未知請求,無法處理
相同的 XML 格式,當我使用“理貨網關”中的“導入數據”手動導入理貨時,它無誤地導入並創建了分類帳。
我是否缺少任何 HTTP 標頭? 目前,我將“Content-Type”設置為“text/xml”; 我也嘗試過“text/xml;charset=utf-16”;
使用相同的標頭,當我以相同的方式嘗試時,還有其他計數 XML 請求在工作
<!-- language: xml -->
<?xml version="1.0" encoding="UTF-8"?>
<ENVELOPE>
<HEADER>
<TALLYREQUEST>Import Data</TALLYREQUEST>
</HEADER>
<BODY>
<IMPORTDATA>
<REQUESTDESC>
<STATICVARIABLES>
<SVCURRENTCOMPANY>Test</SVCURRENTCOMPANY>
</STATICVARIABLES>
</REQUESTDESC>
<REQUESTDATA>
<TALLYMESSAGE xmlns:UDF="TallyUDF">
<LEDGER NAME="name2" RESERVEDNAME="">
<ADDRESS.LIST TYPE="String">
<ADDRESS>line1, line2</ADDRESS>
<ADDRESS>city</ADDRESS>
</ADDRESS.LIST>
<LEDSTATENAME>Goa</LEDSTATENAME>
<PINCODE>403001</PINCODE>
<MAILINGNAME.LIST TYPE="String">
<MAILINGNAME>name2</MAILINGNAME>
</MAILINGNAME.LIST>
<CURRENCYNAME>₹</CURRENCYNAME>
<EMAIL>testvira@email.com</EMAIL>
<WEBSITE />
<INCOMETAXNUMBER>LSWI2278DF</INCOMETAXNUMBER>
<COUNTRYNAME>India</COUNTRYNAME>
<GSTREGISTRATIONTYPE>Regular</GSTREGISTRATIONTYPE>
<PARENT>Sundry Debtors - Viras</PARENT>
<NARRATION />
<COUNTRYOFRESIDENCE>India</COUNTRYOFRESIDENCE>
<EMAILCC>mysteryman@email.com</EMAILCC>
<LEDGERPHONE>458923</LEDGERPHONE>
<LEDGERCONTACT>Mystery Man</LEDGERCONTACT>
<LEDGERMOBILE>6598765987</LEDGERMOBILE>
<PARTYGSTIN>ASDF234kl56</PARTYGSTIN>
<GSTNATUREOFSUPPLY>SEZ</GSTNATUREOFSUPPLY>
<LANGUAGENAME.LIST>
<NAME.LIST TYPE="String">
<NAME>name2</NAME>
<NAME>new name2</NAME>
</NAME.LIST>
<LANGUAGEID>1033</LANGUAGEID>
</LANGUAGENAME.LIST>
<PAYMENTDETAILS.LIST>
<IFSCODE>ifsc code</IFSCODE>
<BANKNAME>ScamNo1</BANKNAME>
<ACCOUNTNUMBER>123456789</ACCOUNTNUMBER>
<PAYMENTFAVOURING>name2</PAYMENTFAVOURING>
<TRANSACTIONNAME>E-Payment</TRANSACTIONNAME>
<SETASDEFAULT>No</SETASDEFAULT>
<DEFAULTTRANSACTIONTYPE>Inter Bank Transfer</DEFAULTTRANSACTIONTYPE>
<BENEFICIARYCODEDETAILS.LIST />
</PAYMENTDETAILS.LIST>
<LEDMULTIADDRESSLIST.LIST>
<ADDRESS.LIST TYPE="String">
<ADDRESS>Door No 1</ADDRESS>
<ADDRESS>Road No 1</ADDRESS>
<ADDRESS>Semmedu</ADDRESS>
</ADDRESS.LIST>
<EMAIL />
<STATE>Tamil Nadu</STATE>
<PINCODE>641114</PINCODE>
<INCOMETAXNUMBER>LSWI2278DF</INCOMETAXNUMBER>
<COUNTRYNAME>India</COUNTRYNAME>
<GSTREGISTRATIONTYPE>Regular</GSTREGISTRATIONTYPE>
<ADDRESSNAME>City Office</ADDRESSNAME>
<PARTYGSTIN>ASDF234kl56</PARTYGSTIN>
<CONTACTPERSON>maverick</CONTACTPERSON>
<ISOTHTERRITORYASSESSEE>No</ISOTHTERRITORYASSESSEE>
</LEDMULTIADDRESSLIST.LIST>
<LEDMULTIADDRESSLIST.LIST>
<ADDRESS.LIST TYPE="String">
<ADDRESS>Door No 1</ADDRESS>
<ADDRESS>Road No 1</ADDRESS>
<ADDRESS>Semmedu</ADDRESS>
</ADDRESS.LIST>
<EMAIL />
<STATE>Tamil Nadu</STATE>
<PINCODE>641114</PINCODE>
<INCOMETAXNUMBER>LSWI2278DF</INCOMETAXNUMBER>
<COUNTRYNAME>India</COUNTRYNAME>
<GSTREGISTRATIONTYPE>Regular</GSTREGISTRATIONTYPE>
<ADDRESSNAME>Godown</ADDRESSNAME>
<PARTYGSTIN>ASDF234kl56</PARTYGSTIN>
<CONTACTPERSON>maverick</CONTACTPERSON>
<ISOTHTERRITORYASSESSEE>No</ISOTHTERRITORYASSESSEE>
</LEDMULTIADDRESSLIST.LIST>
</LEDGER>
</TALLYMESSAGE>
</REQUESTDATA>
</IMPORTDATA>
</BODY>
</ENVELOPE>
我希望輸出是一個 XML,表示已創建分類帳,但實際輸出是未知請求,無法處理
很晚才看到這個,但如果你仍然需要答案。 對您的 XML 進行以下更改 -
使您的標題如下 -
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>IMPORT</TALLYREQUEST>
<TYPE>DATA</TYPE>
<ID>ALL MASTERS</ID>
</HEADER>
接下來在Body標簽中,刪除 RequestDesc 和 RequestData 標簽並將結構更改為 -
<BODY>
<DESC>
<STATICVARIABLES>
<SVCURRENTCOMPANY>Test</SVCURRENTCOMPANY>
</STATICVARIABLES>
</DESC>
<DATA>
<TALLYMESSAGE>
<LEDGER ACTION="CREATE">
<NAME>name2</NAME>
//OTHER LEDGER DETAILS GO HERE (same as you did with no changes)
</LEDGER>
</TALLYMESSAGE>
<DATA>
</BODY>
注意- 您需要創建 XML 屬性ACTION並分配值CREATE 。 這與您通過他們的 GUI 在 Tally 中創建一個新分類帳時完全相似——它將轉到“帳戶信息 > 分類帳 > 創建”,類似地,如果你想更改分類帳,則設置ACTION="ALTER "
<RequestDesc>, <RequestData>
標簽只為導出導入,是<Desc>,<Data>
也許我來不及回答這個問題。 即使我也有這個問題,但最后我發現問題是由於 XML 文件的字符編碼引起的。 我所做的如下:
轉到 SaveAs > Select-AllFiles > yourfilename.xml
(下面將是一個字符編碼下拉列表選擇 - 僅ANSI 或 UTF-8 )
這解決了我的問題,我能夠發布 XML 文件。
希望能幫助到你。
這是根據最新版本更新/更改分類帳所需的最低 XML,即Tally ERP 9 Series A 6.6
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>IMPORT</TALLYREQUEST>
</HEADER>
<BODY>
<DATA>
<TALLYMESSAGE>
<LEDGER NAME="D1" ACTION="ALTER">
<!-- Fields -->
</LEDGER>
</TALLYMESSAGE>
<DATA>
</BODY>
</ENVELOPE>
請注意,分類帳名稱現在作為 XML 屬性<LEDGER NAME="D1" ACTION="ALTER">
我將 & 替換為 &
現在它沒有顯示錯誤未知請求
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.