diff --git a/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts b/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts index 592167476..43a42169b 100644 --- a/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts +++ b/M01_MasterData/SheetLogic/M01_SL_Entry_Paper.ts @@ -103,6 +103,9 @@ export function outsidePlaces(M: Mods, sl: SheetLogic): SlOutsideAt[] { const at = new Map(); const put = (p: SlOutsideAt): void => { const k = `${p.sheet}!${p.cell.toUpperCase()}`; + // 아직 고르지 않은 상자(빈 번호)는 묻지 않음 + const it = p.item as { key?: string; table?: string; element?: string }; + if (!(it.key ?? it.table ?? it.element)) return; if (!at.has(k)) at.set(k, p); }; M.item.itemOutsides(sl).forEach(put); @@ -184,7 +187,11 @@ export function showPaper( outsideTimer = setTimeout(() => { const from = sl; void fillOutside(M, from).then(({ sl: next, errors }) => { - if (sl !== from) return; // 그 사이 또 바뀜 — 다음 그리기가 다시 받음 + if (sl !== from) { + // 그 사이 또 바뀜 — 지금 것으로 다시 받음(옛 답 · 옛 까닭은 버림) + outsideSig = ""; + return refreshOutside(); + } if (savedSl === from) savedSl = next; sl = next; outsideSig = sigOf(next);