使用xml标签从标签中自动提取项目名称/部件号,导出库存项目

问题描述 投票:0回答:2

我正在尝试从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并成功获取所有请求。期待一些可以真正帮助我的答案。

提前致谢。

xml rest soap tally
2个回答
1
投票

此XML请求从Tally ERP 9检索所有stockitem名称,其中StockItem名称以“My Item”开头,或StockItem Alias以“My Item”开头。

示例:我的项目1(名称以“我的项目”开头) 我的Item2(名称以My Item开头) ABC(别名以我的项目开头)

如您所见,即使第三个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


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记录。标签<FETCH> * </ FETCH>指定从Tally Software检索所有方法/字段。

其他参考文献:https://www.rtslink.com

© www.soinside.com 2019 - 2024. All rights reserved.