Suche…


Einführung

Durch die Inline-Bearbeitung können Benutzer die Daten für einen bestimmten Datensatz sehr schnell ändern und aktualisieren, ohne den gesamten Datensatz auf eine Seite laden zu müssen, das Formular zu bearbeiten und dann den Datensatz zu speichern.

NetSuite-Entwickler verfügen über eine entsprechende Funktion namens submitFields . Die submitFields Funktionalität wird durch die vorgesehenen nlapiSubmitField globale Funktion in SuiteScript 1,0 und der N/record#submitFields Verfahren in SuiteScript 2.0.

Syntax

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

Parameter

Parameter Einzelheiten
Aufnahmetyp String - Die interne ID des zu aktualisierenden Datensatztyps
recordId String oder Number - Die interne ID des Datensatzes, der aktualisiert wird
fieldIds String oder String[] - Die interne ID (s) der zu aktualisierenden Felder
Feldwerte any oder any[] - Die entsprechenden Werte, die in den angegebenen Feldern festgelegt werden
doSourcing Boolean - Gibt an, ob abhängige Werte bei der Übermittlung der Datensätze bereitgestellt werden sollen Standardeinstellung ist " false

Bemerkungen

Die Funktion submitFields ist eine lookupFields Funktion lookupFields .

Leistung und Einschränkungen

submitFields wesentlich schneller und verwendet weniger Governance als dieselben Änderungen vorzunehmen, indem der vollständige Datensatz submitFields und übermittelt wird.

Mehrere Felder können gleichzeitig zu den gleichen Kosten wie das Aktualisieren eines einzelnen Felds aktualisiert werden. Aktualisieren von mehr Feldern mit submitFields keine höheren Governance Kosten anfallen.

Beachten Sie jedoch, dass nur bestimmte Felder in jedem Datensatztyp inline editierbar sind und dass die Leistungseinsparungen nur für diese inline editierbaren Felder gelten. Wenn Sie die Verwendung submitFields Funktion auf jeder nicht-inline-bearbeitbaren Feld, wird das Feld korrekt aktualisiert werden, aber hinter den Kulissen werden NetSuite tatsächlich laden und den Rekord einreichen, so dass mehr Zeit nehmen und Governance verwenden. Sie können bestimmen , ob ein Feld mit Bezug auf die „nlapiSubmitField“ Spalte in dem Inline-editierbar Records Browser .

submitFields Funktion submitFields beschränkt sich auch auf die Body- Felder eines Datensatzes. Wenn Sie die Daten der Unterliste ändern müssen, müssen Sie den Datensatz laden, um die Änderungen vorzunehmen, und dann den Datensatz übermitteln.

Verweise:

  • NetSuite-Hilfe: "Inline-Bearbeitung und SuiteScript - Übersicht"
  • NetSuite Help: "Inline-Bearbeitung mit nlapiSubmitField"
  • NetSuite Help: "Konsequenzen der Verwendung von nlapiSubmitField für nicht bearbeitbare Inline-Felder"
  • NetSuite Help: "Feld-APIs"
  • NetSuite-Hilfe: "record.submitFields (Optionen)"

[1.0] Senden Sie ein einzelnes Feld

/**
 * 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] Mehrere Felder senden

/**
 * 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] Senden Sie ein einzelnes Feld

/**
 * 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] Mehrere Felder senden

/**
 * 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow