netsuite
Ricerca di dati da record correlati
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"]);
})();
});