我正在尝试从TallyErp 9中获取库存项目。我能够使用xml标签获取特定项目详细信息但现在我要求项目应该与Tally相同,即在输入搜索参数时它应该给所有库存项目相关到我的搜索关键字。 我当前获取单个库存商品详细信息的代码如下:
`
<?xml version=1.0 encoding=UTF-8>
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>EXPORT</TALLYREQUEST>
<TYPE>OBJECT</TYPE>
<SUBTYPE>stock item</SUBTYPE>
<ID TYPE="Name">`+ searchValue + `</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
</STATICVARIABLES>
<FETCHLIST>
<FETCH>OpeningValue</FETCH>
<FETCH>OpeningRate</FETCH>
<FETCH>OpeningBalance</FETCH>
<FETCH>ClosingBalance</FETCH>
<FETCH>ClosingRate</FETCH>
<FETCH>STANDARDPRICELIST.RATE</FETCH>
</FETCHLIST>
<TDL>
<TDLMESSAGE>
<OBJECT NAME="stock item" ISINITIALIZE="Yes">
</OBJECT>
</TDLMESSAGE>
</TDL>
</DESC>
</BODY>
</ENVELOPE></xml>
`
这里我从输入框传递 searchValue 并成功获取所有请求。期待一些可以真正帮助我的答案。
提前致谢。
答案 0 :(得分:1)
此XML请求从Tally ERP 9中检索所有stockitem名称,其中 StockItem名称以“我的项目”开头,或者 StockItem Alias 以“我的项目”开头。< / p>
实施例:
我的项目1(名称以我的项目开头)
我的物品2(名称以我的物品开头)
ABC(Alias以My Item开头)
如您所见,即使第三个StockItem名称为“ABC”,查询也会返回它,因为Alias以“我的项目”开头
这是XML请求:
<ENVELOPE>
<HEADER>
<TALLYREQUEST>Export Data</TALLYREQUEST>
</HEADER>
<BODY>
<EXPORTDATA>
<REQUESTDESC>
<REPORTNAME>ODBC Report</REPORTNAME>
<SQLREQUEST Type='General' Method='SQLExecute'>Select $Name from StockItem where $Name like 'My Item%' or $$Alias like 'My Item%'</SQLREQUEST>
<STATICVARIABLES>
<SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
</STATICVARIABLES>
</REQUESTDESC>
<REQUESTDATA/>
</EXPORTDATA>
</BODY>
</ENVELOPE>
参考文献: https://www.rtslink.com
答案 1 :(得分:0)
以下是从Tally ERP 9获取特定StockItem的示例XML请求。
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>EXPORT</TALLYREQUEST>
<TYPE>COLLECTION</TYPE>
<ID>RTS_StockItem</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
<!-- TODO : Values passed to Filter -->
<!-- Specify the StockItem -->
<RTS_KEY>Item 4 [GST test]</RTS_KEY>
</STATICVARIABLES>
<TDL>
<TDLMESSAGE>
<!-- Retrieve specified StockItem -->
<COLLECTION NAME="RTS_StockItem" ISINITIALIZE="Yes">
<TYPE>StockItem</TYPE>
<FETCH>*</FETCH>
<FILTER>RTS_FilterSingleStockItem</FILTER>
</COLLECTION>
<VARIABLE NAME="RTS_KEY">
<TYPE>String</TYPE>
</VARIABLE>
<SYSTEM TYPE="FORMULAE" NAME="RTS_FilterSingleStockItem">
$Name = $$String:##RTS_KEY
</SYSTEM>
</TDLMESSAGE>
</TDL>
</DESC>
</BODY>
</ENVELOPE>
在上述XML请求中,我们从Tally ERP 9中获取 Collection 。过滤器应用于Collection以导出指定的StockItem记录。标签&lt; FETCH&gt; *&lt; / FETCH&gt;指定从Tally Software检索所有方法/字段。
其他参考文献: https://www.rtslink.com