기록 목록에서 객체 배열을 생성하는 사용자 지정 작업 생성

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기6분
  • 사용자 기록 목록에서 객체 배열을 생성합니다. 스크립트 단계를 사용하여 기록 목록을 반복하는 방법에 대해 알아봅니다.

    시작하기 전에

    필요한 역할: admin of flow_designer

    이 태스크 정보

    이 예제를 사용하여 이러한 작업 및 단계의 데모를 확인합니다.
    • 부서 기록에 대한 작업 입력을 생성합니다.
    • 부서 작업 입력에 대해 최대 3개의 사용자 기록을 조회합니다.
    • 사용자 기록 목록을 처리하도록 스크립트 단계를 구성합니다.
    • 사용자 기록 목록이 포함된 스크립트 입력 변수를 생성합니다.
    • 빈 연락처 배열을 작성하는 스크립트를 작성합니다.
    • 사용자 기록 목록을 반복하는 스크립트를 작성합니다.
    • 연락처 객체를 생성하고 사용자 기록 필드 값을 연락처 객체에 매핑하는 스크립트를 작성합니다.
    • 연락처 배열을 현재 연락처 객체로 채우는 스크립트를 작성합니다.
    • 연락처 배열 및 하위 연락처 객체에 대한 스크립트 출력 변수를 만듭니다.
    • 연락처 개체를 템플릿으로 저장합니다.
    • 객체의 생성된 연락처 배열을 데이터 필로 출력합니다.
    • 샘플 부서를 사용해 작업을 테스트합니다.

    프로시저

    1. 옵션: 작업을 저장할 애플리케이션을 만듭니다.
      를 사용하여 앱 엔진 스튜디오 애플리케이션을 계획, 생성 및 배포할 수 있습니다. 사용자 지정 애플리케이션 빌드에 대한 자세한 내용은 다음 문서를 참조하십시오 Building apps in App Engine Studio.
      예를 들어, 내 애플리케이션이라는 애플리케이션을 생성합니다.
    2. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    3. 홈페이지에서 작업을 선택합니다.
    4. 선택 신규 > 동작
      시스템에 작업 속성 대화 상자가 표시됩니다.
    5. 다음 샘플 값을 입력합니다.
      필드
      이름 개체의 연락처 배열 작성
      애플리케이션 전역
      다음에서 접근 가능 모든 애플리케이션 범위
      주:
      사용자 지정 작업을 저장하고 배포하는 애플리케이션을 만든 경우 전역 대신 해당 애플리케이션을 사용합니다.
    6. 빌드 작업을 선택합니다.
      시스템에 인터페이스가 표시됩니다 워크플로우 스튜디오 .
    7. 작업 개요에서 입력 > 입력 작성
      시스템에 새 작업 입력이 표시됩니다.
    8. 다음 값을 사용하여 작업 입력을 구성합니다.

      부서 기록을 저장하는 작업 입력을 생성합니다.

      필드
      레이블 부서
      유형 참조.부서 [Reference.cmn_department]
      필수
    9. 작업 개요에서 새 단계 추가를 선택합니다.
      시스템에 사용 가능한 단계 목록이 표시됩니다.
    10. 기록 조회 선택
    11. 이러한 값을 사용하여 단계를 구성합니다.

      부서 입력 변수를 사용하도록 기록 조회 단계 조건을 구성합니다.

      필드
      테이블 사용자 [sys_user]
      조건 [부서][는][action->부서]
      주:
      입력 변수에서 부서 데이터 정제를 선택합니다.
      정렬 기준 이름
      정렬 유형 a-z
      최대 결과 3
      주:
      이 예시에서는 데모용으로 최대 결과 설정을 3개의 기록으로 제한합니다.
    12. 작업 개요에서 새 단계 추가를 선택합니다.
      시스템에 사용 가능한 단계 목록이 표시됩니다.
    13. 스크립트를 선택합니다.
    14. 입력 변수(Input Variables) 섹션에서 변수 생성(Create Variable) 을 선택합니다.
    15. 다음 값으로 입력 변수를 구성합니다.

      기록 조회 단계에서 사용자 기록 데이터 알약을 사용하도록 스크립트 단계 입력 변수를 구성합니다.

      필드
      이름 userRecords
      [단계->기록 조회 단계->사용자 기록]
      주:
      기록 조회 단계에서 사용자 기록 데이터 정제를 선택합니다.
      주:
      데이터 패널 또는 데이터 정제 선택기 버튼에서 사용자 기록 데이터 정제를 선택할 수 있습니다.
    16. [Script]에 다음 텍스트를 입력합니다.
      (function execute(inputs, outputs) {
        //Create an empty array
        var contactsArray = [];
        var i = 0;
        //Iterate through the list of User records
        while(inputs.userRecords.next()) {
          //Create an empty object for each iteration
          var contactObject = {};
          //Query User records to assign object values
          contactObject.first_name = inputs.userRecords.getValue('first_name');
          contactObject.last_name = inputs.userRecords.getValue('last_name');
          contactObject.email_address = inputs.userRecords.getValue('email');
          //Add current object to array
          contactsArray[i] = contactObject;
          i += 1;
        }
        outputs.contacts = contactsArray;
      })(inputs, outputs);
    17. 출력 변수에서 변수 생성을 선택합니다.
    18. 다음 값으로 출력 변수를 구성합니다.

      contacts라는 객체의 배열을 만듭니다. 배열 내에 contact라는 객체를 만듭니다. 연락처 객체 내에 이름, 성 및 이메일 주소에 대한 세 개의 문자열 변수를 만듭니다.

      레이블 이름 유형 필수
      연락처 연락처 Array.Object
    19. contacts Array.Object를 확장하고 자식 개체의 이름을 contact로 바꿉니다.
    20. 연락처 객체의 행에서 하위 항목 추가 아이콘 을 선택합니다.
    21. 이러한 값으로 하위 항목을 구성합니다.
      레이블 이름 유형 필수
      이름 first_name 문자열
    22. 연락처 객체의 행에서 하위 항목 추가 아이콘 을 선택합니다.
    23. 이러한 값으로 하위 항목을 구성합니다.
      레이블 이름 유형 필수
      last_name 문자열
    24. 연락처 객체의 행에서 하위 항목 추가 아이콘 을 선택합니다.
    25. 이러한 값으로 하위 항목을 구성합니다.
      레이블 이름 유형 필수
      이메일 주소 email_address 문자열
    26. 연락처 개체의 행에서 고급 입력 전환(Toggle Advanced Inputs)을 선택합니다.
    27. Advanced Options(고급 옵션)에서 Save As Template(템플릿으로 저장)을 선택합니다.
      템플릿으로 저장(Save As Template) 대화상자가 표시됩니다.
    28. [Enter a Name]에contact를 입력합니다.
      개체 템플릿을 contact라는 이름으로 저장합니다.
    29. 저장을 클릭합니다.
    30. 작업 개요에서 출력 > 출력 작성.
    31. 이 값을 사용하여 작업 출력을 구성합니다.

      contacts라는 작업 출력을 작성하여 객체 배열을 저장합니다.

      레이블 이름 유형 필수
      연락처 연락처 Array.Object
    32. 연락처 Array.Object를 확장합니다.
    33. 연락처 개체의 행에서 고급 입력 전환(Toggle Advanced Inputs)을 선택합니다.
    34. Advanced Options(고급 옵션)에서 구조 > 템플릿에서 시작.
      시스템에 템플릿이 표시됩니다.
    35. 템플릿의 경우 이전에 저장한 템플릿을 선택합니다.
      예를 들어 전역: 연락처를 선택합니다.
    36. 편집 모드 종료를 선택합니다.
      생성한 출력 필드가 시스템에 표시됩니다.
    37. 접촉 창구의 경우 [단계->스크립트 단계->contacts]를 선택합니다.

      스크립트 단계에서 연락처 데이터 정제를 사용하도록 작업 출력 변수를 구성합니다.

      주:
      데이터 패널 또는 데이터 정제 선택기 버튼에서 스크립트 단계 연락처 데이터 정제를 선택할 수 있습니다.
    38. 저장을 클릭합니다.
    39. 테스트를 선택합니다.
      테스트 작업 대화 상자가 표시됩니다.
    40. 다음 테스트 값을 입력합니다.

      작업을 테스트할 개발 부서를 선택합니다.

      입력
      부서 개발
    41. 테스트 실행을 선택합니다.
      시스템은 제공된 테스트 값으로 작업을 실행합니다.
    42. 테스트 실행이 완료되었습니다를 선택합니다 . 작업 실행 상세 정보를 봅니다.
      시스템에 작업 실행 상세 정보가 표시됩니다.
    43. 작업 출력 데이터의 런타임 값을 검토합니다.

      사용자 지정 작업의 테스트 결과에 대한 실행 상세 정보 페이지입니다.

      실행 세부 정보에는 출력 데이터가 JSON 형식의 문자열로 표시되지만 실제 출력 데이터 형식은 개체 배열입니다. 출력의 문자열 버전이 필요한 경우 JSON 클래스를 사용하여 객체를 문자열로 변환할 수 있습니다. JSON 객체를 문자열로 변환하는 방법에 대한 자세한 내용은 단원을 참조하십시오 Scoped JSON - stringify(Object jsonObject).
      이 예제의 경우 contacts 개체에는 개발 부서의 사용자 3명에 대한 이름, 성 및 전자 메일 정보가 포함된 연락처 개체의 배열이 포함되어 있습니다.
      {
          "contacts": 
              "contact": [
                  {
                      "email_address": "allyson.gillispie@example.com",
                      "first_name": "Allyson",
                      "last_name": "Gillispie"
                  },
                  {
                      "email_address": "alva.pennigton@example.com",
                      "first_name": "Alva",
                      "last_name": "Pennigton"
                  },
                  {
                      "email_address": "andrew.och@example.com",
                      "first_name": "Andrew",
                      "last_name": "Och"
                  }
              ]
          }
      }
      

    결과

    지정된 부서의 사용자를 조회하고 해당 사용자를 연락처 객체의 배열로 변환하는 사용자 지정 작업이 있습니다.

    다음에 수행할 작업

    고유한 논리를 사용하도록 이 작업을 사용자 지정합니다.