簡體   English   中英

Tally 與 XML 和 HTTP 集成:分類帳創建失敗

[英]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">

主理貨導入屏幕

我將 & 替換為 &amp;

現在它沒有顯示錯誤未知請求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM