在Tally凭证获取XML请求中添加金额筛选条件
修改Tally XML请求以添加金额筛选条件
核心修改说明
Tally的XML导出请求中,筛选条件通过<ID>节点的TYPE="Name"属性定义,多条件用冒号:分隔。只需在原有Date和Narration条件后追加Amount相关筛选规则,即可实现金额筛选。
不同筛选场景的修改示例
1. 精确匹配指定金额
若需筛选金额等于固定值(如1000)的凭证,修改后的XML如下:
<?xml version="1.0" encoding="UTF-8"?> <ENVELOPE> <HEADER> <VERSION>1</VERSION> <TALLYREQUEST>EXPORT</TALLYREQUEST> <TYPE>Object</TYPE> <SUBTYPE>VOUCHER</SUBTYPE> <ID TYPE="Name">Date:'20250101':Narration:'bbbbbbbbbbbbbbbbbbbbb':Amount:'1000'</ID> </HEADER> <BODY> <DESC> <STATICVARIABLES> <SVCURRENTCOMPANY>LK</SVCURRENTCOMPANY> <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT> </STATICVARIABLES> <FETCHLIST> <FETCH>Date</FETCH> <FETCH>VoucherNumber</FETCH> <FETCH>VoucherTypeName</FETCH> <FETCH>Amount</FETCH> <FETCH>PartyLedgerName</FETCH> <FETCH>Narration</FETCH> </FETCHLIST> </DESC> </BODY> </ENVELOPE>
2. 金额范围筛选(大于/小于/区间)
Tally支持用>、<、>=、<=运算符定义范围,运算符需放在单引号内:
- 筛选金额大于1000的凭证:
<ID TYPE="Name">Date:'20250101':Narration:'bbbbbbbbbbbbbbbbbbbbb':Amount:'>1000'</ID>
- 筛选金额介于500到2000之间的凭证:
<ID TYPE="Name">Date:'20250101':Narration:'bbbbbbbbbbbbbbbbbbbbb':Amount:'>=500':Amount:'<=2000'</ID>
注意事项
- 金额值和运算符均需用单引号包裹
- 多条件间用冒号分隔,Tally默认按**逻辑与(AND)**处理所有条件
- 金额无需添加货币符号,需与Tally系统内数值格式一致
内容的提问来源于stack exchange,提问作者LK_V
相关产品推荐
相关产品推荐

