2011-12-22 77 views

回答

3

请通过此链接www.rtslink.com

产品:RTSlink DLL 平台:Windows 2000及以上 理货:6.3版本及以上 类别:DLL以编程方式从理货会计软件推拉[进出口]数据

XML代表可扩展标记语言。 XML是一种类似于HTML的标记语言,但旨在描述数据并关注数据是什么。 XML标签没有预先定义,您必须定义您自己的标签。 XML用于交换数据 XML标签区分大小写 XML中的注释类似于HTML。示例

XML具有空元素的简写形式:以/>结尾的唯一标记表示元素没有内容。

转义序列 转义序列导致从正常解释转义。 C/C++程序员可能经常使用以下转义序列。

'\ n' - 新 线 '\ r' - 回车 '\ t' - 标签

示例XML标签的理货:

<ENVELOPE> 
<HEADER> 
<TALLYREQUEST>Import Data</TALLYREQUEST> 
</HEADER> 
<BODY> 
<IMPORTDATA> 
<REQUESTDESC> 
<REPORTNAME>All Masters</REPORTNAME> 
</REQUESTDESC> 
<REQUESTDATA> 
<TALLYMESSAGE xmlns:UDF="TallyUDF"> 

<!— TO DO: Specify the company Name as it appears in Tally --> 
<COMPANY NAME="DEMO" ACTION="Alter"> 
<!— enable Maintain Multiple Godown --> 
<ISMULTIGODOWNON>Yes</ISMULTIGODOWNON> 
<!— enable Use Debit/Credit Notes --> 
<ISDCNOTEON>Yes</ISDCNOTEON> 
<!— enable Use Invoice mode for Credit Notes --> 
<DNOTEASINVOICE>Yes</DNOTEASINVOICE> 
<!— enable Use Invoice mode for Debit notes --> 
<CNOTEASINVOICE>Yes</CNOTEASINVOICE> 
<!— enable Use 0 valued entries in vouchers --> 
<USEZEROENTRIES>Yes</USEZEROENTRIES> 

</COMPANY> 
</TALLYMESSAGE> 
</REQUESTDATA> 
</IMPORTDATA> 
</BODY> 
</ENVELOPE> 
+0

Hi @ Ajay270,请你帮助我们如何获得一个特定的分类账列表ar公司?因为,我有很多公司,每个公司都有不同的分类账。我需要明智地获得分类账列表公司。 – dilipkumar1007 2017-03-16 07:57:45

1
public partial class VoucherCreate : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void requestTally(string pGroupType) 
    { 
     WebRequest Request = WebRequest.Create(TallyUrl.Text); 
     string exportxml = null; 
     int Amt = int.Parse(VCHAmount.Text); 

     if (pGroupType == "") 
     { 
      exportxml = "<ENVELOPE>" + 
           "<HEADER>" + 
            "<TALLYREQUEST>Import Data</TALLYREQUEST>" + 
           "</HEADER>" + 
           "<BODY>" + 
            "<IMPORTDATA>" + 
             "<REQUESTDESC>" + 
              "<REPORTNAME>Vouchers</REPORTNAME>" + 
              "<STATICVARIABLES>" + 
               "<SVCURRENTCOMPANY>##SVCURRENTCOMPANY</SVCURRENTCOMPANY>" + 
              "</STATICVARIABLES>" + 
             "</REQUESTDESC>" + 
             "<REQUESTDATA>" + 
              "<TALLYMESSAGE xmlns:UDF='TallyUDF'>" + 
               "<VOUCHER VCHTYPE='Payment' ACTION='Create' OBJVIEW='Accounting Voucher View'>" + 
                "<DATE>" + "11-Jun-2014" + "</DATE>" + "\r\n" + 
                "<VOUCHERTYPENAME>Payment</VOUCHERTYPENAME>" + 
                "<VOUCHERNUMBER>1</VOUCHERNUMBER>" + 
                "<PARTYLEDGERNAME>" +"Cash"+"</PARTYLEDGERNAME>" +//VchCashBankLed.Text 
                "<PERSISTEDVIEW>Accounting Voucher View</PERSISTEDVIEW>" + 
                "<EFFECTIVEDATE>" + "11-Jun-2014" + "</EFFECTIVEDATE>" + 
                "<ALLLEDGERENTRIES.LIST>" + 
                 "<LEDGERNAME>" +"Expenses"+ "</LEDGERNAME>" +// VCHLedger.Text 
                 "<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>" + 
                 "<AMOUNT>" +500*-1 +"</AMOUNT>" +//(Amt * -1) 
                "</ALLLEDGERENTRIES.LIST>" + 
                "<ALLLEDGERENTRIES.LIST>" + 
                 "<LEDGERNAME>" +"Cash" +"</LEDGERNAME>" +//VchCashBankLed.Text 
                 "<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>" + 
                 "<AMOUNT>" +500 +"</AMOUNT>" +//VCHAmount.Text 
                "</ALLLEDGERENTRIES.LIST>" + 
               "</VOUCHER>" + 
              "</TALLYMESSAGE>" + 
             "</REQUESTDATA>" + 
            "</IMPORTDATA>" + 
           "</BODY>" + 
          "</ENVELOPE>"; 
       Response.Write("<script LANGUAGE='JavaScript' >alert(''"+exportxml+"'')</script>"); 
       } 
     else{ 
      exportxml = "<ENVELOPE>" + 
         "<HEADER>" + 
          "<VERSION>1</VERSION>" + 
          "<TALLYREQUEST>Export</TALLYREQUEST>" + 
          "<TYPE>Collection</TYPE>" + 
          "<ID>FilteredLedgers</ID>" + 
         "</HEADER>" + 
         "<BODY>" + 
          "<DESC>" + 
           "<TDL>" + 
            "<TDLMESSAGE>" + 
             "<COLLECTION NAME='FilteredLedgers' ISMODIFY='No'>" + 
              "<SOURCECOLLECTION>Ledger</SOURCECOLLECTION>" + 
              "<FETCH>Name</FETCH>" + 
              "<FILTER>" + pGroupType +"</FILTER>" + 
             "</COLLECTION>" + 
             "<SYSTEM TYPE='Formulae' NAME='PartyExpense Filter' ISMODIFY='No'>" + 
             "$$IsLedOfGrp:$Name:$$GroupSundryCreditors OR $$IsLedOfGrp:$Name:$$GroupIndirectExpenses OR $$IsLedOfGrp:$Name:$$GroupDirectExpenses</SYSTEM>" + 
             "<SYSTEM TYPE='Formulae' NAME='BankCashFilter' ISMODIFY='No'>" + 
             "$$IsLedOfGrp:$Name:$$GroupBank OR $$IsLedOfGrp:$Name:$$GroupBankOD OR $$IsLedOfGrp:$Name:$$GroupCash</SYSTEM>" + 
            "</TDLMESSAGE>" + 
          "</TDL>" + 
          "</DESC>" + 
         "</BODY>" + 
        "</ENVELOPE>"; 
      } 


      Byte[] bytesToWrite = Encoding.ASCII.GetBytes(exportxml); 

      Request.Method = "POST"; 
      Request.ContentLength = bytesToWrite.Length; 
      Request.ContentType = "text/xml"; 

      Stream newStream = Request.GetRequestStream(); 
      newStream.Write(bytesToWrite, 0, bytesToWrite.Length); 
      newStream.Close(); 

      HttpWebResponse response = (HttpWebResponse)Request.GetResponse(); 
      Stream dataStream = response.GetResponseStream(); 
      StreamReader reader = new StreamReader(dataStream); 

      string responseFromServer = reader.ReadToEnd(); 
      string xmlresponse = responseFromServer; 

      XmlDocument xd = new XmlDocument(); 
      xd.LoadXml(xmlresponse); 

      XmlNodeList xmlNameList = xd.SelectNodes("NAME"); 

      if (pGroupType == "PartyExpenseFilter") 
      { 
       DropDownList1.Items.Clear(); 

       for (int i = 0; i < (xmlNameList.Count - 1); i++) 
        {       
         DropDownList1.Items.Add(xmlNameList.Item(i).InnerText.ToString()); 
        } 
      } 

      if (pGroupType == "BankCashFilter") 
      { 
       DropDownList2.Items.Clear(); 

       for (int i = 0; i < (xmlNameList.Count - 1); i++) 
       { 
        DropDownList2.Items.Add(xmlNameList.Item(i).InnerText.ToString()); 
       } 
      } 

    } 
     protected void Button1_Click(object sender, EventArgs e) 
    { 
     requestTally(""); 
     DropDownList1.Text = ""; 
     DropDownList2.Text = ""; 
     VCHAmount.Text = ""; 
     DropDownList1.Focus(); 
    } 
} 
0
<p>&nbsp;WebRequest Request = WebRequest.Create(TallyUrl.Text);<br /> 
string exportxml = null;<br /> 
int Amt = int.Parse(VCHAmount.Text);</p> 

<p>exportxml = &quot;&lt;ENVELOPE&gt;&quot; +<br /> 
&quot;&lt;HEADER&gt;&quot; +<br /> 
&quot;&lt;TALLYREQUEST&gt;Export Data&lt;/TALLYREQUEST&gt;&quot; +<br /> 
&quot;&lt;/HEADER&gt;&quot; +<br /> 
&quot;&lt;BODY&gt;&quot; +<br /> 
. . .<br /> 
. . .<br /> 
&quot;&lt;/BODY&gt;&quot; +<br /> 
&quot;&lt;/ENVELOPE&gt;&quot;;<br /> 
}<br /> 

Byte[] bytesToWrite = Encoding.ASCII.GetBytes(exportxml);</p> 

<p>Request.Method = &quot;POST&quot;;<br /> 
Request.ContentLength = bytesToWrite.Length;<br /> 
Request.ContentType = &quot;text/xml&quot;;</p> 

<p>Stream newStream = Request.GetRequestStream();<br /> 
newStream.Write(bytesToWrite, 0, bytesToWrite.Length);<br /> 
newStream.Close();</p> 

<p>HttpWebResponse response = (HttpWebResponse)Request.GetResponse();<br /> 
Stream dataStream = response.GetResponseStream();<br /> 
StreamReader reader = new StreamReader(dataStream);</p> 

<p>string responseFromServer = reader.ReadToEnd();<br /> 
string xmlresponse = responseFromServer;</p> 

<p>XmlDocument xd = new XmlDocument();<br /> 
xd.LoadXml(xmlresponse);</p> 

见更多帮助http://coimbatore-biz.com/blog/techsupport/Tally%20Integration%20Capabilitiesp0st413

相关问题