【问题标题】:How to create a vendorpayment record from a NetSuite 2.0 restlet?如何从 NetSuite 2.0 restlet 创建供应商付款记录?
【发布时间】:2017-05-03 18:47:50
【问题描述】:

我正在尝试 2.0 restlet。这或多或少是我第一次使用 SuiteScript 2.0。我正在尝试创建供应商付款记录。我已经能够毫无问题地创建供应商记录,但是当我尝试使用 vendorpayment 时,我收到一条错误消息,上面写着“您必须为此交易输入至少一个行项目”,这似乎是有道理的。这就是我被困住的地方。我似乎无法在 2.0 中创建该子列表项。

我尝试了一些东西,但基本上我正在创建这样的记录(类型、isDynamic 和 defaultValues 是此函数中的参数。isDynamic 为 false):

    var rec = record.create({
        type: type,
        isDynamic: isDynamic,
        defaultValues: defaultValues
    });

然后如何使用“rec”添加交易?我假设它进入了“应用”子列表,所以我尝试了一些类似于

  rec.selectLine('apply', 0);
  rec.setSublistValue({'sublistId': 'apply', 'fieldId': 'doc', 'value': 'blah', 'line': 0});

但我收到一条错误消息,提示“在对象 DeferredDynamicRecord 中找不到函数 selectLine”。我也尝试过其他各种 sn-ps,但没有爱。我不确定我是否以正确的方式去做。提前致谢。

【问题讨论】:

    标签: netsuite suitescript


    【解决方案1】:

    仅根据您提供的代码,有几点需要指出。首先使用这种类型的记录,您需要在 defaultValue 属性中设置“实体”值,以便甚至有一个“应用”列表可用于获取或设置值。您的另一个选择是将“isDynamic”设置为 true。这样,您将需要再次设置“实体”值,然后才能访问“应用”列表。

    下一个问题是 rec.selectLine() 调用。当记录不处于动态模式时,您不需要执行 selectLine(),为此,如果您执行 selectLine(),则必须使用 setCurrentSublistValue/Text() 调用。

    最后,您不能在应用列表中设置值“doc”。这不是一个子列表,例如可以动态添加到的销售订单上的 Item 子列表。它更像是项目履行列表,它限制了您在设置值方面的选项。您只能影响账单支付屏幕申请列表中的以下字段:

    'apply'- 这是最左边的复选框。 'disc' - Disc Taken 字段。 “金额” - 付款字段。

    我建议在 UI 中运行创建账单支付的过程,以便您在尝试修复脚本之前从时间的角度了解该过程需要如何运行。祝你好运,我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-14
      • 2010-10-22
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 2019-04-18
      相关资源
      最近更新 更多