netsuite
Suchdaten aus verknüpften Datensätzen
Suche…
Einführung
Bei der Verarbeitung eines bestimmten Datensatzes müssen Sie häufig Daten aus einem zugehörigen Datensatz abrufen. Wenn Sie beispielsweise mit einem bestimmten Kundenauftrag arbeiten, müssen Sie möglicherweise Daten vom zugehörigen Vertriebsmitarbeiter abrufen. In der SuiteScript-Terminologie wird dies als Suche bezeichnet .
Lookup - Funktionalität wird durch die vorgesehenen nlapiLookupField
globale Funktion in SuiteScript 1,0 beträgt und das N/search
lookupFields
Methode in 2,0 SuiteScript
Syntax
- nlapiLookupField (recordType, recordId, Spalten);
Parameter
Parameter | Einzelheiten |
---|---|
Aufnahmetyp | String - Die interne ID des Datensatztyps, der gesucht wird (z. B. salesorder , employee ). |
recordId | String oder Number - Die interne ID des Datensatzes, der gesucht wird |
Säulen | String oder String[] - Die Liste der Felder, die aus dem Datensatz abgerufen werden sollen. Feld - IDs können aus dem „Search Columns“ der verwiesen werden Records Browser . Verknüpfte Felder können mit der salesrep.email abgerufen werden (z. B. salesrep.email ) |
Bemerkungen
Performance
Eine Suche ist nur eine Abkürzung für die Durchführung einer Suche, die nach der internen ID eines einzelnen Datensatzes nach dem Ergebnis filtert. Unter der Haube führen Suchvorgänge tatsächlich eine Suche durch, sodass die Leistung der einer Suche ähnelt, die einen einzelnen Datensatz zurückgibt.
Dies bedeutet auch, dass eine Suche schneller abläuft als das Laden des Datensatzes, um die gleichen Informationen abzurufen.
Einschränkungen
Suchvorgänge können nur zum Abrufen von Textfelddaten verwendet werden. Sie können Daten nicht mithilfe einer Suche aus den Unterlisten eines zugehörigen Datensatzes abrufen. Wenn Sie Unterlistendaten benötigen, müssen Sie entweder eine Suche durchführen oder den zugehörigen Datensatz laden.
[1.0] Einzelnes Feld suchen
/**
* 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] Mehrere Felder nachschlagen
/**
* 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] Nacheinander verbundene Felder
/**
* 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] Einzelnes Feld suchen
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] Mehrere Felder nachschlagen
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] Nacheinander verbundene Felder
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"]);
})();
});