netsuite
SuiteScript로 인라인 편집
수색…
소개
인라인 편집을 사용하면 페이지에 전체 레코드를로드하고 양식을 편집 한 다음 레코드를 저장하지 않고도 특정 레코드의 데이터를 매우 신속하게 수정하고 업데이트 할 수 있습니다.
NetSuite 개발자에게는 submitFields
라는 해당 기능이 submitFields
. submitFields
기능은 SuiteScript 1.0의 nlapiSubmitField
전역 함수와 SuiteScript 2.0의 N/record#submitFields
메서드에 의해 제공됩니다.
통사론
- nlapiSubmitField (recordType, recordId, fieldId, fieldValue);
- nlapiSubmitField (recordType, recordId, fieldIds, fieldValues);
- nlapiSubmitField (recordType, recordId, fieldId, fieldValue, doSourcing);
매개 변수
매개 변수 | 세부 |
---|---|
recordType | String - 업데이트 할 레코드 유형의 내부 ID입니다. |
recordId | String 또는 Number - 업데이트 할 레코드의 내부 ID입니다. |
fieldIds | String 또는 String[] - 업데이트되는 필드의 내부 ID입니다. |
fieldValues | any 또는 any[] - 해당 필드에 설정할 해당 값 |
소싱 | Boolean - 레코드 제출시 종속 값의 소스를 지정할지 여부입니다. 기본값은 false |
비고
submitFields
기능은에 동반자 기능입니다 lookupFields
기능을 제공합니다.
성능 및 제한 사항
submitFields
는 전체 레코드를로드하고 제출하여 동일한 변경을 수행하는 것보다 훨씬 빠르게 수행하고 관리 기능을 덜 사용합니다.
단일 필드 업데이트와 동일한 비용으로 여러 필드를 한 번에 업데이트 할 수 있습니다. submitFields
더 많은 필드를 업데이트 해도 더 높은 관리 비용이 발생 하지 않습니다 .
그러나 각 레코드 유형의 특정 필드 만 인라인으로 편집 할 수 있다는 점에 유의해야하며, 인라인 편집 가능한 필드 에만 성능 저하가 적용됩니다. 인라인이 아닌 편집 가능한 필드에서 submitFields
함수를 사용하면 해당 필드 가 올바르게 업데이트되지만 submitFields
에서는 NetSuite가 실제로 레코드를로드하여 제출하므로 더 많은 시간과 관리를 사용하게됩니다. 필드가 인라인으로 편집 가능한지 여부는 레코드 브라우저 의 "nlapiSubmitField"열을 참조하여 결정할 수 있습니다.
submitFields
기능은 레코드의 본문 필드로 제한됩니다. 하위 목록 데이터를 수정해야하는 경우 변경 사항을 적용하기 위해 레코드를로드 한 다음 레코드를 제출해야합니다.
참고 문헌 :
- NetSuite Help : "인라인 편집 및 SuiteScript 개요"
- NetSuite Help : "nlapiSubmitField를 사용한 인라인 편집"
- NetSuite Help : "비 인라인 편집 가능 필드에서 nlapiSubmitField 사용의 결과"
- NetSuite Help : "필드 API"
- NetSuite Help : "record.submitFields (options)"
[1.0] 단일 필드 제출
/**
* 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] 여러 필드 제출
/**
* 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] 단일 필드 제출
/**
* 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] 여러 필드 제출
/**
* 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
}
});
});