Ricerca…


introduzione

Quando si elabora un dato record, sarà necessario recuperare i dati da uno dei relativi record. Ad esempio, quando si lavora con un determinato ordine di vendita, potrebbe essere necessario recuperare i dati dal relativo Rep. Di vendita. Nella terminologia SuiteScript, si parla di ricerca .

La funzionalità di ricerca è fornita dalla funzione globale nlapiLookupField in SuiteScript 1.0 e dal metodo lookupFields del modulo N/search in SuiteScript 2.0

Sintassi

  • nlapiLookupField (recordType, recordId, columns);

Parametri

Parametro Dettagli
tipo di registrazione String - L'ID interno del tipo di record cercato (ad es. salesorder , employee )
recordId String o Number : viene visualizzato l'ID interno del record
colonne String or String[] - L'elenco di campi da recuperare dal record. Gli ID campo possono essere referenziati dalla sezione "Cerca colonne" del Browser dei record . I campi salesrep.email possono essere recuperati utilizzando la sintassi del punto (ad esempio, salesrep.email )

Osservazioni

Prestazione

Una ricerca è solo una scorciatoia per eseguire una ricerca che filtra l'ID interno di un singolo record per il risultato. Sotto controllo, le ricerche effettuano effettivamente una ricerca, quindi le prestazioni saranno simili a quelle di una ricerca che restituisce un singolo record.

Ciò significa anche che una ricerca verrà eseguita più velocemente del caricamento del record per recuperare le stesse informazioni.

limitazioni

Le ricerche possono essere utilizzate solo per recuperare i dati del campo del corpo. Non è possibile recuperare i dati dalle sottoliste di un record correlato utilizzando una ricerca. Se hai bisogno di dati di sottolista, dovrai effettuare una ricerca o caricare il record correlato.

[1.0] Cerca campo singolo

/**
 * An example of nlapiLookupField to retrieve a single field from a related record
 */

// Get the Sales Rep record ID
var repId = nlapiGetFieldValue("salesrep");

// Get the name of the Sales Rep
var repName = nlapiGetFieldText("salesrep");

// Retrieve the email address from the associated Sales Rep
var repEmail = nlapiLookupField("employee", repId, "email");

console.log(repEmail);
console.log(repName + "'s email address is " + repEmail);

[1.0] Ricerca di più campi

/**
 * An example of nlapiLookupField to retrieve multiple fields from a related record
 */

// Get the Sales Rep record ID
var repId = nlapiGetFieldValue("salesrep");

// Retrieve multiple fields from the associated Sales Rep
var repData = nlapiLookupField("employee", repId, ["email", "firstname"]);

console.log(repData);
console.log(repData.firstname + "'s email address is " + repData.email);

[1.0] Ricerca campi uniti

/**
 * An example of nlapiLookupField to retrieve joined fields from a related record
 */

var repId = nlapiGetFieldValue("salesrep");

// Retrieve multiple fields from the associated Sales Rep
var repData = nlapiLookupField("employee", repId, ["email", "firstname", "department.name"]);

console.log(repData);
console.log(repData.firstname + "'s email address is " + repData.email);
console.log(repData.firstname + "'s department is " + repData["department.name"]);

[2.0] Ricerca campo singolo

require(["N/search", "N/currentRecord"], function (s, cr) {

    /**
     * An example of N/search#lookupFields to retrieve a single field from a related record
     */
    (function () {

        var record = cr.get();

        // Get the Sales Rep record ID
        var repId = record.getValue({
            "fieldId": "salesrep"
        });

        // Get the name of the Sales Rep
        var repName = record.getText({
            "fieldId": "salesrep"
        });

        // Retrieve the email address from the associated Sales Rep
        var repData = s.lookupFields({
            "type": "employee",
            "id": repId,
            "columns": ["email"]
        });

        console.log(repData);
        console.log(repName + "'s email address is " + repData.email);
    })();
});

[2.0] Ricerca di più campi

require(["N/search", "N/currentRecord"], function (s, cr) {

    /**
     * An example of N/search#lookupFields to retrieve multiple fields from a related record
     */
    (function () {

        var record = cr.get();

        // Get the Sales Rep record ID
        var repId = record.getValue({
            "fieldId": "salesrep"
        });

        // Retrieve the email address from the associated Sales Rep
        var repData = s.lookupFields({
            "type": "employee",
            "id": repId,
            "columns": ["email", "firstname"]
        });

        console.log(repData);
        console.log(repData.firstname + "'s email address is " + repData.email);
    })();
});

[2.0] Ricerca campi uniti

require(["N/search", "N/currentRecord"], function (s, cr) {

    /**
     * An example of N/search#lookupFields to retrieve joined fields from a related record
     */
    (function () {

        var record = cr.get();

        // Get the Sales Rep record ID
        var repId = record.getValue({
            "fieldId": "salesrep"
        });

        // Retrieve the email address from the associated Sales Rep
        var repData = s.lookupFields({
            "type": "employee",
            "id": repId,
            "columns": ["email", "firstname", "department.name"]
        });

        console.log(repData);
        console.log(repData.firstname + "'s email address is " + repData.email);
        console.log(repData.firstname + "'s department is " + repData["department.name"]);
    })();
});


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow