Ricerca…


introduzione

La modifica in linea consente agli utenti di modificare e aggiornare rapidamente i dati per un determinato record senza dover caricare l'intero record su una pagina, modificare il modulo e quindi salvare il record.

Gli sviluppatori NetSuite hanno una funzionalità corrispondente chiamata submitFields . La funzionalità submitFields è fornita dalla funzione globale nlapiSubmitField in SuiteScript 1.0 e dal metodo N/record#submitFields in SuiteScript 2.0.

Sintassi

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

Parametri

Parametro Dettagli
tipo di registrazione String - L'ID interno del tipo di record in fase di aggiornamento
recordId String o Number : l'ID interno del record che si sta aggiornando
fieldIds String or String[] - L'ID (i) interno (i) dei campi che si stanno aggiornando
FieldValues any or any[] - I valori corrispondenti da impostare nei campi dati
doSourcing Boolean - Indica se i valori dipendenti devono essere inseriti al momento dell'invio del record. Il valore predefinito è false

Osservazioni

La funzionalità submitFields è una funzionalità complementare alla funzionalità di ricerca dei lookupFields .

Prestazioni e limiti

submitFields comporta in modo significativamente più veloce e utilizza meno governance rispetto a fare le stesse modifiche caricando e inviando il record completo.

È possibile aggiornare più campi contemporaneamente per lo stesso costo dell'aggiornamento di un singolo campo. L'aggiornamento di più campi con campi submitFields non comporta costi di governance più elevati.

Tuttavia, è necessario tenere presente che solo determinati campi su ciascun tipo di record sono modificabili in linea e il risparmio di prestazioni si applica solo a questi campi modificabili in linea. Se si utilizza la funzione submitFields su qualsiasi campo modificabile non in linea, il campo verrà aggiornato correttamente, ma dietro le quinte, NetSuite effettivamente caricherà e invierà il record, impiegando così più tempo e utilizzando più governance. È possibile determinare se un campo è modificabile in linea facendo riferimento alla colonna "nlapiSubmitField" nel Browser dei record .

submitFields funzionalità submitFields è inoltre limitata ai campi body di un record. Se è necessario modificare i dati di sottolista, sarà necessario caricare il record per apportare le modifiche, quindi inviare il record.

Riferimenti:

  • Guida di NetSuite: "Inline Editing e Panoramica di SuiteScript"
  • Aiuto NetSuite: "Modifica in linea usando nlapiSubmitField"
  • Guida di NetSuite: "Conseguenze dell'utilizzo di nlapiSubmitField su campi modificabili non incorporati"
  • Guida di NetSuite: "Field APIs"
  • Guida di NetSuite: "record.submitFields (opzioni)"

[1.0] Invia un singolo campo

/**
 * 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] Invia più campi

/**
 * 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] Invia un singolo campo

/**
 * 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] Invia più campi

/**
 * 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow