NetSuite Approval Status与Order Status辨析

发布时间:2023年12月26日

照例,平安夜是要晚睡的。小家伙为了迎接圣诞老人的到来,布置了“迎宾台”。今年没有摆电池,换上了核桃,因为他说估计驯鹿在别人家胡萝卜和苹果都吃厌, 想吃点咸的。

我晚睡的原因是要破解一个困扰已久的问题。非Approval Routing类的Tranx如何从Rejected状态跳出。

首先,我们解释下什么是“非Approval Routing类的Tranx”。

在NetSuite中,Accounting Preference-Approval Routing下规定的几类Tranx是所谓的“Approval Routing”类的。

其特点是,一旦Check On后,会在UI上多出两个字段,Approval Status 和 Next Approver。其中Approval Status中有三个值:Pending Approval,Approved,Rejected,通过工作流改变这个Approval Status字段的值就可以进而影响Order Status的状态。

对于Approval Routing类的Tranx,你可以自由的通过工作流从Rejected跳转到Pending Approval状态。实现Resubmit,就像你在PO中做的那样。

那么问题来了,“非Approval Routing类的Tranx”怎么办?例如,Transfer Order,Sales Order。

你会发现在这类Tranx上,是没有Approval Status字段,而只有Order Status字段的。并且是没有Rejected状态的。

这就意味着,你没有办法通过工作流的Set Field Value来控制Rejected状态。如果硬来,就是系统报错。

想把Order Status设为Rejected(Cancelled)时,报错:

想把Order Status由Rejected改为Pending Approval时,报错:

这就带来一个问题,一旦这类Tranx被Reject后,是没有办法通过工作流来做Resubmit的。只能Make Copy产生一个新的,再次提交审批。这不合理。

尝试了很久,终于找到了一个诡异的方法Hack了从Rejected状态跳回到Pending Approval的问题。

很蠢但有效。

  • 1. 用WA脚本。
  • 2. 分两步走。先改为Pending Fulfillment,再改为Pending Approval。一步改为Pending Approval会报错。

问题解决!圣诞快乐!

如果有任何关于NetSuite的问题,欢迎来谈。邮箱:service@truston.group

文章来源:https://blog.csdn.net/remottshanghai/article/details/135210601
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。