NetSuite:将销售代表和应收账款附加到客户记录

NetSuite: Attach a SalesRep and a receivable account to a customer record

我正在尝试更新客户, 我正在尝试为新创建的客户附加销售人员和应收账款帐户。

当我使用下面的代码时,遇到如下错误: ReferenceError: "RecordRef" 未定义。

/**
 *@NApiVersion 2.x
 *@NScriptType UserEventScript
 */
define(['N/currentRecord'],
    function(currentRecord) {
  function beforeSubmit(context) {
    var curRecord = context.newRecord;
    curRecord.salesrep = new RecordRef(){
      InternalId: "-5"
    };
    curRecord.receivablesAccount = new RecordRef(){
      ??? how to retrieve the id ?
    };
    try {
      log.debug('record created successfully');
    } catch (e) {
      log.error(e.name);
    }
  }
        return {
            beforeLoad: beforeLoad,
            beforeSubmit: beforeSubmit,
            afterSubmit: afterSubmit
        };
    });
如果您尝试使用 C# 或 PHP 通过 SOAP Web 服务连接到 NetSuite,则可以使用

RecordRef()。使用 SuiteScript,您将使用 .setValue() 来设置这些值。

/**
 *@NApiVersion 2.x
 *@NScriptType UserEventScript
 */
define([],
  function () {
    function beforeSubmit(context) {
      var curRecord = context.newRecord;
      curRecord.setValue({ fieldId: 'salesrep', value: -5 });
      curRecord.setValue({ fieldId: 'receivablesaccount', value: 7 });
    }

    return {
      beforeSubmit: beforeSubmit,
    };
  }
);

要查找您的会计科目表的内部 ID,请导航至 Home -> Set Preferences,选中 显示内部 IDS 框,然后单击 保存。然后导航到 Setup -> Accounting -> Chart of Accounts。您应该能够找到您希望使用的应收账款帐户的内部 ID。

此外,N/currentRecord 模块只能在客户端脚本和模块中使用,不应在用户事件脚本中使用。