- 인쇄
이 가이드에서는 표 기능을 사용하여 여러 앱에 걸쳐 데이터를 저장하는 방법을 알려드립니다.
이 문서에서는 다음 내용을 학습합니다:
- 일반적인 "작업 지시" 테이블을 만드는 방법
- 트리거 편집기를 통해 해당 테이블에서 레코드를 읽고, 만들고, 편집하는 방법
참고: 이 주제는 '데이터 및 표로 작업하기' 섹션에 소개되어 있습니다.
표를 사용하지 않으면 Tulip의 여러 일선 운영 앱에서 사용되는 데이터를 업데이트하기가 어려울 수 있습니다.
예를 들어, 작업 현장에서 실행 중인 여러 앱에서 BOM(자재 명세서) 또는 작업 지시서를 읽고 수정하고 싶을 수 있습니다.
SQL 데이터베이스를 만들고 커넥터 함수를 호출하여 테이블의 행을 업데이트할 수 있습니다. 또는 HTTP 커넥터를 사용하여 ERP에서 읽기/쓰기를 수행할 수도 있습니다.
하지만 이 경우 코드를 작성해야 합니다.
테이블 기능을 사용하면 Tulip 앱을 통해 읽고 편집할 수 있는 테이블을 만들 수 있습니다.
코드가 필요하지 않으며 일선 운영 앱에서 즉시 사용할 수 있습니다.
이 가이드에서는 작업 지시서를 저장하고 앱 내에서 이러한 작업 지시서를 사용할 수 있도록 하는 예제 테이블을 만들어 테이블의 기본 사항을 보여 드리겠습니다.
이 튜토리얼이 끝나면 '작업 지시서' 테이블은 다음과 같이 보일 것입니다:
8개의 열이 있을 것입니다:
- ID(텍스트)
- 제품(텍스트)
- 설명(텍스트)
- 색상(텍스트)
- 사이즈(숫자)
- 수량(숫자)
- 재질(텍스트)
- 결함(부울)
방법을 배웁니다:
- 이러한 레코드에서 읽고 앱에서 기존 값 사용하기
- 기존 레코드 편집
- 새 레코드 만들기
Tulip의 두 부분에서 테이블을 편집할 수 있습니다:
- 메뉴 표시줄의 '앱' 탭 아래의 '테이블' 옵션
- 앱 에디터의 트리거 편집기
새 테이블 만들기
"작업 지시서" 테이블을 만드는 방법은 다음과 같습니다. 앱 탭에서 "표" 옵션을 클릭합니다.
그런 다음 테이블 목록의 오른쪽 상단에 있는 테이블 만들기 버튼을 사용하여 새 테이블의 이름을 "작업 주문"으로 지정합니다.
그런 다음 목록에서 새 작업 지시서 테이블을 클릭하여 편집을 시작합니다.
처음에는 레코드가 0개이고 텍스트 필드인 ID 열이 하나만 있습니다. 이것은 테이블이 기존 데이터베이스의 테이블과 다른 점 중 하나인데, 테이블의 각 '레코드' 또는 행에는 고유 번호 값이 아닌 고유한 텍스트 값이 있어야 합니다.
필드를 몇 개 더 추가하고 싶을 것입니다. 테이블에 필드를 추가하려면 ID 옆에 있는 "+" 버튼을 클릭합니다. 필드 유형과 레이블을 선택해야 합니다.
테이블에 다음 필드를 추가합니다:
- ID(텍스트)
- 제품(텍스트)
- 설명(텍스트)
- 색상(텍스트)
- 사이즈(숫자)
- 수량(숫자)
- 재질(텍스트)
- 결함(부울)
테스트하려면 페이지 오른쪽 상단의 '레코드 만들기'를 클릭합니다.
테이블이 만족스럽다면 앱 편집기로 이동하여 특정 앱에 테이블을 연결합니다.
테이블을 앱에 연결하기
이제 앱이 테이블을 읽거나 업데이트할 수 있도록 로직을 만들어야 합니다.
이는 앱에서 테이블을 사용할 때 가장 중요한 부분입니다.
앱을 연 후 단계 탭 옆에 있는 레코드 탭을 클릭합니다.
그런 다음 "+ 레코드 추가"를 선택합니다.
이것이 레코드 플레이스홀더 생성기입니다. 테이블에서 로드할 레코드 유형에 이름을 지정하는 도구라고 생각하시면 됩니다.
이 경우 운영자가 앱을 사용할 때 특정 작업 주문을 동적으로 로드하고 싶을 것입니다.
따라서 레코드 자리 표시자의 이름을 "작업 주문 진행 중"으로 지정하고 "작업 주문" 테이블을 선택합니다.
즉, 특정 작업 주문을 동적으로 선택하는 로직을 작성한 다음 이를 "진행 중인 작업 주문"으로 참조한다는 의미입니다.
레코드 플레이스홀더의 작동 방식은 다음과 같습니다:
기존 레코드를 읽거나 편집하려면 해당 레코드를 앱에 로드하고 플레이스홀더 이름을 지정해야 합니다. 레코드 플레이스홀더를 사용하면 트리거 에디터에서 로직을 검토할 때 훨씬 더 쉽게 로직을 따라갈 수 있습니다.
위 이미지에서는 ID가 "val1"인 레코드를 로드하고 이름을 "작업 주문 진행 중"으로 지정합니다.
레코드 로드하기
레코드를 읽거나 편집하기 위해 레코드를 로드하려는 경우 다음과 같은 일이 발생합니다.
레코드 편집하기
레코드가 로드된 후 레코드를 편집하려면 지정된 자리 표시자 이름으로 저장된 레코드를 선택하기만 하면 됩니다.
새 레코드 만들기
테이블에 새 레코드를 만들려면 플레이스홀더 이름도 함께 로드해야 해당 테이블에 추가됩니다.
예제로 돌아가 보겠습니다. 먼저 "작업 주문 진행 중" 자리 표시자 이름을 가진 레코드를 동적으로 로드하려고 합니다.
먼저 운영자가 "작업 주문" 테이블에서 오는 특정 레코드를 볼 수 있도록 앱에 "작업 주문 진행 중" 플레이스홀더를 추가해야 합니다.
이렇게 하려면 위젯 메뉴의 텍스트 헤더 아래에서 "테이블 레코드" 옵션을 선택합니다.
그런 다음 컨텍스트 창의 위젯 탭에 있는 레코드 드롭다운에서 "작업 주문 진행 중"을 선택합니다. 모든 레이블과 값에 맞도록 텍스트 상자를 확장해야 할 수도 있습니다.
트리거 편집기에서 테이블 수정하기
먼저 앱에서 사용할 수 있도록 테이블에 레코드를 추가해야 합니다.
'작업 주문' 테이블로 돌아가서 자전거 프레임에 대한 레코드를 만듭니다.
ID가 "0146"인 레코드는 다음과 같은 모양이어야 합니다.
그런 다음 앱 편집기의 단계로 돌아가서 단계 트리거를 만듭니다.
나중에 업데이트할 수 있도록 먼저 올바른 레코드를 "작업 주문 진행 중"으로 로드합니다.
"스텝이 열릴 때"에 트리거가 실행되도록 설정합니다. 그런 다음 "Then" 문의 첫 번째 드롭다운에서 "테이블 레코드"를 선택하고 "레코드 로드"를 선택합니다.
그런 다음 "정적 값", "텍스트"를 선택하고 "진행 중인 작업 주문" 자리 표시자에 "0146"을 입력합니다. "저장"을 클릭합니다.
그런 다음 플레이어에서 이 앱을 실행하면 앱에서 ID가 "0146"인 레코드의 모든 데이터를 볼 수 있습니다. 트리거는 올바른 테이블에서 데이터를 가져옵니다.
플레이스홀더당 한 번에 하나의 레코드만 로드하고 편집할 수 있습니다. 그러나 여러 개의 플레이스홀더를 만든 다음 트리거에서 여러 개의 "then" 문을 통해 한 번에 여러 개의 레코드를 편집할 수 있습니다.
레코드 편집하기
이 예제에서는 제품이 변경되었으므로 이 자전거를 '녹색' 대신 '파란색'으로 업데이트해야 합니다. 방법은 다음과 같습니다.
'색상' 필드를 '파란색'에서 '녹색'으로 변경하여 이 레코드를 편집합니다. 이렇게 하려면 먼저 "색상 변경" 버튼을 추가하고 트리거를 첨부합니다.
"Then" 문의 첫 번째 드롭다운에서 "데이터 조작"을 선택한 다음 "저장" 및 "정적 값" "텍스트"를 "파란색"으로 선택합니다.
"테이블 레코드"의 위치를 선택한 다음 "진행 중인 작업"을 선택하면 일련의 옵션이 표시됩니다.
드롭다운의 옵션은 "작업 주문" 테이블의 모든 텍스트 필드입니다. 이미 가장 관련성이 높은 작업 주문을 불러왔으므로 "색상"을 선택한 다음 "저장"을 선택해 색상을 변경할 수 있습니다. 앱을 실행하고 버튼을 눌러 사용해 보세요.
버튼을 클릭하면 "진행 중인 작업 주문"의 "색상" 필드에 "파란색"이 저장되며, 이는 작업 주문 테이블의 올바른 레코드로 전달됩니다.
새 레코드 만들기
지정된 ID를 가진 레코드가 아직 존재하지 않는 것이 확실하고 이를 생성하려면 "Then" 문에서 "테이블 레코드" 옵션을 선택한 다음 "레코드 생성"을 선택합니다.
다음으로 고유 ID(이 경우 "0148")를 만들어야 합니다.
그런 다음 새 레코드를 로드할 플레이스홀더를 선택합니다. 그러면 플레이스홀더 이름을 사용하여 로드된 모든 레코드를 대체한 다음 ID와 다른 모든 필드에 빈 값만 있는 새 레코드를 적절한 테이블로 보냅니다.
레코드의 값을 수정하려면 위에서 설명한 '편집' 방법을 사용하여 값을 하나씩 변경합니다.
레코드를 사용한 조건문
"테이블 레코드"를 선택하고 레코드 자리 표시자를 선택한 다음 필드 중 하나를 선택하여 로직을 만듭니다. 조건을 사용하기 전에 레코드 자리 표시자를 사용하여 레코드를 로드했는지 확인하지 않으면 "테이블 레코드" 필드가 비어 있습니다.
더 읽어보기
원하는 것을 찾았나요?
community.tulip.co로 이동하여 질문을 게시하거나 다른 사람들이 비슷한 문제를 겪었는지 확인할 수도 있습니다!