0

因此,我尝试使用 SuiteScript 1.0 在 NetSuite 中创建估算(报价)。

我一直在关注 NetSuite 帮助中心提供的这个示例:

示例 1 以下示例创建包含两个项目的估计。

var record = nlapiCreateRecord('estimate');
record.setFieldValue('entity', 79);
record.setFieldValue('memo', 'Estimate Memo' );
record.setLineItemValue('item', 'item', 1, 21);
record.setLineItemValue('item', 'quantity', 1, 10 );
record.setLineItemValue('item', 'price', 1, 1 );
record.setLineItemValue('item', 'item', 2, 21);
record.setLineItemValue('item', 'quantity', 2, 5 );
record.setLineItemValue('item', 'price', 2, 2 );
var id = nlapiSubmitRecord(record, true);

但是,每当我尝试保存记录时,我遇到的问题就在最后一行:

nlapiSubmitRecord(record, true);

我收到以下错误:

Module does not exist: ../Client/OFI_ActionButtonsClient.js (SYSTEM_LIBS$debugger.sys#475)

有没有其他人遇到过这个?并知道可能导致问题的原因是什么?仅供参考,我只是通过 NetSuite 中的内置脚本调试器运行此脚本。

另请注意,我尝试使用 SuiteScript 2.0 编写此代码,然后我的问题是只保存了自定义字段,而 NetSuite 中报价的主要/内置字段根本没有添加任何值。

谢谢

4

3 回答 3

0

请提供完整的代码。您是否使用任何库脚本。

于 2021-07-16T09:23:44.927 回答
0

所以我设法解决了这个问题。问题在于我试图设置自定义表单字段。因此,在我自己的代码中删除这一行有助于解决问题,并且我能够成功保存记录:

record.setFieldValue('customform', '123' );

最初我认为这是保存的问题,但似乎它实际上发生在更早的时候,并且只是在保存时才表现出来。我不完全确定为什么会这样,但对于可能被困在这个问题上的任何其他人,我认为知道这可能很有用。

谢谢大家。

于 2021-07-18T23:11:32.520 回答
0

似乎您正在尝试在调试器上运行时使用相对路径来访问依赖库

../Client/OFI_ActionButtonsClient.js

改用完整路径

/SuiteScripts/{你的路径}/Client/OFI_ActionButtonsClient.js

于 2021-07-18T16:48:01.187 回答