如何使用SuiteScript 2.0自定义销售订单表格?

时间:2019-03-20 14:50:11

标签: netsuite suitescript2.0

我没有找到有关高级定制的任何文档。

与UI自定义菜单中提供的基本自定义功能相比,我需要以更高级的方式自定义销售订单。

例如,在“项目”部分下添加一些子列表,这些子列表在“项目”和“消息”之间是一对多的关系(1),或者添加新按钮以显示新页面以创建与所选项目链接的消息记录页面(2)

谢谢!

Explicative Screenshot

2 个答案:

答案 0 :(得分:0)

NetSuite的当前API不能使用子列表中的自定义按钮(除非您在自定义Suitelet中使用本机的REFRESH或MARKALL按钮)。

一种替代解决方案,可以弥合项目记录和要创建的消息记录之间的空白,为什么不执行以下操作:

  1. 首先,在商品的FIELDCHANGE上创建一个SUITELET,将其作为当前窗口的CHILD窗口打开。
  2. 第二,添加一个基本的TEXTAREA字段,并将SUBMIT按钮包括在套件中。
  3. 在Suite的“提交”上,创建一个新的消息记录,并将其附加到当前销售订单上。
  4. 最后-确保Suitelet自行关闭。

注意:此解决方案仅适用于销售订单的编辑。它在CREATE上不起作用,因为在您提交消息时不存在任何订单ID。 (您需要订单ID才能将邮件附加到)。

我希望这个建议是明确的。

答案 1 :(得分:0)

您可以在UserEvent脚本中的BeforeLoad上进行自定义:您可以从上下文访问当前表单,并执行诸如添加按钮,子列表,隐藏字段等操作。

您无法添加按钮,但是可以添加指向Suitelet的链接,您可以在其中执行操作。例如,我创建了一个带有“查看”链接的子列表,该链接指向该行的自定义记录:

定义字段:

var idField = appStepsSublist.addField({
            id: 'id',
            type: serverWidget.FieldType.URL,
            label: 'View'
        });
idField.linkText = 'View';

要设置值:

var viewUrl = url.resolveRecord({
                            recordType: 'customrecord_nab_approval_step',
                            recordId: appStep.id,
                            isEditMode: false
                        });

usedSublist.setSublistValue({
                            id: 'id',
                            line: index,
                            value: viewUrl
                        });

在这种情况下,您可以使用URL模块获取Suitelet链接,并将当前行中所需的数据附加到其中。