Sök…


Introduktion

Inline redigering tillåter användare att mycket snabbt ändra och uppdatera data för en viss post utan att behöva ladda hela posten på en sida, redigera formuläret och sedan spara posten.

NetSuite-utvecklare har en motsvarande funktionalitet som kallas submitFields . Den submitFields funktionalitet tillhandahålls av nlapiSubmitField globala funktionen i SuiteScript 1,0 och N/record#submitFields metod i SuiteScript 2,0.

Syntax

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

parametrar

Parameter detaljer
inspelningstyp String - Det interna ID för den typ av post som uppdateras
recordID String eller Number - Det interna ID för posten som uppdateras
fieldIds String or String[] - De interna ID / erna för fältet / fälten som uppdateras
fieldValues any eller any[] - Motsvarande värden som ska ställas in i de givna fälten
doSourcing Boolean - Huruvida beroende värden ska anskaffas vid posten. Standard är false

Anmärkningar

submitFields funktionaliteten är en följeslagningsfunktion till lookupFields funktionaliteten.

Prestanda och begränsningar

submitFields presterar betydligt snabbare och använder mindre styrning än att göra samma ändringar genom att ladda och skicka in hela posten.

Flera fält kan uppdateras samtidigt för samma kostnad som att uppdatera ett enda fält. Att uppdatera fler fält med submitFields medför inte högre styrningskostnader.

Du måste dock vara medveten om att endast vissa fält i varje posttyp är inredigerbara och prestandabesparingarna gäller endast för dessa inline-redigerbara fält. Om du använder submitFields funktionen i något fält som inte kan redigeras kommer fältet att uppdateras korrekt, men bakom kulisserna kommer NetSuite faktiskt att ladda och skicka posten, vilket tar mer tid och använder mer styrning. Du kan bestämma om ett fält är inredigerbart genom att hänvisa till kolumnen "nlapiSubmitField" i Records Browser .

submitFields funktionaliteten är också begränsad till kroppens fält i en post. Om du behöver ändra sublistdata måste du ladda posten för att göra dina ändringar och skicka sedan posten.

referenser:

  • NetSuite Help: "Inline Editing och SuiteScript-översikt"
  • NetSuite Hjälp: "Inline Editing med nlapiSubmitField"
  • NetSuite Hjälp: "Konsekvenser av att använda nlapiSubmitField på icke-inline redigerbara fält"
  • NetSuite Hjälp: "Fält-API: er"
  • NetSuite Help: "record.submitFields (alternativ)"

[1.0] Skicka ett enda fält

/**
 * 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] Skicka in flera fält

/**
 * 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] Skicka ett enda fält

/**
 * 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] Skicka in flera fält

/**
 * 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow