Szukaj…


Wprowadzenie

Podczas przetwarzania danego rekordu często nie będziesz musiał pobierać danych z jednego z powiązanych rekordów. Na przykład podczas pracy z danym zamówieniem sprzedaży może być konieczne pobranie danych z powiązanego przedstawiciela handlowego. W terminologii SuiteScript nazywa się to wyszukiwaniem .

Lookup funkcjonalność jest dostarczana przez nlapiLookupField funkcji globalnych w SuiteScript 1,0 i N/search modułu lookupFields metodę w SuiteScript 2.0

Składnia

  • nlapiLookupField (recordType, recordId, kolumny);

Parametry

Parametr Detale
typ rekordu String - Wewnętrzny identyfikator rodzaju wyszukiwanego rekordu (np. salesorder , employee )
recordId String lub Number - Wewnętrzny identyfikator szukanego rekordu
kolumny String lub String[] - Lista pól do pobrania z rekordu. Identyfikatory pól można znaleźć w sekcji „Przeszukaj kolumny” w przeglądarce rekordów . Połączone pola można pobrać za pomocą składni kropkowej (np. salesrep.email )

Uwagi

Występ

Wyszukiwanie to tylko skrót do wykonania wyszukiwania, które filtruje wewnętrzny identyfikator jednego rekordu dla wyniku. Pod maską wyszukiwania faktycznie przeprowadzają wyszukiwanie, więc wydajność będzie podobna do wyszukiwania, które zwraca pojedynczy rekord.

Oznacza to również, że wyszukiwanie będzie działało szybciej niż ładowanie rekordu w celu pobrania tych samych informacji.

Ograniczenia

Wyszukiwań można używać tylko do wyszukiwania danych pola ciała. Nie można pobrać danych z list podrzędnych powiązanego rekordu za pomocą odnośnika. Jeśli potrzebujesz danych listy podrzędnej, musisz przeprowadzić wyszukiwanie lub załadować powiązany rekord.

[1.0] Wyszukaj pojedyncze pole

/**
 * 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] Wyszukaj wiele pól

/**
 * 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] Wyszukaj połączone pola

/**
 * 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] Wyszukaj pojedyncze pole

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] Wyszukaj wiele pól

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] Lookup Joined Fields

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow