Sample code for Integrating tally 9 with vb.net
''
'' XML input
''
Dim strXmlData As String = "<ENVELOPE>" & _
"<HEADER>" & _
"<TALLYREQUEST>Import Data</TALLYREQUEST>" & _
"<TYPE>DATA</TYPE>" & _
"<ID>Vouchers</ID>" & _
"</HEADER>" & _
"<BODY>" & _
"<IMPORTDATA>" & _
"<REQUESTDESC>" & _
"<REPORTNAME>Vouchers</REPORTNAME>" & _
"<STATICVARIABLES>" & _
"<SVCURRENTCOMPANY>Company</SVCURRENTCOMPANY>" & _
"</STATICVARIABLES>" & _
"</REQUESTDESC>" & _
"<REQUESTDATA>" & _
"<TALLYMESSAGE>" & _
"<VOUCHER VCHTYPE=""Receipt"" ACTION=""Create"">" & _
"<VOUCHERNUMBER>GNL-000000219M</VOUCHERNUMBER>" & _
"<DATE>20121212</DATE>" & _
"<NARRATION></NARRATION>" & _
"<VOUCHERTYPENAME>Receipt</VOUCHERTYPENAME>" & _
"<PARTYLEDGERNAME>Consultation</PARTYLEDGERNAME>" & _
"<EFFECTIVEDATE>20121212</EFFECTIVEDATE>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>Consultation</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>200</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>cash</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>-200</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"</VOUCHER>" & _
"<VOUCHER VCHTYPE=""Receipt"" ACTION=""Create"">" & _
"<VOUCHERNUMBER>GNL-000000220M</VOUCHERNUMBER>" & _
"<DATE>20121212</DATE>" & _
"<NARRATION></NARRATION>" & _
"<VOUCHERTYPENAME>Receipt</VOUCHERTYPENAME>" & _
"<PARTYLEDGERNAME>Registration</PARTYLEDGERNAME>" & _
"<EFFECTIVEDATE>20121212</EFFECTIVEDATE>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>Registrationd</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>100</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>cash</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>-100</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"</VOUCHER>" & _
"</TALLYMESSAGE>" & _
"</REQUESTDATA>" & _
"</IMPORTDATA>" & _
"</BODY>" & _
"</ENVELOPE>"
''
''Following code creates a web request and using this request we can read/write data from/to tally 9
''
Dim cookies As CookieContainer = New CookieContainer()
Dim HttpWReq As HttpWebRequest = CType(WebRequest.Create("http://localhost:9000"), HttpWebRequest)
With HttpWReq
.KeepAlive = False
.Connection = "localhost:9000"
.Method = "POST"
.ContentType = "text/xml"
.CookieContainer = cookies
.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
.ContentLength = Text.Encoding.UTF8.GetByteCount(strXmlData)
End With
Dim requestWriter As IO.StreamWriter = New IO.StreamWriter(HttpWReq.GetRequestStream())
requestWriter.Write(strXmlData)
requestWriter.Flush()
requestWriter.Close()
Dim responseReader As IO.StreamReader = New IO.StreamReader(HttpWReq.GetResponse().GetResponseStream())
Dim responseData As String = responseReader.ReadToEnd()
responseReader.Close()
HttpWReq.GetResponse().Close()
HttpWReq.Abort()
''
'' XML input
''
Dim strXmlData As String = "<ENVELOPE>" & _
"<HEADER>" & _
"<TALLYREQUEST>Import Data</TALLYREQUEST>" & _
"<TYPE>DATA</TYPE>" & _
"<ID>Vouchers</ID>" & _
"</HEADER>" & _
"<BODY>" & _
"<IMPORTDATA>" & _
"<REQUESTDESC>" & _
"<REPORTNAME>Vouchers</REPORTNAME>" & _
"<STATICVARIABLES>" & _
"<SVCURRENTCOMPANY>Company</SVCURRENTCOMPANY>" & _
"</STATICVARIABLES>" & _
"</REQUESTDESC>" & _
"<REQUESTDATA>" & _
"<TALLYMESSAGE>" & _
"<VOUCHER VCHTYPE=""Receipt"" ACTION=""Create"">" & _
"<VOUCHERNUMBER>GNL-000000219M</VOUCHERNUMBER>" & _
"<DATE>20121212</DATE>" & _
"<NARRATION></NARRATION>" & _
"<VOUCHERTYPENAME>Receipt</VOUCHERTYPENAME>" & _
"<PARTYLEDGERNAME>Consultation</PARTYLEDGERNAME>" & _
"<EFFECTIVEDATE>20121212</EFFECTIVEDATE>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>Consultation</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>200</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>cash</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>-200</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"</VOUCHER>" & _
"<VOUCHER VCHTYPE=""Receipt"" ACTION=""Create"">" & _
"<VOUCHERNUMBER>GNL-000000220M</VOUCHERNUMBER>" & _
"<DATE>20121212</DATE>" & _
"<NARRATION></NARRATION>" & _
"<VOUCHERTYPENAME>Receipt</VOUCHERTYPENAME>" & _
"<PARTYLEDGERNAME>Registration</PARTYLEDGERNAME>" & _
"<EFFECTIVEDATE>20121212</EFFECTIVEDATE>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>Registrationd</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>100</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"<ALLLEDGERENTRIES.LIST>" & _
"<LEDGERNAME>cash</LEDGERNAME>" & _
"<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>" & _
"<AMOUNT>-100</AMOUNT>" & _
"</ALLLEDGERENTRIES.LIST>" & _
"</VOUCHER>" & _
"</TALLYMESSAGE>" & _
"</REQUESTDATA>" & _
"</IMPORTDATA>" & _
"</BODY>" & _
"</ENVELOPE>"
''
''Following code creates a web request and using this request we can read/write data from/to tally 9
''
Dim cookies As CookieContainer = New CookieContainer()
Dim HttpWReq As HttpWebRequest = CType(WebRequest.Create("http://localhost:9000"), HttpWebRequest)
With HttpWReq
.KeepAlive = False
.Connection = "localhost:9000"
.Method = "POST"
.ContentType = "text/xml"
.CookieContainer = cookies
.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
.ContentLength = Text.Encoding.UTF8.GetByteCount(strXmlData)
End With
Dim requestWriter As IO.StreamWriter = New IO.StreamWriter(HttpWReq.GetRequestStream())
requestWriter.Write(strXmlData)
requestWriter.Flush()
requestWriter.Close()
Dim responseReader As IO.StreamReader = New IO.StreamReader(HttpWReq.GetResponse().GetResponseStream())
Dim responseData As String = responseReader.ReadToEnd()
responseReader.Close()
HttpWReq.GetResponse().Close()
HttpWReq.Abort()
No comments:
Post a Comment