---
sourceDocument: 호주 판매 고객 관계 관리
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/order-management

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 판매 고객 관계 관리

ft:clusterId :

    - omgmt

bundleId :

    - omgmt

workflow :

    - Customer and Industry


---

# 스크립팅: 첫 번째 및 후속 구성 확인 중

# 스크립팅: 첫 번째 및 후속 구성 확인 중 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 4분

구성이 초기화 중인지 또는 재구성되는지 테스트하고 결과에 따라 실행할 코드를 설정할 수 있습니다.

때로는 구성을 초기화할 때나 재구성할 때만 코드를 실행해야 하는 경우도 있습니다. 예를 들어, 구성 시작 시 필드를 기본값으로 설정하고 나중에 편집할 때는 사용자의 선택 항목을 유지할 수 있습니다.

아래 메서드는 서로 간섭하지 않고 결합할 수 있으며 구성 가능한 제품에 대해 유연하고 고유한 코드 동작을 생성할 수 있습니다.

## userEdited: 필드가 편집되지 않은 경우에만 실행 중 {#enrichments_on_configurer_and_reconfigure_behavior__section_hbg_vrr_4hc}

구성/재구성 시 보강에서 두 개의 필드 속성에 value 액세스할 수 있습니다. 및 userEdited. value 이 속성은 필드에 포함된 데이터를 보유하고 일반적으로 스크립팅 userEdited 시 액세스하는 데이터이지만 최종 사용자가 필드를 변경했는지 여부를 저장하는 부울 값을 포함합니다.

이는 사용자가 필드를 변경하지 않은 경우에만 기본값을 쓰는 if 문에서 사용할 수 있습니다. 예:

    if (cfgRequest.[fieldVariableName].userEdited == false) {
          //code to run
    }

구성이 초기화되면 모든 필드의 속성이 userEdited 아니오로 설정되지만, 재구성 시 사용자가 변경한 내용에 따라 일부 필드가 예로 설정됩니다. 필드가 편집되었거나 편집되지 않은 경우에만 동작이 발생하도록 하려면 다음 검사 중 하나 후에 실행할 코드를 작성하십시오.

## lineId 파트너 필드 {#enrichments_on_configurer_and_reconfigure_behavior__section_gnt_wrr_4hc}

또는 구성/재구성 시 보강 스크립트에서 한 번만 검사하고 Salesforce 통합을 수행하려는 경우, lineId 재구성 시 파트너 필드는 상위 구성 가능 제품 견적 라인의 Salesforce ID로만 채워집니다. 구성이 초기화될 때 채워지지 않습니다.

구성이 초기화될 때 CPQ 구성이 아직 저장되지 않았기 때문에 이 ID가 아직 존재하지 않기 때문입니다. 구성이 생성되고 견적 라인 편집기가 저장된 후 CPQ 에만 Salesforce에서 견적 라인이 생성됩니다. 따라서 파트너 필드가 lineId 있는 것을 볼 때 현재 세션이 새 구성이 아닌 재구성으로 인한 것임을 확신할 수 있습니다.

스크립트 작성자는 초기화 또는 재구성 시에만 실행해야 하는 모든 코드를 이 값에 대한 검사에 넣어 이러한 차이를 활용할 수 있습니다.

구성 시/재구성 보강에서 필드를 참조할 수 있는 방법은 다음과 같습니다.

    cfgRequest.partner.quote.lineId.value;

구성이 초기화될 때만 동작이 발생해야 하는 경우 다음 검사를 추가할 수 있습니다.

    if (cfgRequest.partner.quote.lineId.value == null) {
          //code to run
          return cfgRequest;
    }

검사에 `return cfgRequest;` 라인을 추가하면 라인 ID를 검사한 후의 코드가 실행되지 않습니다.

마찬가지로 구성이 재구성된 경우에만 동작이 발생해야 하는 경우 역 검사를 추가합니다.

    if (cfgRequest.partner.quote.lineId.value != null) {      
          //code to run
          return cfgRequest;
    }

파트너 필드에 대한 자세한 내용은 다음 문서를 참조하십시오 [CPQ 필드, 시스템 필드 및 파트너 필드](https://servicenow-prod.fluidtopics.net/mYdfdknE8NrjOFSeGdNWQg "에CPQ 있는 CPQ세 가지 유형의 필드에 대해 알아봅니다. 각 유형이 구성에서 데이터를 저장, 검색 및 표시하는 방법과 원활한 데이터 통합을 위해 Salesforce 및 파트너 시스템과 상호작용하는 방법을 이해합니다.").

## isInitial: 텍스트 필드 생성 {#enrichments_on_configurer_and_reconfigure_behavior__section_yq5_xrr_4hc}

Salesforce가 구성기의 엔트리포인트로 사용되는지 여부에 관계없이, 구별이 존재하도록 보장하는 또 다른 방법은 현재 구성이 초기화로 인한 것인지 재구성으로 인한 것인지 확인하는 필드를 만드는 것입니다.

변수 이름이 `isInitial`인 텍스트 필드를 생성합니다. 필드를 Blueprint와 연결합니다. 그런 다음, 구성/재구성 시 보강에서 다음 라인을 추가합니다.

    if (cfgRequest.isInitial.value === "Yes" || cfgRequest.isInitial.value === "No") {
          cfgRequest.isInitial.set("value","No");
    }
    else
    {
    c fgRequest.isInitial.set("value","Yes");
    }

초기화 시 `isInitial` 필드는 비어 있습니다. 따라서 스크립트는 `else` 절에서 `isInitial` 값을 Yes로 설정합니다.

첫 번째 재구성에서 `isInitial` 은 예가 됩니다. 따라서 스크립트는 `if` 절에서 `isInitial` 값을 No로 설정합니다.

이후의 모든 재구성에서 `isInitial` 은 아니요가 되며 아니요로 유지됩니다.

이 방법은 전체 QLE를 저장할 필요가 없다는 추가 이점이 있습니다 초기화 또는 재구성을 구분하기 위해 SFDC에서. 이 메서드는 사용자가 구성기에 두 번째로 들어갈 때 즉시 감지합니다.

이 방법에는 특히 초기화 또는 재구성 시 규칙을 발생시키는 것과 같이 규칙에서 새 필드를 조건으로 참조하는 기능도 포함됩니다. 구성/재구성 시 스크립트에만 동작이 존재할 필요는 없습니다. 그러나 최종 사용자의 관점에서 유사한 구성 환경을 유지하려면 초기화와 재구성 간에 동작상 차이가 너무 많이 생기지 않도록 주의해야 합니다.

