수색…


소개

주어진 레코드를 처리 할 때 관련 레코드 중 하나에서 데이터를 검색 할 필요가 없습니다. 예를 들어 특정 판매 주문을 사용하는 경우 관련 판매 담당자로부터 데이터를 검색해야 할 수 있습니다 .SuiteScript 용어에서이를 조회 라고합니다.

Lookup 기능은 SuiteScript 1.0의 nlapiLookupField 전역 함수와 SuiteScript 2.0의 N/search 모듈의 lookupFields 메서드에 의해 제공됩니다

통사론

  • nlapiLookupField (recordType, recordId, columns);

매개 변수

매개 변수 세부
recordType String - 조회되는 레코드 유형의 내부 ID입니다 (예 : salesorder , employee ).
recordId String 또는 Number - 조회중인 레코드의 내부 ID입니다.
기둥 String 또는 String[] - 레코드에서 검색 할 필드의 목록입니다. 필드 ID는 레코드 브라우저 의 "열 검색"섹션에서 참조 할 수 있습니다. 결합 된 필드는 도트 구문 (예 : salesrep.email )을 사용하여 검색 할 수 있습니다.

비고

공연

조회는 결과에 대한 단일 레코드의 내부 ID를 필터링하는 검색을 수행하기위한 바로 가기입니다. 후드에서 조회는 실제로 검색을 수행하므로 성능은 단일 레코드를 반환하는 검색의 성능과 유사합니다.

이는 또한 조회가 동일한 정보를 검색하기 위해 레코드를로드하는 것보다 빨리 수행함을 의미합니다.

제한 사항

조회는 본문 필드 데이터를 검색하는 데에만 사용할 수 있습니다. 조회를 사용하여 관련 레코드의 하위 목록에서 데이터를 검색 할 수 없습니다. 하위 목록 데이터가 필요한 경우 검색을 수행하거나 관련 레코드를로드해야합니다.

[1.0] 단일 필드 조회

/**
 * 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] 여러 필드 조회

/**
 * 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] 조인 된 필드 조회

/**
 * 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] 단일 필드 조회

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] 여러 필드 조회

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] 조인 된 필드 조회

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"]);
    })();
});


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