サーチ…


前書き

インライン編集では、レコードをページにロードしたり、フォームを編集したり、レコードを保存したりせずに、特定のレコードのデータを非常に迅速に変更および更新できます。

NetSuite開発者には、 submitFieldsという対応する機能がsubmitFieldsます。 submitFields機能は、SuiteScript 1.0のnlapiSubmitFieldグローバル関数とSuiteScript 2.0のN/record#submitFieldsメソッドによって提供されます。

構文

  • nlapiSubmitField(recordType、recordId、fieldId、fieldValue);
  • nlapiSubmitField(recordType、recordId、fieldIds、fieldValues);
  • nlapiSubmitField(recordType、recordId、fieldId、fieldValue、doSourcing);

パラメーター

パラメータ詳細
レコードタイプ String - 更新されるレコードの種類の内部ID
recordId StringまたはNumber - 更新されるレコードの内部ID
fieldIds StringまたはString[] - 更新されるフィールドの内部ID
fieldValues anyまたはany[] - 指定されたフィールドに設定される対応する値
ドソーシング Boolean - レコード提出時に依存値を供給するかどうか。デフォルトはfalse

備考

submitFields機能は、 lookupFields機能のlookupFields機能です。

パフォーマンスと制限

submitFieldsは、完全なレコードをロードして送信することによって、同じ変更を行うよりもはるかに速く実行し、ガバナンスを少なくします。

1つのフィールドを更新するのと同じコストで複数のフィールドを同時に更新することができます。 submitFieldsより多くのフィールドを更新してもガバナンスコストはsubmitFields しません

ただし、各レコードタイプの特定のフィールドのみがインライン編集可能であり、パフォーマンスの節約はこれらのインライン編集可能フィールドにのみ適用されることに注意する必要があります。インライン編集不可能なフィールドでsubmitFields関数を使用すると、フィールド正しく更新されます 、実際にはNetSuiteはレコードをロードして送信するため、時間がかかってガバナンスが向上します。 レコードブラウザーの 「nlapiSubmitField」列を参照することで、フィールドがインライン編集可能かどうかを判断できます。

submitFields機能は、レコードの本体フィールドにも制限されています。サブリストデータを変更する必要がある場合は、レコードをロードして変更を加え、レコードを提出する必要があります。

参考文献:

  • NetSuite Help:「インライン編集とSuiteScriptの概要」
  • NetSuite Help:「nlapiSubmitFieldを使用したインライン編集」
  • NetSuite Help:「非インライン編集可能フィールドでのnlapiSubmitFieldの使用の結果」
  • NetSuite Help:「フィールドAPI」
  • NetSuite Help: "record.submitFields(options)"

[1.0]単一フィールドを送信する

/**
 * A SuiteScript 1.0 example of using nlapiSubmitField to update a single field on a related record
 */

// From a Sales Order, get the Customer ID
var customerId = nlapiGetFieldValue("entity");

// Set a comment on the Customer record
nlapiSubmitField("customer", customerId, "comments", "This is a comment added by inline editing with SuiteScript.");

[1.0]複数のフィールドを送信する

/**
 * A SuiteScript 1.0 example of using nlapiSubmitField to update multiple fields on a related record
 */

// From a Sales Order, get the Customer ID
var customerId = nlapiGetFieldValue("entity");

// Set a Comment and update the Budget Approved field on the Customer record
nlapiSubmitField("customer", customerId,
    ["comments", "isbudgetapproved"],
    ["The budget has been approved.", "T"]);

[2.0]単一フィールドを送信する

/**
 * A SuiteScript 2.0 example of using N/record#submitFields to update a single field on a related record
 */

require(["N/record", "N/currentRecord"], function (r, cr) {

    // From a Sales Order, get the Customer ID
    var customerId = cr.get().getValue({"fieldId": "entity"});

    // Set a Comment on the Customer record
    r.submitFields({
        "type": r.Type.CUSTOMER,
        "id": customerId,
        "values": {
            "comments": "This is a comment added by inline editing with SuiteScript."
        }
    });
});

[2.0]複数のフィールドを送信する

/**
 * A SuiteScript 2.0 example of using N/record#submitFields to update multiple fields on a related record
 */

require(["N/record", "N/currentRecord"], function (r, cr) {

    // From a Sales Order, get the Customer ID
    var customerId = cr.get().getValue({"fieldId": "entity"});

    // Set a Comment and check the Budget Approved box on the Customer record
    r.submitFields({
        "type": r.Type.CUSTOMER,
        "id": customerId,
        "values": {
            "comments": "The budget has been approved.",
            "isbudgetapproved": true
        }
    });
});


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow