Is there a way to extract all the stock items from Tally Group/Category including the items inside sub-group with Tally XML request?

huangapple go评论61阅读模式
英文:

Is there a way to extract all the stock items from Tally Group/Category including the items inside sub-group with Tally XML request?

问题

获取所有库存项目及其数量、价格和别名/零件号的Tally XML请求,从指定的组/类别以及该组/类别下的库存项目中。

我尝试通过在<STATICVARIABLES>中将&lt;EXPLODE&gt;设置为YES来修改以下代码。

&lt;ENVELOPE&gt;
    &lt;HEADER&gt;
        &lt;VERSION&gt;1&lt;/VERSION&gt;
        &lt;TALLYREQUEST&gt;Export&lt;/TALLYREQUEST&gt;
        &lt;TYPE&gt;Collection&lt;/TYPE&gt;
        &lt;ID&gt;maincol&lt;/ID&gt;
    &lt;/HEADER&gt;
    &lt;BODY&gt;
        &lt;DESC&gt;
            &lt;STATICVARIABLES/&gt;
            &lt;TDL&gt;
                &lt;TDLMESSAGE&gt;
                    &lt;COLLECTION ISINTERNAL=&quot;No&quot; ISOPTION=&quot;No&quot; ISINITIALIZE=&quot;No&quot; ISFIXED=&quot;No&quot; ISMODIFY=&quot;No&quot; NAME=&quot;maincol&quot;&gt;
                        &lt;Type&gt;stock item&lt;/Type&gt;
                        &lt;Method&gt;Name:$name&lt;/Method&gt;
                        &lt;Method&gt;parent:$parent&lt;/Method&gt;
                        &lt;Filters&gt;test&lt;/Filters&gt;
                    &lt;/COLLECTION&gt;
                    &lt;SYSTEM ISINTERNAL=&quot;No&quot; ISFIXED=&quot;No&quot; ISMODIFY=&quot;No&quot; NAME=&quot;test&quot; TYPE=&quot;Formulae&quot;&gt;$parent=&quot;Tes&quot; &lt;/SYSTEM&gt;
                &lt;/TDLMESSAGE&gt;
            &lt;/TDL&gt;
        &lt;/DESC&gt;
    &lt;/BODY&gt;
&lt;/ENVELOPE&gt;
//但这无法获取子组内的库存项目

我还尝试使用以下代码获取子项目:

&lt;ENVELOPE&gt;
              &lt;HEADER&gt;
                  &lt;TALLYREQUEST&gt;Export Data&lt;/TALLYREQUEST&gt;
              &lt;/HEADER&gt;
              &lt;BODY&gt;
                  &lt;EXPORTDATA&gt;
                      &lt;REQUESTDESC&gt;
                          &lt;REPORTNAME&gt;STOCKGROUPSUMMARY&lt;/REPORTNAME&gt;
                          &lt;STATICVARIABLES&gt;
                              &lt;SVEXPORTFORMAT&gt;$$SysName:XML_WithAlias&lt;/SVEXPORTFORMAT&gt;
                              &lt;SVFROMDATE&gt;${formattedDate}&lt;/SVFROMDATE&gt;
                              &lt;SVTODATE&gt;${formattedDate}&lt;/SVTODATE&gt;
                              &lt;SVCompany&gt;${companyName}&lt;/SVCompany&gt;
                              &lt;STOCKGROUPNAME&gt;${stockGroupName}&lt;/STOCKGROUPNAME&gt;
                              &lt;STOCKCATEGORY&gt;${stockGroupName}&lt;/STOCKCATEGORY&gt;

                              &lt;ISITEMWISE&gt;YES&lt;/ISITEMWISE&gt;
                              &lt;EXPLODEFLAG&gt;YES&lt;/EXPLODEFLAG&gt;
                              &lt;DSPALIASNAME&gt;Yes&lt;/DSPALIASNAME&gt;
                              &lt;DSPALIAS&gt;Part Number&lt;/DSPALIAS&gt;
                              
                              &lt;DSPZEROQTY&gt;Yes&lt;/DSPZEROQTY&gt;
                              &lt;INCLUDEZEROSTOCK&gt;Yes&lt;/INCLUDEZEROSTOCK&gt;

                              &lt;NativeMethod&gt;*&lt;/NativeMethod&gt;

                          &lt;/STATICVARIABLES&gt;                          
                      &lt;/REQUESTDESC&gt;
                  &lt;/EXPORTDATA&gt;
              &lt;/BODY&gt;
          &lt;/ENVELOPE&gt;
//但不能获取零数量项目,并且无法获取别名/零件号
英文:

Tally XML request to get all stock items with their quantity, rate, and alias name/part number from the mentioned group/category and the stock items under that group/category.

I have tried to modify the following code by setting &lt;EXPLODE&gt; to YES in &lt;STATICVARIABLES&gt;.

&lt;ENVELOPE&gt;
    &lt;HEADER&gt;
        &lt;VERSION&gt;1&lt;/VERSION&gt;
        &lt;TALLYREQUEST&gt;Export&lt;/TALLYREQUEST&gt;
        &lt;TYPE&gt;Collection&lt;/TYPE&gt;
        &lt;ID&gt;maincol&lt;/ID&gt;
    &lt;/HEADER&gt;
    &lt;BODY&gt;
        &lt;DESC&gt;
            &lt;STATICVARIABLES/&gt;
            &lt;TDL&gt;
                &lt;TDLMESSAGE&gt;
                    &lt;COLLECTION ISINTERNAL=&quot;No&quot; ISOPTION=&quot;No&quot; ISINITIALIZE=&quot;No&quot; ISFIXED=&quot;No&quot; ISMODIFY=&quot;No&quot; NAME=&quot;maincol&quot;&gt;
                        &lt;Type&gt;stock item&lt;/Type&gt;
                        &lt;Method&gt;Name:$name&lt;/Method&gt;
                        &lt;Method&gt;parent:$parent&lt;/Method&gt;
                        &lt;Filters&gt;test&lt;/Filters&gt;
                    &lt;/COLLECTION&gt;
                    &lt;SYSTEM ISINTERNAL=&quot;No&quot; ISFIXED=&quot;No&quot; ISMODIFY=&quot;No&quot; NAME=&quot;test&quot; TYPE=&quot;Formulae&quot;&gt;$parent=&quot;Tes&quot; &lt;/SYSTEM&gt;
                &lt;/TDLMESSAGE&gt;
            &lt;/TDL&gt;
        &lt;/DESC&gt;
    &lt;/BODY&gt;
&lt;/ENVELOPE&gt;
//But this fails to fetch stock items inside sub-group

I have also tried using the following code which gets the sub-items

&lt;ENVELOPE&gt;
              &lt;HEADER&gt;
                  &lt;TALLYREQUEST&gt;Export Data&lt;/TALLYREQUEST&gt;
              &lt;/HEADER&gt;
              &lt;BODY&gt;
                  &lt;EXPORTDATA&gt;
                      &lt;REQUESTDESC&gt;
                          &lt;REPORTNAME&gt;STOCKGROUPSUMMARY&lt;/REPORTNAME&gt;
                          &lt;STATICVARIABLES&gt;
                              &lt;SVEXPORTFORMAT&gt;$$SysName:XML_WithAlias&lt;/SVEXPORTFORMAT&gt;
                              &lt;SVFROMDATE&gt;${formattedDate}&lt;/SVFROMDATE&gt;
                              &lt;SVTODATE&gt;${formattedDate}&lt;/SVTODATE&gt;
                              &lt;SVCompany&gt;${companyName}&lt;/SVCompany&gt;
                              &lt;STOCKGROUPNAME&gt;${stockGroupName}&lt;/STOCKGROUPNAME&gt;
                              &lt;STOCKCATEGORY&gt;${stockGroupName}&lt;/STOCKCATEGORY&gt;

                              &lt;ISITEMWISE&gt;YES&lt;/ISITEMWISE&gt;
                              &lt;EXPLODEFLAG&gt;YES&lt;/EXPLODEFLAG&gt;
                              &lt;DSPALIASNAME&gt;Yes&lt;/DSPALIASNAME&gt;
                              &lt;DSPALIAS&gt;Part Number&lt;/DSPALIAS&gt;
                              
                              &lt;DSPZEROQTY&gt;Yes&lt;/DSPZEROQTY&gt;
                              &lt;INCLUDEZEROSTOCK&gt;Yes&lt;/INCLUDEZEROSTOCK&gt;

                              &lt;NativeMethod&gt;*&lt;/NativeMethod&gt;

                          &lt;/STATICVARIABLES&gt;                          
                      &lt;/REQUESTDESC&gt;
                  &lt;/EXPORTDATA&gt;
              &lt;/BODY&gt;
          &lt;/ENVELOPE&gt;
//but does not get the items with zero-quantity and fails to get alias names/part number

答案1

得分: 1

第一个 XML 对于你的情况最合适,因为你可以简单地在集合内部添加字段列表。

&lt;ENVELOPE&gt;
&lt;HEADER&gt;
    &lt;VERSION&gt;1&lt;/VERSION&gt;
    &lt;TALLYREQUEST&gt;Export&lt;/TALLYREQUEST&gt;
    &lt;TYPE&gt;Collection&lt;/TYPE&gt;
    &lt;ID&gt;maincol&lt;/ID&gt;
&lt;/HEADER&gt;
&lt;BODY&gt;
    &lt;DESC&gt;
        &lt;STATICVARIABLES&gt;
            &lt;SVEXPORTFORMAT&gt;$$SysName:XML&lt;/SVEXPORTFORMAT&gt;
            &lt;SVFROMDATE TYPE=&quot;Date&quot;&gt;01-04-2010&lt;/SVFROMDATE&gt;
            &lt;SVTODATE TYPE=&quot;Date&quot;&gt;31-03-2011&lt;/SVTODATE&gt;
        &lt;/STATICVARIABLES&gt;
        &lt;TDL&gt;
            &lt;TDLMESSAGE&gt;
                &lt;COLLECTION ISINTERNAL=&quot;No&quot; ISOPTION=&quot;No&quot; ISINITIALIZE=&quot;No&quot; ISFIXED=&quot;No&quot; ISMODIFY=&quot;No&quot; NAME=&quot;maincol&quot;&gt;
                    &lt;Type&gt;StockItem&lt;/Type&gt;
                    &lt;CHILDOF&gt;Tes&lt;/CHILDOF&gt;
                    &lt;BELONGSTO&gt;Yes&lt;/BELONGSTO&gt;
                    &lt;FETCH&gt;Name,parent,OpeningRate&lt;/FETCH&gt;
                &lt;/COLLECTION&gt;
            &lt;/TDLMESSAGE&gt;
        &lt;/TDL&gt;
    &lt;/DESC&gt;
&lt;/BODY&gt;
&lt;/ENVELOPE&gt;

"Tes" - 是组名(可以更改为你想要的名字,应该存在于 Tally 中)

如果你想要嵌套项(子组内的库存项目),则将 BelongsTo 设置为 Yes,否则你可以移除它或设置为 No

*在获取列表内添加所需的方法,而不是在方法内添加。

英文:

First xml works best for your case as you can simply add fields list inside collection

&lt;ENVELOPE&gt;
&lt;HEADER&gt;
    &lt;VERSION&gt;1&lt;/VERSION&gt;
    &lt;TALLYREQUEST&gt;Export&lt;/TALLYREQUEST&gt;
    &lt;TYPE&gt;Collection&lt;/TYPE&gt;
    &lt;ID&gt;maincol&lt;/ID&gt;
&lt;/HEADER&gt;
&lt;BODY&gt;
    &lt;DESC&gt;
        &lt;STATICVARIABLES&gt;
            &lt;SVEXPORTFORMAT&gt;$$SysName:XML&lt;/SVEXPORTFORMAT&gt;
            &lt;SVFROMDATE TYPE=&quot;Date&quot;&gt;01-04-2010&lt;/SVFROMDATE&gt;
            &lt;SVTODATE TYPE=&quot;Date&quot;&gt;31-03-2011&lt;/SVTODATE&gt;
        &lt;/STATICVARIABLES&gt;
        &lt;TDL&gt;
            &lt;TDLMESSAGE&gt;
                &lt;COLLECTION ISINTERNAL=&quot;No&quot; ISOPTION=&quot;No&quot; ISINITIALIZE=&quot;No&quot; ISFIXED=&quot;No&quot; ISMODIFY=&quot;No&quot; NAME=&quot;maincol&quot;&gt;
                    &lt;Type&gt;StocKItem&lt;/Type&gt;
                    &lt;CHILDOF&gt;Tes&lt;/CHILDOF&gt;
                    &lt;BELONGSTO&gt;Yes&lt;/BELONGSTO&gt;
                    &lt;FETCH&gt;Name,parent,OpeningRate&lt;/FETCH&gt;
                &lt;/COLLECTION&gt;
            &lt;/TDLMESSAGE&gt;
        &lt;/TDL&gt;
    &lt;/DESC&gt;
&lt;/BODY&gt;

</ENVELOPE>

Tes - is group name(can be changed to name you want should exist in Tally)

BelongsTo is set to yes, if you want nested items (stock items inside sub-group) else you can remove that or set to No

*Add required methods inside fetch list not in method

huangapple
  • 本文由 发表于 2023年7月6日 16:45:20
  • 转载请务必保留本文链接:https://go.coder-hub.com/76627036.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定