수색…


소개

인라인 편집을 사용하면 페이지에 전체 레코드를로드하고 양식을 편집 한 다음 레코드를 저장하지 않고도 특정 레코드의 데이터를 매우 신속하게 수정하고 업데이트 할 수 있습니다.

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
        }
    });
});


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow