HBHR106_데이터 메뉴
(Hereby) HR 급여 관리 > [[HBHR100_시트 워크스페이스 (공통 Shell)]] > 시트 툴바 > 데이터 메뉴
| 앱 | HR 급여 관리 (HBHR) |
| 대상 사용자 | 조건1 [HR_ADMIN] / 조건2 [SUPER_ADMIN] |
| 프로토타입 | TBU |
| 관련 정책 | [[POL_급여정본경계]] |
| Status | review |
| Owner | 카나 (PM) |
개요
- 시트 툴바 "데이터 ▾" 메뉴 항목(정렬·필터·보호·새로고침·자동 행 생성·일괄 변경 6종 + 승인 워크플로 일괄 액션 2종)을 정의한다.
- "대기 행 모두 승인 {n}" 은 컨펌 없이 즉시 실행되고, "승인 행 모두 지급 처리 {n}" 은 클릭해도 무반응인 무음 실패가 관찰됐다(버그 후보 BL-001).
- Sheet(작업공간) 단계 동작으로 정본(commit) 경계를 넘지 않으나, 보호·일괄 변경은 확정 전 데이터 정합성에 직접 영향을 준다 ([[POL_급여정본경계]]).
문서 히스토리
| 날짜 | 작성자 | 팀 | 변경 내용 |
|---|---|---|---|
| 2026-07-06 | 카나 | PM | 최초 작성 |
| 2026-07-10 | 카나 | PM | 라이브 기능 검토 반영 |
| 2026-07-13 | 카나 | PM | 버튼 행동 명세 보강 |
| 2026-07-21 | 카나 | PM | GC700 깊이 재작성 |
| 2026-07-21 | 카나 | PM | 가독성 패스 + 액션 표기 (GUIDE §7·§8) |
Data I/O
Server → Client
| 변수 | 엔티티.컬럼 | 값 없을 때 | 비고 |
|---|---|---|---|
| $ | 시트 내 승인 대기 행 수 (추정) | 0 → "대기 행 모두 승인" 항목 hide | "대기 행 모두 승인 {n}" 배지 |
| $ | 시트 내 승인·미지급 행 수 (추정) | 0 → 지급 처리 배지 hide (추정) | "승인 행 모두 지급 처리 {n}" 배지 |
| $ | sheet_views.lockedAt (추정) | hide (보호 없음) | 🔒 보호 상태 표기 |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| ↕ 시트 정렬 | sortKey, direction | TBU | TBU |
| 🔽 필터 만들기 | columnKey, condition | TBU | TBU |
| 🔒 시트 및 범위 보호 | range, allowedUsers | sdk.payrollSheet.protectRange() (추정) | payroll:protect (추정) |
| 🔄 새로고침 (자동 채움) | scope | sdk.payrollSheet.recalculate() (추정) | payroll:write (추정) |
| 🔄 자동 행 생성 | source, period | TBU | TBU |
| ✏️ 일괄 변경 | targetRows, patch | TBU | payroll:write (추정) |
| 대기 행 모두 승인 | sheetId | sdk.payrollSheet.approveAllPending() (추정) | payroll:approve (추정) |
| 승인 행 모두 지급 처리 | sheetId | TBU (무음 실패, BL-001) | payroll:pay (추정) |
화면 플로우
데이터 메뉴 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | 시트 툴바 "데이터 ▾" 클릭 시 드롭다운 노출. 조건1 [HR_ADMIN] 이상 | [[HBHR100_시트 워크스페이스 (공통 Shell)]] | |
| 01 | 초기 상태 | - | 기본 6항목 순서 고정("↕ 시트 정렬" / "🔽 필터 만들기" / "🔒 시트 및 범위 보호" / "🔄 새로고침 (자동 채움)" / "🔄 자동 행 생성" / "✏️ 일괄 변경"). 승인 일괄 액션 2종은 대상 건수 있을 때만 하단 노출 | 순서 고정 | |
| 10 | ↕ 시트 정렬 | MenuItem | • 기준 컬럼·방향(오름/내림차순)으로 시트 행을 재정렬하는 기능. 표시 순서만 바뀌며 값은 불변 • 클릭 시: 정렬 기준 선택 UI 노출 → 기준 지정 시 즉시 재정렬. 기준 미지정이면 원본 순서 유지 | [[HBHR107_컬럼 헤더 컨트롤]] ⇅ | TBU: 다중 정렬·실패 피드백 |
| 20 | 🔽 필터 만들기 | MenuItem | • 컬럼 조건으로 표시 행을 거르는 기능. 원본 행 불변(표시 필터) • 클릭 시: 필터 생성 UI 노출 → 조건 지정 시 일치 행만 표시 - CASE01 [조건 불일치 0건]: 빈 그리드 - CASE02 [필터 미설정]: 전체 행 표시 | [[HBHR107_컬럼 헤더 컨트롤]] "필터 추가" | TBU: 조건·연산자 UI |
| 30 | 🔒 시트 및 범위 보호 | MenuItem | • 시트 전체 또는 특정 범위의 편집을 잠그는 기능. 전자서명 발송 시트(교부 입증층)의 🔒 잠금이 이것 — ★위험도=권한 • 클릭 시: 보호 설정 UI 노출 - CASE01 [보호 설정]: 지정 범위 편집 잠금 - CASE02 [보호 해제]: 편집 복원 | [[HBHR270_전자서명 발송·eCount 연동 시트 (2섹션)]] · sheet_views.lockedAt(추정) | TBU: 설정 필드·권한 요건·실패 피드백 |
| 40 | 🔄 새로고침 (자동 채움) | MenuItem | • 컬럼 ƒ 수식·Calculator를 재계산해 셀 값을 갱신하는 기능. 결과는 재계산 diff("변경 전/후 지급·공제·실수령·차액")로 이어짐 • 클릭 시: 즉시 재계산 실행 → 값 갱신(diff 발생). 바인딩 없는 컬럼은 대상 제외(추정) | [[HBHR107_컬럼 헤더 컨트롤]] ƒ · [[HBHR203_재계산 diff 뷰]] · HBMM Calculator | TBU: 재계산 범위·실패 피드백 |
| 50 | 🔄 자동 행 생성 | MenuItem | • 직원·데이터 기준으로 시트 행을 대량 생성하는 기능 • 클릭 시: 행 자동 생성 실행. 대상 소스 없으면 0건(추정) | [[HBHR202_직원 추가]] | TBU: 생성 기준·중복 규칙·실패 피드백 |
| 60 | ✏️ 일괄 변경 | MenuItem | • 다수 행/셀을 한 번에 수정하는 기능 — ★위험도=대량 mutation • 클릭 시: 일괄 수정 UI 노출 - CASE01 [실행]: 대상 셀 일괄 갱신 - CASE02 [취소]: 변경 없음 - CASE03 [대상 0건]: 변경 없음(추정) | [[HBHR103_편집 메뉴·단축키]] ⌘Z · [[HBHR203_재계산 diff 뷰]] | TBU: 되돌리기·영향 경고 노출 |
| 70 | 대기 행 모두 승인 | MenuItem | • 시트 내 승인 워크플로의 대기 행을 일괄 승인하는 기능. {n}=대상 건수 배지 • 클릭 시: 컨펌 없이 즉시 실행 → 대기 행 전량 승인 - STEP1 대기 행 승인 - STEP2 메뉴에서 본 항목 소멸(대기 0) - STEP3 "승인 행 모두 지급 처리 {n}" 배지 증가 (7/12 관찰: 3건 승인 시 2→5) | 80(지급 처리) · [[POL_급여정본경계]] | 즉시 실행(컨펌 없음) |
| 80 | 승인 행 모두 지급 처리 | MenuItem | • 승인 완료 행을 지급 상태로 넘기는 기능. {n}=대상 건수 배지 • 클릭 시: 🔴 무반응 — 카운트·상태 불변, 에러 피드백 없음 (무음 실패) - CASE01 [정상 기대]: 지급 상태 전이(미검증) - CASE02 [현재 관찰]: 아무 변화 없음 | [[POL_급여정본경계]] · payroll_records(추정) | 🔴 버그 후보 BL-001 (노션 등록) |
위험도 요약
| 항목 | 위험도 | 주된 위험 | 완화 |
|---|---|---|---|
| 🔒 시트 및 범위 보호 | ★ 권한 | 편집 잠금/해제로 타 사용자 작업 차단·해제. 잠금 시트(전자서명 발송) 오조작 | 허용 사용자/대상 범위 필드 명확화 (TBU) |
| ✏️ 일괄 변경 | ★ 대량 mutation | 다수 행/셀 동시 수정 → 광범위 오변경 위험 | 영향 범위 경고 · 되돌리기(⌘Z) (세부 UI TBU) |
| 대기 행 모두 승인 | ★ 즉시 실행 | 컨펌 없이 일괄 승인 → 오승인 되돌리기 어려움 | 컨펌 다이얼로그 도입 검토 (미구현) |
| 승인 행 모두 지급 처리 | ★ 무음 실패 | 무반응 → 사용자가 처리 성공으로 오인 위험 | 버그 후보 BL-001 — 노션 등록, 피드백/에러 처리 필요 |
| 🔄 새로고침 (자동 채움) | 주의 | 재계산으로 값 변동(diff 발생) | 재계산 diff 뷰에서 변경 전/후 확인 ([[HBHR203_재계산 diff 뷰]]) |
| 🔄 자동 행 생성 | 주의 | 기준 불명확 시 행 중복/과다 생성 | 생성 기준 확정 (TBU) |
권한·상태 분기 요약
| 시나리오 | 트리거 | 결과 | 비고 |
|---|---|---|---|
CASE01 [대기 승인 실행] | "대기 행 모두 승인 3" 클릭 | 즉시 실행 → 대기 0, 지급 처리 배지 2→5 | 컨펌 없음 |
CASE02 [지급 처리 실행] | "승인 행 모두 지급 처리" 클릭 | 카운트·상태 불변, 피드백 없음 | 무음 실패 (BL-001) |
조건1 [HR_ADMIN] | 데이터 메뉴 진입 | 6 기본 항목 노출 | 승인/보호 권한 세부 TBU |
Open Question
- 시트 정렬 다중 정렬 지원 여부 및 기준 선택 UI = TBU
- 필터 만들기 조건/연산자 세부 UI = TBU
- 시트 및 범위 보호 설정 필드(대상 범위 / 허용 사용자) 및 권한 요건 = TBU
- 새로고침(자동 채움) 재계산 범위(전체 vs 선택) 및 트리거 = TBU
- 자동 행 생성 기준(직원 전체 / 소스 시트 / period) 및 중복 처리 = TBU
- 일괄 변경 되돌리기 가능 여부 및 영향 범위 경고 UI = TBU
- "승인 행 모두 지급 처리 {n}" 무음 실패 — 버그 후보 (BL-001, 노션 등록). 실제 지급 상태 전이·정본(commit/Ledger) 반영 여부·권한 요건 = TBU