일선 운영 앱에서 테이블을 읽고 쓰는 방법은 다음과 같습니다.

이 가이드에서는 다음 내용을 배우게 됩니다...
- 앱에서 기존 테이블 레코드를 읽는 방법
- 앱에서 기존 테이블 레코드를 업데이트하는 방법
- 앱에서 새로운 테이블 레코드를 생성하는 방법
- 앱 완료 현황을 기반으로 테이블 데이터를 분석하는 방법
앱 편집기에서는 개별 테이블 레코드를 조회, 편집 및 생성할 수 있습니다. 테이블은 코드가 필요하지 않으므로, 플레이어에서 앱을 실행하고 테이블이 실시간으로 업데이트되는 모습을 확인할 수 있습니다.
이 가이드에서는 테이블과 앱을 함께 사용하여 더 강력한 앱을 만들 수 있는 다양한 방법을 다룹니다.
테이블 레코드를 읽거나 업데이트하는 과정은 다음 세 단계로 이루어집니다:
1- 앱 내에서 해당 테이블 레코드에 이름을 지정하기 위해 “레코드 자리 표시자”를 생성합니다.
2- 트리거 액션에서 레코드를 불러오거나(또는 생성)합니다.
3a- 레코드의 개별 필드를 업데이트하려면 “Then” 문에 테이블 레코드를 포함시킵니다.
3b- 테이블 레코드의 값을 기반으로 로직을 작성하려면, “If” 문에 테이블 레코드를 포함시킵니다.
앱 변수와 테이블 레코드
앱을 구축할 때, 특정 데이터를 변수에 저장할지 테이블 레코드에 저장할지 결정해야 할 수 있습니다.
변수는 해당 앱의 개별 사용과 관련된 데이터에 더 적합합니다. 테이블은 여러 앱에서 액세스해야 하는 데이터에 더 적합합니다.
테이블은 다음과 같은 개념을 추적하는 데 자주 사용됩니다: * 작업 지시서 * 개별 제품 SKU * 자재 명세서(BOM) * 기술 매트릭스 * ...그 외 다수
이 기사를 읽기 전에, 테이블의 기능을 완전히 이해하기 위해 먼저“테이블 개요”를 읽어보시기 바랍니다.
1단계 - 레코드 자리 표시자 생성
먼저, 테이블 레코드에 액세스할 앱 내에서**“레코드 자리 표시**자”를 생성해야 합니다. 이는 나중에 트리거 로직에서 동적으로 로드될 레코드를 위한 자리 표시자입니다.
예를 들어, 앱에서 “작업 지시서” 테이블의 레코드를 편집하려는 경우, “활성 작업 지시서”라는 레코드 자리 표시자를 사용할 수 있습니다.
나중에 운영자의 입력에 따라 레코드를 동적으로 불러오게 되지만, 이 레코드는 항상 “활성 작업 지시서”로 참조됩니다.

이러한 자리 표시자를 설정하려면 단계 목록(Steps List) 옆에 있는 ‘레코드(Records)’ 탭을 클릭하십시오.

그런 다음 “테이블 추가”를 선택합니다. 다음으로 “레코드 자리 표시자” 추가를 클릭합니다. 트리거를 통해 동적으로 로드할 레코드에 이름을 지정할 수 있습니다(예: “활성 작업 지시서”).

“분석을 위해 저장”이라는 설정이 있다는 점에 유의하십시오. 이 옵션을 선택하면 이 레코드 자리 표시자에 로드된 테이블 레코드가 앱의 완료 레코드에 저장됩니다.
2단계 - 트리거 편집기에서 레코드 액세스하기
레코드 플레이스홀더를 생성한 후에는 작업자의 입력을 기반으로 레코드를 동적으로 불러오거나 생성하는 로직을 작성할 수 있습니다.
이를 수행하려면 “테이블 레코드” 및 “데이터 조작” 트리거 액션을 사용할 수 있습니다. 방법은 다음과 같습니다.
"Then" 문 추가
다양한 유형의 트리거 액션을 사용하여 테이블 레코드를 읽거나 수정할 수 있습니다. 다음은 간단한 요약입니다.
테이블 레코드/레코드 불러오기: 특정 ID를 가진 기존 레코드를 불러옵니다.
테이블 레코드/레코드 생성: 특정 ID를 가진 새 레코드를 생성합니다.
테이블 레코드/레코드 생성 또는 불러오기: 특정 ID를 가진 레코드가 존재하지 않으면 생성합니다. 그렇지 않으면 특정 ID를 가진 레코드를 불러옵니다.
기존 레코드 불러오기
레코드를 읽거나 편집하려면 먼저 해당 레코드를 앱에 불러와 자리 표시자 이름을 지정해야 합니다. 이 작업은 주로 단계가 열리거나 버튼을 누를 때 트리거됩니다.
한 번에 하나의 레코드만 불러올 수 있으며, 레코드를 선택하려면 고유 ID(테이블의 첫 번째 필드, 텍스트 값)를 사용해야 합니다.
이를 수행하려면 “테이블 레코드”의 “레코드 불러오기” 문을 사용하십시오.
{height="" width="600px"}* "테이블 레코드"* “레코드 불러오기”* ID별: “text” - 0146* “active_wo” 자리 표시자로
이 예제에서는 작업 지시서 테이블에 ID가 "0146"인 레코드가 이미 존재합니다.

각 테이블의 “ID” 필드는 텍스트 필드이므로, 개별 레코드에 접근하려면 텍스트를 사용해야 합니다. ID를 선택하기 위해 다음과 같은 일반적인 옵션을 모두 사용할 수 있습니다:
- 테이블 레코드
- 표현식
- 정적 값
- 앱 정보
- 변수
다음은 변수가 사용된 예시입니다:

- "테이블 레코드"
- "레코드 불러오기"
- ID별: "변수"
- "text_wo_id"
- 대상: "활성 작업 지시서"
새 레코드 생성
테이블에 새 레코드를 생성하려면 “생성” 또는 “생성 또는 불러오기” 옵션을 사용해야 합니다.
"생성"을 사용하는 경우, 테이블에 아직 존재하지 않는 ID를 가진 새 레코드를 생성해야 합니다. 해당 레코드가 테이블에 이미 존재하는 경우, 앱에서 오류가 발생합니다.
"생성 또는 불러오기"를 사용하는 경우, 특정 ID를 가진 레코드가 이미 존재하면 해당 레코드가 불러오게 되고, 테이블에 해당 ID가 존재하지 않으면 새 레코드가 생성됩니다.
이 예제에서는 ID “123”을 사용하여 새 레코드를 생성합니다.

- "테이블 레코드" "레코드 생성"
- ID 기준: "고정 값" "text" "123"
- 대상: "활성 작업 지시서"
일반적으로 이 필드에는 변수와 같은 동적 값을 사용해야 합니다. 작업자가 앱을 사용할 때마다 새로운 값을 생성해야 하기 때문입니다.

3a단계 - 트리거 편집기에서 레코드 편집
레코드를 편집하려면 “데이터 조작” 액션을 사용한 다음, “저장”을 사용하여 레코드의 값을 편집하거나 업데이트합니다.
레코드를 편집하려면, "테이블 레코드" "로드" 또는 "테이블 레코드" "생성"을 통해 해당 레코드를 레코드 자리 표시자로 미리 불러와야 합니다.
다음은 “active_wo”로 로드된 레코드의 “status” 필드를 업데이트하는 예시입니다.

- “데이터 조작”
- “저장”
- “텍스트”: "통과됨"
- "테이블 레코드" “active_wo”
- 필드: “status”
일반적으로 위젯 트리거를 사용하여 이 작업을 수행합니다. 예를 들어, 운영자가 변경 사항을 알리기 위해 버튼을 누를 때와 같은 경우입니다.

테이블 레코드의 값을 증가시킬 수도 있습니다. 방법에 대해서는 재고 테이블 가이드를 참조하십시오.
3b단계 - 테이블 레코드에 조건부 논리 적용하기
특정 레코드의 필드 값에 따라 앱 로직을 변경하고 싶을 수도 있습니다.
이를 위해서는 레코드가 이미 로드되어 있는지 확인하십시오. 그런 다음 레코드에서 필드를 선택하고 다른 “if” 문에서 사용하는 것과 동일한 논리를 적용하십시오.
테이블 레코드: 로드된 테이블 레코드의 필드에서 특정 값을 확인합니다.
{height="" width=""}* “테이블 레코드” “active_wo” “status”* “포함”* "정적 값" "text" "통과"
테이블: 테이블에 특정 ID를 가진 레코드가 이미 존재하는지 확인합니다.

- "테이블" "workorders" "ID가 '"정적 값"'인 레코드 있음" "text" "001"
다음은 작업 지시서 번호를 다르게 입력하도록 운영자에게 안내하는 오류 메시지를 생성하는 방법입니다.

IF* "테이블" "workorders" "ID가"* "정적 값" "text" "024dfg45"인 레코드가 있는 경우
THEN* "오류 표시" "정적 값" "텍스트" "이 작업 지시서는 이미 존재합니다. 새로운 번호를 입력해 주세요".
4단계 - 단계에서 테이블 레코드 표시하기
이 레코드를 단계에 추가하려면 위젯 메뉴의 “텍스트” 버튼 아래에 있는 “테이블 레코드” 옵션을 선택하세요.

컨텍스트 창(Context Pane)의 위젯 탭(Widget Tab)에서 “레코드(Record)” 옆의 옵션에서 레코드 자리 표시자를 선택하면 플레이어에서 확인할 수 있습니다.

이는 예를 들어, 작업 지시서 세부 정보를 운영자에게 표시하는 데 일반적으로 사용됩니다.
표시된 개별 필드의 순서를 변경하거나 제거하려면 컨텍스트 창에서 해당 속성의 x 또는 격자 기호를 클릭하십시오.

열 수를 변경하려면 측면 창에서 ‘열’ 옵션을 사용하십시오.

레이블과 값의 표시를 변경하려면 사이드 패널에서 색상과 글꼴 크기를 조정하십시오.

이 데이터가 운영자에게 어떻게 표시될지 확인하려면 플레이어에서 앱을 실행하면 전체 테이블 레코드를 볼 수 있습니다. 먼저 레코드를 로드하면 값이 포함됩니다.
레코드 자리 표시자 지우기
때로는 특정 레코드 자리 표시자에 앱에 특정 레코드가 로드되지 않도록 레코드 자리 표시자를 지우고 싶을 수 있습니다.
그 방법은 다음과 같습니다:

- "테이블 레코드" "레코드 자리 표시자 지우기"
레코드 플레이스홀더 삭제
레코드 플레이스홀더를 삭제하려면 화면 왼쪽의 레코드 목록에서 해당 플레이스홀더를 선택하십시오. 아래 예시에서는 "Active Work Order"를 선택합니다.
그런 다음, 표시되는 메뉴에서 “삭제”를 선택합니다.

You must first remove the record placeholder from all triggers where it is referenced. You can use the "Steps where used" list to find the steps with the triggers that need to be modified.
사용자 및 해당 필드 표시
사용자 및 관련 필드에 대한 임베디드 테이블( Record Placeholder )을 생성한 다음, 해당 임베디드 테이블을 통해 특정 사용자를 불러올 수도 있습니다. 자세한 내용은 사용자 필드에 대한 별도 가이드를 참조하십시오.
추가 자료
- 첫 번째 테이블 만들기(실습): 테이블과 앱을 함께 사용하는 방법에 대한 전체 실습 가이드
- 앱에서 레코드 목록 표시: 대화형 테이블 위젯을 사용하여 여러 테이블 레코드를 한 번에 표시하기
원하는 정보를 찾으셨나요?
community.tulip.co를 방문하여 질문을 게시하거나 다른 사용자가 비슷한 질문을 올렸는지 확인해 보세요!

