diff --git a/tools/est-test/PLAN.md b/tools/est-test/PLAN.md index e6a5ce208..c35853b6f 100644 --- a/tools/est-test/PLAN.md +++ b/tools/est-test/PLAN.md @@ -1,4 +1,7 @@ ## Codex · EST 독립 테스트 앱 (2026-11-04) +- [x] 일위·산근·기계 묶음 복사 시 기존 코드 충돌 방지 → 묶음·행 보존 시험. + - 자체 검증: Edge에서 세 자료의 중복 코드 회피와 복사된 묶음 자식 행의 부모 연결 확인. + - [x] 모든 수량산출서·직접 수식표의 내역 수량 일괄 합산 반영 → 동일 대상 합산·오류 시 전체 차단 시험. - 자체 검증: 동일 내역 합산·오류 시 전체 차단 포함 수량·문서 시험 18개 통과, Edge에서 일괄 반영·취소 확인. diff --git a/tools/est-test/native-actions.js b/tools/est-test/native-actions.js index adf5d305f..483f16711 100644 --- a/tools/est-test/native-actions.js +++ b/tools/est-test/native-actions.js @@ -194,7 +194,14 @@ const EstActions = (() => { ); } if (grouped && Number(r.Index) > 0 && r.Code) { - r.Code = `${r.Code}_${next}`; + const base = r.Code; + let suffix = next; + do { + r.Code = `${base}_${suffix++}`; + } while ( + rows.some((row) => row.Code === r.Code) || + copies.some((row) => row !== r && Number(row.Index) > 0 && row.Code === r.Code) + ); r.Index = ++nextIndex; groupCode = r.Code; }