Appsheet(앱시트) 활용하기

앱시트로 팀관리 앱(프로그램, 명단, 안내, 출결 관리) 제작 일지3

소소한 사무직 2023. 11. 13. 17:01

앱시트 프로그램 제작 일지 메인 3 img
앱시트로 팀관리 앱 제작일지 3차 포스팅, 사용 액션에 대해 알아 보아요.

 

 

 

 

 

 

[목차]

1. 출석 체크 액션 (요구 기능)

2. Data: add a new row to another table using values from this row

 

 

 


 

 

 

 

앱시트로 앱을 제작하실 때 많이 사용하는 기능이 바로 액션 기능입니다.  그 가운데, 출석체크 기능을 위한 Data 액션에 대해 구체적인 적용 예시와 함께 사용법을 알아보아요.

 

 

 

지난번 포스팅에서 프로그램 및 출결 관리 앱 제작 시 고려했던 앱의 기능과 테이블 구성, 사용된 함수의 종류와 액션, Contains함수에 대해 알아보았습니다. 이 번 포스팅에서는 출석체크 기능을 위한 Data: add a new row to another table values from this row (현재 있는 행의 데이터를 기준으로 다른 테이블의 새로운 행 생성 기능)에 대해 알아보겠습니다.

 

 

 

 

 

 

1. 출석 체크 액션 (요구 기능)

 

 

출석 체크 액션에 어떤 기능을 넣을지에 대해 알아보겠습니다.

이 기능을 이해하기 위해서는 앱이 어떻게 작동되는지에 대해 먼저 알아야 합니다.

 

 

 

  • 프로그램 목록 화면입니다.

프로그램이 운영 날짜에 따라 Deck 형식으로 있습니다. 오른쪽 상단에는 참여 팀이 표시되도록 했습니다.

 

 

 

 

프로그램 목록 화면 이미지
프로그램 목록이 표시 됩니다.

 

 

 

 

 

  • 프로그램을 클릭했을 때 상세 뷰 화면입니다.

프로그램 정보에 대한 안내가 있으며 아래로 스크롤 시 해당 프로그램을 수강하는 수강자의 명단이 나옵니다. 

 

 

 

 

프로그램 상세뷰 이미지 2

 

 

 

 

 

프로그램 상세 뷰의 참여자 명단에서 바로 출석체크가 가능하도록 액션을 설정해 두었습니다.

 

 

 

  • 출석체크 기능은 다음과 같습니다.

출석 체크 클릭 시 [출결확인] 테이블의 다음 정보를 행으로 입력 (한 사람의 출결기록이 하나의 행으로 구성)

- 이름, 팀명, 날짜, 출석체크 누른 시간, 프로그램명, 이메일

 

>> [구현] 해당 기능을 위해 액션의 Data: add a new row to another table using values from this row를 사용

 

 

 

 

  • 출석체크의 조건은 다음과 같습니다.

① 프로그램의 운영날짜가 오늘날짜와 동일한 경우에만 출석체크 버튼 활성화

한 사람이 여러 개 프로그램 (운영날짜가 다름)에 참여할 경우 오늘 날짜에 해당하는 프로그램 참여 시, 다른 프로그램의 상세화면에도 해당 참여자가 표시되지만 출석체크 시 오늘 날짜의 프로그램 명으로 기록됨

② 아직 출결체크를 하지 않은 경우에만 출석체크 버튼 활성화

③ 출결버튼은 관리자, 혹은 운영자 로그인 시에만 버튼 활성화

 

 

>>[구현] 출석체크 액션 - Behavior-Only if this condition is true 조건을 다음과 같이 설정

and(contains(
    select(프로그램[참여 팀],[운영날짜]=today()),[_thisrow].[팀명]),[_thisrow].[출석체크]="FALSE",
    or(any(select(명단[팀명],[이메일]=useremail()))="관리자",
       any(select(명단[팀명],[이메일]=useremail()))="운영자"))

 

 

위의 코드를 자세히 살펴보면,

 

 select(프로그램[참여 팀],[운영날짜]=today()),[_thisrow].[팀명])

프로그램 운영날짜가 오늘 날짜와 동일한 프로그램의 참여팀에 참여자의 팀명이 포함되어 있을 경우

 

[_thisrow].[출석체크]="FALSE"

출석체크 기록이 있는지를 판단하는 가상칼럼을 만들고, [출결]테이블에 오늘 날짜의 출석 기록이 있을 경우 "TRUE"로 값 설정. 해당 값이 FALSE일 때만, (오늘의 출결 기록이 없을 때만) 출석 버튼 활성화

tip. 가상칼럼 작성 함수: contains(select(출결[이름],[날짜]=today()),[_thisrow].[이름])

 

 

 or(any(select(명단[팀명],[이메일]=useremail()))="관리자",
       any(select(명단[팀명],[이메일]=useremail()))="운영자"))

로그인되어 있는 이메일 주소를 명단 테이블에서 찾았을 때, 팀명이 "관리자"이거나 "운영자" 일 때

 

 

결과적으로 오늘 운영하는 프로그램 중에서 참여자의 출결기록이 없을 때 출석체크 버튼이 활성화되는데, 이때 로그인한 이메일 주소가 관리자 혹은 운영자일 때 버튼이 활성화됨.

 

 

 

 

 

2. Data: add a new row to another table using values from this row

 

 

 

해당 액션은 현재 선택된 행의 값을 다른 테이블의 새로운 행에 넣는 기능입니다.

위에서 출석체크 버튼을 통해 현재 선택된 [명단] 테이블의 정보를 기준으로 다른 테이블인 [출결] 테이블의 새로운 행을 추가합니다.

 

 

 

 

 

앱시트 출석체크 액션 이미지
출결 체크 액션 구성

 

 

 

 

 

 

  • Do this 에서 Data: add a now row to another table using values from this row 선택 후
  • Table to add to에서 어떤 테이블에 데이터를 추가할지 선택합니다.

출석체크의 경우 명단테이블의 정보를 기준으로 [출결] 테이블에 출결기록을 작성할 예정이라 [출결] 테이블을 선택해 주었습니다.

 

 

 

출결테이블의 구성은 다음과 같습니다.

 

 

 

 

 

 

앱시트 출결 테이블의 구성 이미지
출결 테이블 구성 화면

 

 

 

 

  • Set these columns

출결테이블에 있는 칼럼 값을 기준으로 데이터를 추가할 수 있습니다.

 

 

 

 

 

앱시트 Set these columns 이미지
데이터를 넣어줄 칼럼 선택

 

 

 

 

 

왼쪽은 [출결] 테이블의 칼럼이고, 오른쪽 값은 [명단] 테이블의 어떤 값을 넣어줄 것인지 작성하는 칸입니다.

tip. [칼럼명]만 작성하는 경우 현재 테이블 기준의 해당 칼럼 값이 입력되고, 다른 수식을 적어 주는 경우 해당 값이 입력됩니다.

 

 

 

이 가운데, [출결] 테이블의 "프로그램" 칼럼 값은 다음과 같이 작성합니다.

참여자가 속한 프로그램 중 오늘 날짜에 운영되는 프로그램명을 입력하기 위함입니다. 

 

 

 

앱시트 액션 이미지
테이블 값 중 프로그램명 값 설정

 

 

 

 

 

 

 

지금까지 출석체크를 위한 Data: add a new row to another table using values from this row 액션 설정에 관해 알아보았습니다. 

 

 

 

 

프로그램 및 참여자, 출결관리 앱 제작의 다른 포스팅을 보기 위해서는 아래의 링크를 확인해 주세요.

 

 

  • 앱 제작에 관한 기능 설명 및 테이블 구성
2023.11.07 - [Appsheet(앱시트) 활용하기] - 앱시트로 팀관리 앱 (프로그램, 명단, 안내, 출결 관리) 제작 일지 1

 

 

  • Contains함수 사용법에 대한 안네
2023.11.09 - [Appsheet(앱시트) 활용하기] - 앱시트로 팀관리 앱 (프로그램, 명단, 안내, 출결 관리) 제작 일지 2

 

 

 

 

 

 

.

반응형