在SuiteScript 1.0中,当调用保存时,我们可以选择传递disable触发器true,以避免从预定脚本中运行用户事件脚本。在我的例子中,我使用的是SuiteScript 2.0,并试图在附加地址和联系人详细信息之前保存供应商记录。但是,会触发各种用户事件脚本,这些脚本保存供应商记录,并在原始Map/Reduce中导致RCRD_HAS_BEEN_CHANGED错误。
在SuiteScript 2.0中是否有避免触发用户事件脚本的方法?
供参考,见SS1.0:
nlapiSubmitRecord(salesorderrecord, {disabletriggers : true, enablesourcing : true});
但这在2.0中似乎行不通
发布于 2018-03-13 14:00:55
它不见了。
这是一次有时很方便的黑客攻击,但实际上它根本就不应该出现。几乎每次我使用它时,我都想知道我是否破坏了其他人的集成。
在您的情况下,如果您必须保存供应商记录,则应该重新加载它。如果您在地图减少阶段之间传递记录。不要。你不仅有可能膨胀你的存储空间,你永远也无法保证其他的进程不会在中间改变你的记录。即使你检查“同时提交所有的阶段,这并不意味着其他事情没有发生,可能会拿起你的记录并改变它。”
https://stackoverflow.com/questions/49263669
复制