---
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) 소요 시간: 8분

통합 변환 템플릿을 빌드할 때 핸들바 템플릿 언어를 사용할 수 있습니다.
핸들바는 동적 콘텐츠를 생성하는 데 사용되는 경량 템플릿 언어입니다. 통합 변환 템플릿을 빌드하는 관리자는 다음과 같은 주요 Handlebars 구문 요소와 함께 다음과 같은 개선 사항과 관련된 개선 사항을 사용합니다.CPQ

* 핸들바 표현식: 이중 중괄호로 {{ }}묶인 표현식을 사용하면 관리자가 변수, 함수 또는 속성을 템플릿에 삽입할 수 있습니다. 예를 들어 {{user.name}} 사용자 객체의 name 속성 값을 렌더링합니다.
* 기본 제공 도우미에는 조건부 도우미와 반복 도우미가 포함됩니다.
  * 조건부 도우미를 사용하면 값에 따라 조건부로 컨텐츠를 렌더링할 수 있습니다. 예:
    * #if 조건이 예일 경우 컨텐츠를 렌더링합니다.

          {{#if user.isActive}} 
            Active 
          {{/if}}

      이 스니펫은 `user.isActive` 가 예일 때만 "활성"을 렌더링합니다.
    * #unless -- #if와 반대로 조건이 false인 경우 컨텐츠를 렌더링합니다.

          {{#unless user.isActive}} 
            Inactive 
          {{/unless}}

      이 스니펫은 `user.isActive` 가 아니오인 경우 "비활성"을 렌더링합니다.
    {#transaction-manager-integrations-handlebar-syntax__ul_pgb_qp2_hhc}
  * 반복 도우미를 사용하면 목록을 반복하거나 범위를 수정할 수 있습니다.
    * #each 배열을 반복하고 각 항목의 컨텐츠를 렌더링합니다.

          {{#each users}} 
            <li>{{this.name}}</li> 
          {{/each}}

      이 스니펫은 사용자를 반복하고 각 사용자의 이름을 목록 항목으로 표시합니다.
    * #with 범위를 특정 객체로 변경합니다.

          {{#with user}} 
            <p>{{name}}</p> 
          {{/with}}

      이 스니펫은 블록의 `사용자` 속성에 대한 액세스를 단순화합니다.
    {#transaction-manager-integrations-handlebar-syntax__ul_nbm_2p2_hhc}
  {#transaction-manager-integrations-handlebar-syntax__ul_imy_5fc_23c}
{#transaction-manager-integrations-handlebar-syntax__ul_ebt_w42_hhc}

## 통합을 위한 고급 핸들바 구문 {#transaction-manager-integrations-handlebar-syntax__section_wxf_fq2_hhc}

다음은 핸들바 템플릿 언어를 활용하는 통합 템플릿에 사용되는 각 구문 요소에 대한 설명입니다.

* {{#if lines}} {{/if}}

  {{#if}} 어떤 것이 사실인지 확인합니다.

  다음 스니펫은 `줄`에 무언가가 있는지 확인합니다. `줄`에 값(예: 항목 목록 또는 일부 데이터)이 있는 경우 블록 내에서 작업을 수행합니다. `줄`이 비어 있거나 없으면 블록을 건너뜁니다.

      {{#if lines}} 
        We have lines to process! 
      {{else}} 
        No lines available. 
      {{/if}}

  `라인`이 있으면 "처리할 라인이 있습니다!"로 표시됩니다. 그렇지 않으면 "사용 가능한 회선 없음"으로 표시됩니다.
* {{\~#each lines\~}} {{/each}}

  {{#each}} 목록의 각 항목에 대해 내용을 반복합니다.

  다음 스니펫은 `라인` 목록의 각 항목을 반복하고 모든 항목에 대한 블록 내부의 콘텐츠를 렌더링합니다. \~ 기호는 핸들바의 공백 제어 문자입니다. 블록 전후의 추가 공간이나 줄 바꿈을 제거하여 더 깨끗하고 컴팩트한 출력을 보장합니다. (아래 참조)

      {{~#each lines~}} 
        <p>{{this}}</p> 
      {{/each}}

  스니펫은 `각 항목을 한 줄` 로 살펴보고 각 항목을 단락 태그에 넣습니다.
* {{#if \<logik line-level field varname\>}} {{/if}}

  {{#if \<logik ...}} 특정 데이터가 사실인지 존재하는지 확인합니다. 데이터의 특정 필드 또는 값(예: varname)이 존재하는지 또는 예인지 확인합니다. 데이터 세트와 같은 보다 복잡한 구조에서 특정 정보를 확인하는 방법입니다.

      {{#if logik.lineLevelField.isActive}} 
        The field is active! 
      {{else}} 
        The field is not active. 
      {{/if}}

  이 스니펫은 `logik.lineLevelField.isActive` 가 예인지 여부를 확인합니다(예: "활성"인지 확인). 활성 상태이면 "필드가 활성 상태입니다!"로 표시됩니다. 그렇지 않은 경우 "필드가 활성화되어 있지 않습니다"라고 표시됩니다.
{#transaction-manager-integrations-handlebar-syntax__ul_iq3_3q2_hhc}

## 물결표(\~) {#transaction-manager-integrations-handlebar-syntax__section_dzk_kvq_qhc}

제어 문자인 물결표(\~)는 공백과 줄 바꿈을 숨겨 출력을 깔끔하게 유지하는 데 도움이 됩니다. HTML을 더 컴팩트하게 만들고 출력의 간격 문제를 방지합니다.

위의 예 중 일부에서 앞의 #each 선행 물결표는 블록이 시작되기 전에 공백을 제거합니다. #each 뒤의 후행 물결표는 블록이 시작된 후 공백을 제거합니다.

## zeroIfMissing 사용자 지정 도우미 {#transaction-manager-integrations-handlebar-syntax__section_ffs_4vq_qhc}

zeroIfMissing 도우미는 누락된 값으로 인한 오류를 방지하고 숫자 필드가 항상 유효한 기본값을 갖도록 합니다.

    Custom Helper 'zeroIfMissing'
    "price": {{zeroIfMissing txn.price}}, would become -> "price": 0 (or "price": 9.99, if txn.price is present)

## lgkFilter 사용자 지정 도우미 {#transaction-manager-integrations-handlebar-syntax__section_tbj_2hc_23c}

lgkFilter 도우미는 컬렉션을 반복하고 지정된 조건을 충족하는 항목만 포함합니다.

    {
      "numericFiltered": [
        {{#lgkFilter lines "txn.line.custom.someNumber > 10"}}
          {
          "id": "{{txn.line.product.id}}",
          "someNumber": "{{txn.line.custom.someNumber}}"
        }
        {{else}}
          {
          "error": "Item could not be added (numeric condition)"
        }
        {{/lgkFilter}}
      ],
      "textFiltered": [
        {{#lgkFilter lines "txn.line.custom.status == Active"}}
          {
          "id": "{{txn.line.product.id}}",
          "status": "{{txn.line.custom.status}}"
        }
        {{else}}
          {
          "error": "Item could not be added (text condition)"
        }
        {{/lgkFilter}}
      ]
    }

이 도우미는 바꾸 #each 고 #unless 차단합니다.

* 간단한 구문: {{#lgkFilter lines "\<predicate_field\>"}}
* 조건부 구문: {{#lgkFilter lines "\<predicate_field\> \<comparator\> \<literal_value\>"}}
* 지원되는 비교기: \<, , \>\<=, \>=, !=,==
* \&와 같은 복잡한 조건은 지원되지 않습니다.
{#transaction-manager-integrations-handlebar-syntax__ul_xwh_whc_23c}

`else` 블록은 도우미 내에서 지원됩니다.

구문이 올바르지 않고 필드를 구문 분석할 수 없는 경우 도우미가 오류를 발생시킵니다.

도우미는 유효한 JSON 출력을 위해 내부적으로 쉼표 조인을 수행합니다.

## @ 기호 {#transaction-manager-integrations-handlebar-syntax__section_prv_qvq_qhc}

@는 현재 컨텍스트가 아닌 외부 또는 상위 컨텍스트에서 값을 끌어오도록 합니다. 필요한 데이터가 구조의 상위 수준에 있고 현재 범위의 로컬 데이터와 혼동하지 않으려는 경우에 자주 사용됩니다.

표현식 "LGK__TransactionId__c": "@{parentTransaction.id}"@ 에서 기호는 핸들바 또는 기타 유사한 시스템과 같은 템플릿 시스템의 상위 컨텍스트 또는 개체의 값을 참조하는 데 사용됩니다.

이 구문은 @{} 시스템에 상위 컨텍스트(현재 범위 밖의 객체 또는 데이터)를 보고 `parentTransaction.id` 값을 검색하도록 지시합니다.

예를 들어 다음과 같은 객체가 있다고 가정합니다.

    { 
      "parentTransaction": { 
        "id": "12345" 
      } 
    }

를 사용하면 "LGK__TransactionId__c": "@{parentTransaction.id}"`parentTransaction`의 `id`(`12345`)"LGK__TransactionId__c"가 .

## 조건부 할당 예시 {#transaction-manager-integrations-handlebar-syntax__section_rp2_r3c_23c}

이 라인 "LGK__ParentTransactionLineId__c": {{#if txn.line.custom.parentLineReferenceId}} "@{line_{{txn.line.custom.parentReferenceId}}.id}" {{else}} null {{/if}} 은 핸들바 템플릿의 일부이며 필드 `LGK__ParentTransactionLineId__c`의 값을 조건부로 설정합니다.

* `LGK__ParentTransactionLineId__c` 는 결과 값이 배치될 키입니다.
* {{#if txn.line.custom.parentLineReferenceId}}`txn.line.custom.parentLineReferenceId`가 존재하고 값이 있는지 확인합니다.
* @{line_{{txn.line.custom.parentReferenceId}}.id}`parentReferenceId`를 기반으로 특정 줄의 `ID`에 대한 동적 참조를 생성합니다.
* {{else}} null {{/if}} 조건이 false이면 값을 null로 설정합니다.
{#transaction-manager-integrations-handlebar-syntax__ul_qwh_qs2_hhc}

## Salesforce 필드와 조건부 구두점 연결 {#transaction-manager-integrations-handlebar-syntax__section_kzs_vvq_qhc}

핸들바에서 템플릿의 변수를 결합하고 {{#if}} 블록을 사용하여 조건부 논리를 처리하여 구두점(예: 쉼표, 공백 및 조건부 확인)과 함께 여러 필드를 연결할 수 있습니다.

예를 들어, 다음 접근 방식을 사용하여 도로명 주소, 도로명 주소2, 도시, 주 및 주소의 우편 번호와 같은 필드를 연결하고 도로명 주소2 뒤의 쉼표와 공백이 도로명 주소2가 채워진 경우에만 포함되도록 할 수 있습니다.

    {{#if streetAddress}} 
      {{streetAddress}} 
      {{#if streetAddress2}}, {{streetAddress2}}{{/if}} 
      {{#if city}}, {{city}}{{/if}} 
      {{#if state}}, {{state}}{{/if}} 
      {{#if zipcode}}, {{zipcode}}{{/if}} 
    {{else}} 
      No address available 
    {{/if}}

이는 streetAddress, streetAddress2 및 city와 같은 필드를 연결하여 해당 필드가 채워지는 경우에만 쉼표가 포함되도록 합니다.

`streetAddress2`가 있는 출력 예:"123 Main St, Apt 4, San Francisco, CA, 94105"

`streetAddress2`가 없는 출력 예:"123 Main St, San Francisco, CA, 94105"

## 결론 {#transaction-manager-integrations-handlebar-syntax__section_ul3_bwq_qhc}

관리자는 이러한 핵심 요소를 사용하여 동적이고 유연하며 유지관리 가능한 통합 변환 템플릿을 만들 수 있습니다. 표현식, 도우미, 블록, 조건부 및 상위 컨텍스트 참조를 이해하고 활용하면 복잡한 데이터와 논리를 쉽게 처리할 수 있습니다.  
핸들바 구문에 대한 자세한 내용은 [핸들바 설명서](http://handlebarsjs.com/)를 참조하십시오.  
주:  
핸들바 구문은 이 외부 문서에 설명된 모든 기능을 지원하지 않습니다.

