如何通过XML请求修改Tally库存项目名称?原修改功能失效求助
在Tally中通过XML修改库存项目名称的问题解决
问题分析
你的XML请求尝试修改库存项目名称,但Tally返回<IGNORED>1</IGNORED>,说明请求被忽略,未执行修改操作。此前能正常创建、修改库存项目,当前功能失效可能由XML结构问题、Tally配置限制或权限问题导致。
排查步骤与解决方案
1. 检查Tally核心配置选项
- 启用主数据修改权限:进入Tally的
F11: 功能>F2: 库存功能,确认「允许修改主数据」选项已勾选。 - 验证用户权限:确保当前登录Tally的用户拥有「库存项目」的修改权限,在用户权限设置中检查对应权限是否开启。
2. 修正XML请求格式
你的XML结构存在规范问题,以下是经过验证的正确修改格式:
<ENVELOPE> <HEADER> <TALLYREQUEST>Import Data</TALLYREQUEST> </HEADER> <BODY> <IMPORTDATA> <REQUESTDESC> <REPORTNAME>All Masters</REPORTNAME> <STATICVARIABLES> <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT> </STATICVARIABLES> </REQUESTDESC> <REQUESTDATA> <TALLYMESSAGE xmlns:UDF="TallyUDF"> <STOCKITEM NAME="0000" ACTION="alter"> <NAME.LIST> <NAME>newname</NAME> </NAME.LIST> <!-- 若需保留原附加名称则保留此块,否则可移除 --> <ADDITIONALNAME.LIST> <ADDITIONALNAME>0000</ADDITIONALNAME> </ADDITIONALNAME.LIST> </STOCKITEM> </TALLYMESSAGE> </REQUESTDATA> </IMPORTDATA> </BODY> </ENVELOPE>
- 新增
<STATICVARIABLES>节点确保XML符合Tally导入规范; - 确认
<STOCKITEM>的NAME属性与原库存项目名称完全一致(注意空格、特殊字符的匹配); <NAME.LIST>下的<NAME>仅需填写新名称,无需冗余内容。
3. 查看Tally导入日志
在Tally中进入网关 of Tally > 显示 > 日志 > 导入日志,日志会明确标注请求被忽略的具体原因(如名称不匹配、必填字段缺失、权限不足等),根据提示针对性修复。
4. 其他排查点
- 确保Tally未被其他锁定操作占用,处于正常运行状态;
- 若问题持续,重启Tally后重新发送请求,排除临时进程异常。
内容的提问来源于stack exchange,提问作者Prakash
相关产品推荐
相关产品推荐

