사용 사례: Salesforce 견적 계산기 플러그인을 사용하여 Salesforce 견적 및 견적 라인의 데이터 CPQ 통합

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 4분
  • Salesforce CPQ 패키지용 확장 버전 1.7 이하에서 CPQ Salesforce 견적 계산기 플러그인을 사용하여 구성에서 확장된 정보를 구문 분석하고 사용자 지정 필드에 매핑합니다.

    주:
    이 문서는 CPQ Salesforce CPQ 패키지 버전 1.7 이하의 확장 내용에 적용됩니다. 사용 중인 버전이 1.8 이상인 경우 다음 문서를 참조하십시오 사용 사례: 구성 라인 항목에서 견적 라인으로의 플로우.

    Salesforce 견적 계산기 플러그인(QCP)과 함께 ProductList 객체의 CPQ 확장 정보를 사용하여 Salesforce에서 CPQ Salesforce로 데이터를 전달하고 견적 및 견적 라인 정보를 모두 조작하는 데 사용할 수 있습니다.

    ProductList.extended는 이와 같이 고급 제품 작업으로만 채울 수 있습니다.

    고급 기능 코드

    ProductList.extended 객체는 JSON 객체의 형식을 취하며 키:값 쌍을 허용합니다. 위의 예에서는 newValue 키를 사용하여 더미 텍스트 문자열 "QCP Test Value"를 전달합니다. ProductList.extended는 필드 값과 JSON 객체의 배열을 보유할 수 있습니다.

    이 제품이 BOM(자재 명세서)에 추가되면 구성 가능한 제품의 견적 라인에 보관된 사용자 지정 객체 "BOM 데이터"에서 관련 정보를 볼 수 있습니다.

    코드

    이 확장된 정보를 활용하려면 견적 계산기 플러그인을 사용해야 합니다. 시작하려면 Salesforce에서 사용자 지정 스크립트 항목으로 이동하십시오.

    성능

    여기에서 확장된 정보를 CPQ 활용하는 스크립트를 작성하고 이를 사용하여 SFDC의 필드를 조작할 수 있습니다. 다음 스크립트는 이 인스턴스에 사용되는 샘플 스크립트입니다.

    export function onBeforeCalculate(quote, lines) {
    	var result;
    	var resultValue;
    	var product_code = "headlessItem3";
    	if (lines != null) {
    		lines.forEach(function (line) { //Parsing all quote lines to find BOM Data object
    			if(line.record["LGK__BomData__c"] != null){                        
    				var configJson = JSON.parse(line.record["LGK__BomData__c"]);
    				var itemsJson = configJson["items"]; //Create JSON object containing all items in BOM data
    				itemsJson.forEach(function(itemsLine){ //For each item in the BOM Data
    					if(itemsLine["productCode"] == product_code){ //Checking for item "headlessItem3"
    						result = itemsLine["extended"]; //Parses extended information to find "newValue"
    						resultValue = result["newValue"]; //Assigning keyed value of "newValue"
    					}
    				});
    			}
    		});
    		lines.forEach(function (line) { //For each line in the quote
    			if (line.record["SBQQ__ProductCode__c"] == product_code){ //Checking for the line item "headlessItem3"
    				line.record["Test_Text__c"] = resultValue; //Setting the quote line field "Test Text" with the value of resultValue
    			}
    		});
        }
        return Promise.resolve();
    }; 

    사용자 지정 스크립트에서 참조하는 견적 필드 또는 견적 라인 필드는 사용자 지정 스크립트 기록의 적절한 입력에 명시적으로 정의되어야 합니다. 샘플 스크립트는 세 개의 견적 라인 필드(LGK_BomData c, SBQQ_ProductCode c 및 Test_Text c)를 참조합니다.

    스크립트가 작성되면 Salesforce CPQ 설정에서 정의합니다. 다음과 같이하세요:

    1. 설정에서 Quick FInd를 사용하여 "설치된 패키지"를 검색합니다.
    2. 'Salesforce CPQ' 옆에 있는 구성을 클릭합니다.
    3. 가격 책정 및 계산 탭을 선택합니다.
    4. 필요한 경우 레거시 계산기 사용을 선택 취소합니다.
    5. 플러그인 탭을 선택합니다.
    6. 견적 계산기 플러그인에서 사용자 지정 스크립트를 정의한 다음 저장을 클릭합니다.

    성과 그래프

    견적으로 이동하여 SFDC에서 계산을 수행하는 작업(예: "계산" 클릭)을 트리거하면 견적 계산기 플러그인이 실행되고 지정된 대로 필드를 수정합니다.