netsuite
Inline bewerken met SuiteScript
Zoeken…
Invoering
Inline bewerken stelt gebruikers in staat om zeer snel de gegevens voor een bepaald record te wijzigen en bij te werken zonder het hele record op een pagina te laden, het formulier te bewerken en vervolgens het record op te slaan.
NetSuite-ontwikkelaars hebben een overeenkomstige functionaliteit die submitFields
. De submitFields
functionaliteit wordt verschaft door de nlapiSubmitField
globale functie in SuiteScript 1,0 en de N/record#submitFields
werkwijze SuiteScript 2.0.
Syntaxis
- nlapiSubmitField (recordType, recordId, fieldId, fieldValue);
- nlapiSubmitField (recordType, recordId, fieldIds, fieldValues);
- nlapiSubmitField (recordType, recordId, fieldId, fieldValue, doSourcing);
parameters
Parameter | Details |
---|---|
recordType | String - De interne ID van het type record dat wordt bijgewerkt |
recordID | String of Number - De interne ID van het record dat wordt bijgewerkt |
fieldIds | String of String[] - De interne ID ('s) van de velden die worden bijgewerkt |
fieldValues | any of any[] - De overeenkomstige waarden die in de gegeven velden moeten worden ingesteld |
doSourcing | Boolean - Of afhankelijke waarden moeten worden gevonden bij het indienen van records. Standaard is false |
Opmerkingen
De submitFields
functionaliteit is een lookupFields
functie bij de lookupFields
functionaliteit.
Prestaties en beperkingen
submitFields
presteert aanzienlijk sneller en gebruikt minder governance dan dezelfde wijzigingen doorvoeren door het volledige record te laden en in te dienen.
Meerdere velden kunnen tegelijkertijd worden bijgewerkt voor dezelfde kosten als het bijwerken van een enkel veld. Het bijwerken van meer velden met submitFields
geen hogere submitFields
zich mee .
Houd er echter rekening mee dat alleen bepaalde velden op elk recordtype inline bewerkbaar zijn en dat de prestatiebesparingen alleen van toepassing zijn op deze inline bewerkbare velden. Als u gebruik maken van de submitFields
functioneren op een niet-inline-bewerkbaar veld, wordt het veld correct worden bijgewerkt, maar achter de schermen, zal NetSuite daadwerkelijk laden en het record in te dienen, waardoor het nemen van meer tijd en het gebruik van meer bestuur. U kunt bepalen of een veld inline kan worden bewerkt door te verwijzen naar de kolom "nlapiSubmitField" in de Records Browser .
submitFields
functionaliteit is eveneens beperkt tot het lichaam velden van een record. Als u sublijstgegevens moet wijzigen, moet u het record laden om uw wijzigingen aan te brengen en vervolgens het record indienen.
Referenties:
- NetSuite Help: "Overzicht bewerken en SuiteScript"
- NetSuite Help: "Inline bewerken met nlapiSubmitField"
- NetSuite Help: "Gevolgen van het gebruik van nlapiSubmitField op niet-inline bewerkbare velden"
- NetSuite Help: "Veld-API's"
- NetSuite Help: "record.submitFields (opties)"
[1.0] Verzend een enkel veld
/**
* A SuiteScript 1.0 example of using nlapiSubmitField to update a single field on a related record
*/
// From a Sales Order, get the Customer ID
var customerId = nlapiGetFieldValue("entity");
// Set a comment on the Customer record
nlapiSubmitField("customer", customerId, "comments", "This is a comment added by inline editing with SuiteScript.");
[1.0] Meerdere velden verzenden
/**
* A SuiteScript 1.0 example of using nlapiSubmitField to update multiple fields on a related record
*/
// From a Sales Order, get the Customer ID
var customerId = nlapiGetFieldValue("entity");
// Set a Comment and update the Budget Approved field on the Customer record
nlapiSubmitField("customer", customerId,
["comments", "isbudgetapproved"],
["The budget has been approved.", "T"]);
[2.0] Verzend een enkel veld
/**
* A SuiteScript 2.0 example of using N/record#submitFields to update a single field on a related record
*/
require(["N/record", "N/currentRecord"], function (r, cr) {
// From a Sales Order, get the Customer ID
var customerId = cr.get().getValue({"fieldId": "entity"});
// Set a Comment on the Customer record
r.submitFields({
"type": r.Type.CUSTOMER,
"id": customerId,
"values": {
"comments": "This is a comment added by inline editing with SuiteScript."
}
});
});
[2.0] Meerdere velden verzenden
/**
* A SuiteScript 2.0 example of using N/record#submitFields to update multiple fields on a related record
*/
require(["N/record", "N/currentRecord"], function (r, cr) {
// From a Sales Order, get the Customer ID
var customerId = cr.get().getValue({"fieldId": "entity"});
// Set a Comment and check the Budget Approved box on the Customer record
r.submitFields({
"type": r.Type.CUSTOMER,
"id": customerId,
"values": {
"comments": "The budget has been approved.",
"isbudgetapproved": true
}
});
});