我们正在使用ASP.Net和C#.Net开发ERP。现在,我想将应用程序与Tally集成。这样制作的凭证就会以XML格式传送到Tally。这个怎么做?我需要你所有的宝贵贡献。如何将Tally与Asp.Net Web应用程序集成?
1
A
回答
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>
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> WebRequest Request = WebRequest.Create(TallyUrl.Text);<br />
string exportxml = null;<br />
int Amt = int.Parse(VCHAmount.Text);</p>
<p>exportxml = "<ENVELOPE>" +<br />
"<HEADER>" +<br />
"<TALLYREQUEST>Export Data</TALLYREQUEST>" +<br />
"</HEADER>" +<br />
"<BODY>" +<br />
. . .<br />
. . .<br />
"</BODY>" +<br />
"</ENVELOPE>";<br />
}<br />
Byte[] bytesToWrite = Encoding.ASCII.GetBytes(exportxml);</p>
<p>Request.Method = "POST";<br />
Request.ContentLength = bytesToWrite.Length;<br />
Request.ContentType = "text/xml";</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
相关问题
- 1. 如何将asp.net web应用程序与Google Drive集成?
- 2. 在Swing应用程序中集成Tally
- 3. 将OBIEE与Web应用程序集成
- 4. 将IMCache与Web应用程序集成
- 5. 将SugarCRM与ASP.NET应用程序集成
- 6. 如何将ASP.Net Webforms网站与ASP.Net MVC Web应用程序集成?
- 7. 如何将Sharepoint Blog集成到ASP.NET Web应用程序中?
- 8. 将Flash与ASP.NET Web应用程序集成
- 9. 将Web应用程序与第三方应用程序集成
- 10. 将聊天应用程序与asp.net mvc应用程序集成
- 11. 如何将帮助文件(.chm)与Web应用程序集成?
- 12. 如何将Flex与现有的Web应用程序集成?
- 13. 如何将机器学习与Web应用程序集成?
- 14. 如何将Autofac和Log4Net与ASP.NET Web API 2集成应用程序
- 15. 如何将Photoshop中制作的地图与ASP.NET Web应用程序集成?
- 16. 如何将一个oracle数据库与一个asp.net web应用程序集成?
- 17. 如何将angularjs与asp.net web api集成
- 18. 如何将linkedin与asp.net应用程序集成
- 19. 如何将现有的asp.net MVC应用程序与IdentityServer集成?
- 20. 如何将MoneyBookers与ASP.NET应用程序集成?
- 21. 如何集成Web应用程序
- 22. Web应用程序与Drupal的集成
- 23. Hadoop与Web应用程序的集成
- 24. 与JS Web应用程序集成Outlook
- 25. 与Web应用程序集成的Solr
- 26. 与Sharepoint集成的ASP.NET应用程序
- 27. 与QuickBooks集成的asp.net应用程序
- 28. 将Java Web Start jar与web应用程序集成
- 29. 如何在asp.net web应用程序中集成paytm网关
- 30. SimpleSAMLphp与asp.net web表单应用程序的集成
Hi @ Ajay270,请你帮助我们如何获得一个特定的分类账列表ar公司?因为,我有很多公司,每个公司都有不同的分类账。我需要明智地获得分类账列表公司。 – dilipkumar1007 2017-03-16 07:57:45