首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Acumatica以编程方式重新计算税收

使用Acumatica以编程方式重新计算税收
EN

Stack Overflow用户
提问于 2018-08-14 22:52:14
回答 1查看 173关注 0票数 0

我们在SOOrderEntry屏幕上有一个自定义复选框,用于在有人输入行项目后更改销售订单上的税收辖区。这样做的原因是,如果客户不在州,但将亲自在商店领取订单,他们将需要支付商店位置的当地税,而不是他们的州税。如果订单已发货,税费将为客户所在位置的税费。

我们遇到的问题是,当我们在输入行项目之前设置Tax Zone ID时,它会正常工作,并且会创建正确的税。如果用户更改了复选框值,则税仍将是来自原始税区的税,而不是当前在屏幕上反映的税。

我们在SOOrderEntry图上发现了一些方法,它们看起来是用来重新计算税收的,但如果调用了Avalara和thow,就会出现异常,因为我们在这个系统中没有使用Avalara,只使用了Acumatica的内部税务引擎。

当订单上的税区发生变化时,是否有办法让Acumatica重新计算税额?

任何帮助都将非常感谢,我们在帮助文档或试验和错误方面没有取得太大进展。

代码不是很多,但下面是几行代码:

代码语言:javascript
复制
// Customer Pickup, update sales tax on the order
Location branchLoc = PXSelectJoin<Location,
                    InnerJoin<Branch, On<Location.bAccountID, Equal<Branch.bAccountID>>>,
                     Where<Branch.branchID, Equal<Required<SOOrder.branchID>>>>
                       .Select(Base, order.BranchID);

cache.SetValue<SOOrder.overrideTaxZone>(order, true);
cache.SetValue<SOOrder.taxZoneID>(order, branchLoc.VTaxZoneID);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 02:24:15

TaxAttrbibute将ZoneUpdated事件处理程序添加到销售订单的TaxZoneID_FieldUpdated事件中。要触发此事件,应使用

代码语言:javascript
复制
cache.SetValueExt<SOOrder.taxZoneID>(order, branchLoc.VTaxZoneID);

与SetValue方法不同,SetValueExt方法在设置字段值时引发事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51844292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档