Skip to content

HBHR101_새 시트 만들기 모달

(Hereby) HR 급여 관리 > 시트 워크스페이스 > 새 시트 만들기 모달

항목내용
HR 급여 관리 (HBHR)
대상 사용자조건1 [HR_ADMIN]
부모 화면[[HBHR100_시트 워크스페이스 (공통 Shell)]]
프로토타입TBU
관련 정책[[POL_급여정본경계]]
Statusreview
Owner카나

개요

워크스페이스 Shell([[HBHR100_시트 워크스페이스 (공통 Shell)]])의 상단 유틸 "+"(새 시트 만들기) 또는 빈 상태 진입 시 노출되는 새 시트 생성 모달을 정의한다. 4개 탭("✏️ 새 시트 만들기" / "📁 내 템플릿" / "⭐ 추천 템플릿" / "📥 업로드")으로 생성 모드를 분기하며, 공개/비공개 설정(기본 비공개)과 생성 액션(취소/만들기)을 포함한다. 기본 생성 규격은 1000행 × A~Z 26열이다.

"✏️ 새 시트 만들기"(scratch) 경로는 UP-009로 2단계로 확장된다 — 1단계에서 시트 이름 + "이 시트의 특징"(카테고리) 카드를 고르면 해당 특징의 컬럼 골격과 디폴트 수식이 제안되고, 2단계에서 추천 수식을 선택·참조 바인딩한 뒤 "만들기"로 생성하며(카테고리 미선택 시에는 기존처럼 "특징 없이 빈 시트로 만들기"로 빈 시트 생성), 생성된 시트는 설정 중(수명주기) 상태로 열린다([[HBHR100_시트 워크스페이스 (공통 Shell)]] 연동).

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-13카나PM버튼 행동 명세 보강
2026-07-21카나PMGC700 깊이 재작성
2026-07-21카나PM가독성 패스 + 액션 표기 (GUIDE §7·§8)
2026-07-21카나PM셀 스타일 확정판 적용 (콸 승인)
2026-08-11카나PM템플릿 실시간 검색·토요일 인센 템플릿 반영(8a76dce·3a08cfb)
2026-08-12카나PM카테고리 기반 생성 2단계(UP-009) 반영(9d7b44a)
2026-08-17카나PM라이브 실사 검증 반영(dev v0.1.0+)

Data I/O

Server → Client

변수엔티티.컬럼값 없을 때비고
$PayrollSheetTemplate (추정)Empty 상태 ("📁 내 템플릿" 탭)목록 필드 세부 TBU
$PayrollSheetTemplate.isRecommended (추정)hide"추천 템플릿 19" 카운트로 표기

Client → Server

액션전달 값tRPC procedure권한 토큰
시트 생성 ("만들기")name, folderId, isPublic, templatesdk.payrollSheet.create() (추정)payroll:write (추정)
내 템플릿 목록 조회-sdk.payrollSheet.myTemplates() (추정)payroll:read (추정)
추천 템플릿 목록 조회-sdk.payrollSheet.recommendedTemplates() (추정)payroll:read (추정)
파일 업로드 ("📥 업로드")fileTBUpayroll:write (추정)

procedure·엔티티 매핑은 라이브 확인 전 추정치이며, 확정 시 갱신한다.


화면 플로우


모달 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-• Shell 상단 우측 유틸 "+" 또는 빈 상태 진입 시 모달을 노출하는 조건. 조건1 [HR_ADMIN] 시 노출, 그 외 진입점 hide[[HBHR100_시트 워크스페이스 (공통 Shell)]]권한 세부 TBU
01초기 상태-• 모달 열림 직후 기본 상태를 정의
 - CASE01 [기본 탭]: "✏️ 새 시트 만들기" 활성
 - CASE02 [이름 미입력]: "만들기" disabled
 - CASE03 [공개 체크박스]: 기본 해제(비공개)
40, 51
10타이틀Text• 모달 상단 "새 시트 만들기" 타이틀
20생성 모드 탭Tab• 4탭("✏️ 새 시트 만들기" / "📁 내 템플릿" / "⭐ 추천 템플릿" / "📥 업로드")으로 생성 모드를 분기하는 탭
• 클릭 시: 해당 탭 하단 패널로 교체
21~24TBU: 에러·실패 동작
ㄴ 21✏️ 새 시트 만들기Tab 패널• 시트 이름 입력 후 생성하는 직접 생성 모드 — UP-009로 2단계 확장 (ㄴ26~28). 특징 미선택 시 기존처럼 빈 시트(기본 규격 1000행 × A~Z 26열, columnKey col_1~col_26)
• 클릭 시: 직접 생성 모드로 전환
30, 51, ㄴ261000행×26열 · 카테고리 생성(9d7b44a)
ㄴ 26시트 특징(카테고리) 선택Card 선택• 1단계 — 시트 이름 아래 특징 카드 선택 영역. 섹션 헤더 "이 시트의 특징 — 고르면 컬럼과 수식이 맞춰 제안돼요". 카드 4종 원문(카탈로그): ① 🕐 근무기록형 — "출퇴근 시각·횟수를 적으면 수당을 계산해요 (시간외·나이트·휴일)" / ② 📊 실적형 — "치료 건수·회차로 인센티브를 계산해요" / ③ 📋 명부형 — "대상자 명단에 금액을 직접 적어요 (기타수당·특별수당)" / ④ 📐 기준형 — "단가표·기준값을 관리해요 (호봉표·단가)". 선택 시 해당 특징의 컬럼 골격+디폴트 수식이 제안됨
• 카드 선택 시: "다음 — 수식 고르기" 버튼 활성 → 2단계(ㄴ27). 특징 미선택·이름 입력 시 "특징 없이 빈 시트로 만들기" 버튼(이름 미입력 시 disabled)
 - CASE01 [특징 미선택]: 기존 빈 시트 생성 경로 유지
sheet-category-catalog · ㄴ27신규(UP-009, 9d7b44a) · 카테고리는 sheet_view에 저장 · 8/17 라이브 실사: 카드 4종·섹션 헤더·버튼 원문 확정
ㄴ 27디폴트 수식 선택·참조 바인딩Step 패널• 2단계 — "{카테고리} — 추천 수식 고르기". 컬럼 골격 미리보기 + 추천 수식 체크 리스트. 헤더 "컬럼 미리보기 · {n}개 ✎ 더블클릭 = 컬럼 이름 바꾸기 — 연결된 수식 슬롯이 따라와요" / "추천 수식 · 기본 전부 체크 · 「참조 연결」로 슬롯 ↔ 컬럼 바인딩". 컬럼 칩에 "자동" 뱃지(사번·성명). 수식별 참조 슬롯 바인딩: 컬럼 슬롯=이름 자동 매칭(실패 시 슬롯 "[야간시간] ← ⚠ (연결 안 됨)" + "⚠ 연결 필요" 뱃지), 시스템 값 슬롯="[통상시급] ← 개인별 자동 (직원 연결값) 🔒", 수식 참조 슬롯=다른 칩 결과 인라인 치환(🔒). 푸터 "수식은 만들고 나서 설정에서 바꿀 수 있어요. · 연결 안 된 수식은 생성 시 제외돼요(설정에서 연결 가능)."
• "뒤로" 클릭 시: 1단계 복귀 / "만들기" 클릭 시: 생성(ㄴ28). 2단계 버튼 = [취소] [뒤로] [만들기]
ㄴ26, 51신규(UP-009) · 슬롯 kind 3종(column/formula/system) · 8/17 라이브 실사: 2단계 헤더·슬롯·푸터·버튼 원문 확정
ㄴ 28카테고리 생성 결과동작• 골격 컬럼+체크된 수식이 적용된 시트 생성, 설정 중(수명주기) 상태로 열림
 - CASE01 [미연결 수식 존재]: 해당 수식 제외 + 토스트 안내
 - CASE02 [생성 성공]: 성공 토스트
[[HBHR100_시트 워크스페이스 (공통 Shell)]] 수명주기신규(UP-009) · TBU: 생성 토스트 문구 원문 — 시트 생성 실행 필요로 8/17 실사 미검증
ㄴ 22📁 내 템플릿Tab 패널• 저장된 템플릿 목록을 노출하고 선택 시 해당 템플릿 기반 시트를 생성하는 모드
• 클릭 시: 저장 템플릿 목록 노출
 - Empty [저장 템플릿 없음]: 22-E Empty 상태 노출
$TBU: 목록 항목 구조·필드 세부 · Empty 문구 원문
ㄴ 23⭐ 추천 템플릿Tab 패널• 시스템 제공 템플릿 목록을 노출하고 선택 시 해당 템플릿 기반 시트를 생성하는 모드. 탭에 "추천 템플릿 19" 카운트 표기(제공 템플릿 수). 제공 템플릿에 "치료 토요일 인센티브(특별수당)" 포함(therapy Saturday incentive template for special allowance)
• 클릭 시: 시스템 제공 템플릿 목록 노출
 - CASE01 [카운트 0]: hide 여부 미확정
${recommended_templates}, 25카운트 19 · TBU: 개별 제공 템플릿 목록·필드 세부 · 카운트 0 시 hide 여부
ㄴ 25템플릿 실시간 검색Input Box• 템플릿 탭에서 키워드 입력 시 템플릿 목록을 라이브 필터링하는 검색 필드. placeholder "템플릿 검색"(aria "추천 템플릿 검색")
• 입력 시: 키워드로 템플릿 목록 실시간 필터 + 일치 키워드 하이라이트 표시
 - CASE01 [키워드 미입력]: 전체 템플릿 목록 노출
 - CASE02 [일치 없음]: 결과 없음 — "'{검색어}' 검색 결과가 없어요."
22, 23라이브 필터 + 키워드 하이라이트 · 8/17 라이브 실사: placeholder·결과 없음 문구 확정
ㄴ 24📥 업로드Tab 패널• 파일 업로드 후 시트를 생성하는 모드
• 클릭 시: 파일 업로드 → 시트 생성
[[HBHR102_파일 메뉴]]TBU: 파일 메뉴 "📤 업로드"와 동일 동선 여부·지원 포맷·포맷 미지원 시 에러
30시트 이름Input Box• 시트명을 입력받는 필드("✏️ 새 시트 만들기" 탭 필수). placeholder "예: Q4 NDT 야간수당 검토"
• 입력 시: 시트명 반영 → "만들기" enabled(51)
 - CASE01 [미입력]: "만들기" disabled(51)
518/17 라이브 실사: placeholder 원문 확정
40공개 설정Checkbox• 공개/비공개를 토글하는 체크박스 "공개 (체크 해제 시 비공개 — 본인만 열람)", 기본 unchecked(비공개)
• 클릭 시: 공개/비공개 토글
 - CASE01 [체크]: 공개 — 전체 열람
 - CASE02 [해제]: 비공개 — 본인만 열람
기본 비공개
50취소Button• 모달을 닫고 생성을 취소하는 버튼
• 클릭 시: 모달 닫기, 생성 취소
 - CASE01 [변경 없음]: 입력값 폐기, 즉시 닫힘
 - CASE02 [2단계 변경 있음]: 확인 다이얼로그 노출 "변경된 내용을 저장하지 않고 나가시겠어요?" / 버튼 [계속편집] [나가기]
[[HBHR100_시트 워크스페이스 (공통 Shell)]]8/17 라이브 실사: 변경 있는 상태 취소 시 확인 다이얼로그 노출 확정
51만들기Button• 시트를 생성하고 해당 시트로 이동하는 버튼(추정)
• 클릭 시: 시트 생성 후 해당 시트로 이동
 - CASE01 [이름 미입력]: disabled
 - CASE02 [이름 입력됨]: enabled
 - CASE03 [생성 실패]: 토스트/무반응 여부 미확정
30, [[HBHR100_시트 워크스페이스 (공통 Shell)]]disabled 규칙 · TBU: 생성 실패 처리

Open Question

  • 생성 모드 탭(20) 탭 전환 에러·실패 동작 = TBU
  • 추천 템플릿(23) 카운트 0일 때 hide 여부 = TBU
  • 내 템플릿(22) / 추천 템플릿(23) 목록 항목 구조·필드 세부 = TBU
  • 카테고리 생성 토스트 문구 원문(ㄴ28) = TBU (시트 생성 실행 필요로 8/17 실사 미검증)
  • 내 템플릿 Empty(22-E) 노출 문구 원문 = TBU
  • 업로드 탭(24)이 파일 메뉴 "📤 업로드"와 동일 동선인지 여부 및 지원 포맷 = TBU
  • 파일 업로드 procedure = TBU
  • "만들기"(51) 생성 실패 시 에러 처리 동작 = TBU