Zoeken…


Invoering

Wanneer u een bepaald record verwerkt, moet u vaak gegevens uit een van de gerelateerde records ophalen. Bijvoorbeeld, bij het werken met een bepaalde verkooporder, kan het nodig zijn om de gegevens van de betreffende Sales Rep. In SuiteScript terminologie te halen, dit heet een lookup.

De nlapiLookupField wordt geboden door de algemene functie nlapiLookupField in SuiteScript 1.0 en de lookupFields methode van de N/search module in SuiteScript 2.0

Syntaxis

  • nlapiLookupField (recordType, recordId, kolommen);

parameters

Parameter Details
recordType String - De interne ID van het type record dat wordt opgezocht (bijv. salesorder , employee )
recordID String of Number - De interne ID van het record dat wordt opgezocht
kolommen String of String[] - De lijst met velden die uit het record moeten worden opgehaald. U kunt naar veld-ID's verwijzen vanuit het gedeelte 'Zoekkolommen' van de Records-browser . Samengevoegde velden kunnen worden opgehaald met behulp van puntsyntaxis (bijv. salesrep.email )

Opmerkingen

Prestatie

Een Lookup is gewoon steno voor het uitvoeren van een zoekopdracht die filtert op de interne ID van een enkel record voor het resultaat. Onder de motorkap voeren lookups eigenlijk een zoekopdracht uit, dus de prestaties zijn vergelijkbaar met die van een zoekopdracht die één record retourneert.

Dit betekent ook dat een opzoekactie sneller zal werken dan het laden van het record om dezelfde informatie op te halen.

beperkingen

Opzoekingen kunnen alleen worden gebruikt om gegevens uit bodyvelden op te halen. U kunt geen gegevens uit de sublijsten van een gerelateerd record ophalen met behulp van een opzoekactie. Als u sublijstgegevens nodig hebt, moet u een zoekopdracht uitvoeren of het bijbehorende record laden.

[1.0] Opzoek enkel veld

/**
 * 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] Meerdere velden opzoeken

/**
 * 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] Opzoeken samengevoegde velden

/**
 * 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] Eén veld opzoeken

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] Meerdere velden opzoeken

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] Opzoeken samengevoegde velden

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow