1

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

提前致谢。

4

2 回答 2

2

此 XML 请求从 Tally ERP 9 中检索所有库存商品名称,其中库存商品名称以“我的商品”开头或库存商品别名以“我的商品”开头。

示例:My Item1(名称以 My Item 开头)
My Item2(名称以 My Item 开头)
ABC(别名以 My Item 开头)

如您所见,即使第三个 StockItem Name 是“ABC”,它也会由查询返回,因为 Alias 以“My Item”开头

这是 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

于 2018-03-06T14:09:18.713 回答
1

这是从 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 软件检索所有方法/字段。

附加参考: https ://www.rtslink.com

于 2018-03-01T13:41:57.683 回答