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

问题描述 投票:0回答:2

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

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

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

谢谢!

Explicative Screenshot

netsuite suitescript2.0
2个回答
0
投票

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

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

  1. 首先,创建一个SUITELET,它作为项目的FIELDCHANGE上当前窗口的CHILD窗口打开。
  2. 其次,添加一个基本的TEXTAREA字段,并将SUBMIT按钮包含在suitelet中。
  3. 在Suitelet的SUBMIT上,创建一条新的消息记录,将其附加到当前的销售订单。
  4. 最后 - 确保Suitelet自行关闭。

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

我希望这个建议很明确。


0
投票

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

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

要定义字段:

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链接,并在其中附加当前行所需的数据。

© www.soinside.com 2019 - 2024. All rights reserved.