트랜잭션 관리자: 날짜 및 시간 필드

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 5분
  • 시간 및 날짜에 대한 트랜잭션 관리자 필드에 대해 알아봅니다.

    에서 CPQ날짜와 시간은 계약 또는 구독의 지속 기간, 갱신 기한, 시간 경과에 따른 가격 책정 적용 방식을 결정하는 데 중요합니다.

    기간 계산을 지원하거나 이벤트를 감사하기 위해 새로운 날짜 또는 날짜/시간 필드가 도입될 수 있습니다.

    기간 계산은 계약 조건, 시작 및 종료 날짜, 갱신, 기간을 계산합니다. 비어 있거나 null 날짜는 조건의 정확성에 영향을 줄 수 있습니다. 시스템 기본값(예: 현재 날짜 또는 오류 플래그)은 누락된 날짜를 처리할 수 있습니다.

    감사 이벤트는 견적, 지불 및 계약 서명과 같은 활동을 추적할 수 있습니다. 누락된 날짜는 불완전한 데이터를 의미할 수 있으며 검토를 위해 플래그를 지정해야 합니다.

    다음 예는 최종 사용자 UI에 날짜 및 시간 필드가 표시되는 방식을 보여줍니다.

    • 날짜 전용 달력 표시: 1월 달력 화면
    • 날짜 및 시간 입력: 시간 슬롯 선택
    • 날짜만: YYYY-MM-DD (예: 2024-11-07)
    • 날짜 및 (선택 사항) 시간: YYYY-MM-DDTHH:MM:SS ( 예: 2024-10-22T14:30:00)

      관리자는 시간 구성요소를 포함할지 여부를 결정할 수 있습니다.

    날짜 전용 필드는 시간대에 구애받지 않습니다. 시간대 불일치를 방지하기 위해 날짜와 시간은 협정 세계시(UTC)에 저장됩니다.

    새 날짜 및 시간 필드 생성

    1. 관리자에서 트랜잭션,연결된 필드, + 필드 만들기를 차례로 클릭합니다.

      필드 생성

    2. 대화 상자에서 필드의 이름을 입력합니다. 유형을 날짜/시간으로 설정하고 저장을 클릭합니다.

      유형 선택

    3. 필드를 열고 사용 사례에 따라 액세스를 설정한 후 저장을 클릭합니다.

      기본 액세스

    구매 측 인터페이스에 새 날짜 및 시간 필드 표시

    최종 사용자 UI에 표시하려면 필드가 Blueprint의 레이아웃에 포함되어야 합니다. 레이아웃은 JSON 입력 파일에 의해 정의됩니다. 이 파일을 수정하여 최종 사용자 UI를 변경할 수 있습니다.

    샘플 JSON 파일

    레이아웃에 "테스트 날짜 문서" 필드를 추가하려면 다음 단계를 수행합니다.

    1. 관리자에서 트랜잭션, 레이아웃, 스테이지 이름을 차례로 클릭합니다.

      거래 화면

    2. 레이아웃 JSON은 두 곳에서 편집해야 합니다.
      • 필드 섹션에서 유형, 레이블 및 variableName 매개변수를 사용하여 새 날짜 필드를 추가합니다. 아래 예에서는 기존 필드 "시작 날짜" 아래에 "테스트 날짜 문서"를 추가합니다. 새 필드에 대한 코드를 작성할 때 변수 이름이 연결된 필드의 변수 이름과 정확히 일치하는지 확인하십시오.
        주:
        이 예에서는 날짜만 표시하는 필드를 사용하므로 레이아웃 JSON의 유형은 "type":"Date"입니다. 시간도 표시하는 필드를 만들려면 유형이 "type":"DateTime"이어야 합니다.

        코드

      • "layout": "tiers": "columnSets": 섹션에서 "elements" 섹션에서 새 필드의 열 순서를 정의합니다. 변수 이름이 정확히 동일한지 확인합니다.

        열

    3. 저장을 클릭한 다음 배포를 클릭합니다.
    4. 새 트랜잭션을 생성하고 트랜잭션 편집을 클릭합니다. 새 필드는 다음과 같습니다.

      열 코드

    규칙에서 날짜 계산

    기간 계산을 통해 계약, 구독 또는 가격 책정 합의의 기간을 결정할 수 있습니다. 때로는 감사 목적으로 데이터를 계산하고 출력을 다른 필드에 표시해야 할 수도 있습니다. 다음 예에서는 구매자 UI에서 사용할 수 있는 시작 날짜와 종료 날짜를 고려하여 날짜 간의 차이를 월과 일 단위로 계산합니다. "구독 기간"이라는 또 다른 필드에 값을 표시합니다.

    1. 관리자에서 CPQ관련 규칙을 클릭한 다음 새 규칙을 클릭합니다. 규칙의 이름을 입력하고 조건을 정의합니다. 이 예에서는 규칙의 이름을 "구독 기간 날짜 계산"으로 지정하고 조건을 "시작 날짜"로 지정합니다. "종료 날짜"는 null일 수 없습니다.

      구독 화면 계산

    2. 다른 필드의 값을 결정하려면 결정 작업을 추가하고 고급 스크립트 섹션에 스크립트 파일을 제공하십시오. 다음 스크립트 스니펫이 계산을 수행합니다.
      // Script calculates the difference between start and end dates in months and days and displays the output in Subscription Term (Months).
      
      var yearsDiff = txn.custom.endDate.getFullYear() - txn.custom.startDate.getFullYear();
      var monthsDiff = txn.custom.endDate.getMonth() - txn.custom.startDate.getMonth();
      var totalMonths = yearsDiff * 12 + monthsDiff;
      
      var startDay = txn.custom.startDate.getDate();
      var endDay = txn.custom.endDate.getDate();
      var daysInMonth = new Date(txn.custom.endDate.getFullYear(), txn.custom.endDate.getMonth() + 1, 0).getDate();
      var dayFraction = (endDay - startDay + 1) / daysInMonth;
      
      totalMonths += dayFraction;
      
      return Math.floor(totalMonths * 1000) / 1000;

      스크립트 편집기에 스크립트를 입력하고 저장을 클릭합니다.

      약정 날짜 화면

    3. 새로 만든 규칙을 Blueprint에 연결합니다. 규칙 그룹으로 이동한 다음 규칙을 적용해야 하는 스테이지의 이름(이 경우 draftStageRuleGroup)으로 이동합니다. 규칙 연결을 클릭하고 규칙 이름을 검색합니다. 규칙을 왼쪽 창으로 끌어간 다음 완료를 클릭하여 배포합니다.

      약정 날짜 화면

    4. 시작 날짜와 종료 날짜에 대한 값을 제공하여 구매 측 인터페이스에서 기능을 테스트합니다. 구독 기간은 스크립트에 따라 자동으로 채워집니다.

      계약 정보 화면

    스크립트에서 날짜 및 시간 필드의 동작

    빈 날짜/null 날짜는 다른 빈 값과 비교하지 않는 한 FALSE로 비교됩니다.

    • date123 = "": 참
    • date123 != "": 아니오

    비교 <, <=, >, >=, =, != 가 지원됩니다. 빈 날짜나 null 날짜를 포함하는 비교는 항상 FALSE로 평가됩니다. 지정하지 않는 한 날짜 필드의 기본값은 비어 있습니다(null).

    집계 운영:

    • 최대: 최근 날짜 찾기
    • 최소: 가장 빠른 날짜 찾기
    • 카운트: 비어 있지 않은 날짜 값 수

    SumAvg 는 컴파일 시간 오류를 트리거할 수 있으므로 권장되지 않습니다.