From 520c7dc406f9bff355c796526e1b935f101a8498 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 1 Oct 2026 13:17:36 +0900 Subject: [PATCH] =?UTF-8?q?fix(m01-sl):=20=EA=B0=80=EC=A0=B8=EC=98=A8=20?= =?UTF-8?q?=ED=91=9C=20=EC=83=81=EC=9E=90=20=E3=80=8C=ED=91=9C=E3=80=8D=20?= =?UTF-8?q?=EB=B0=94=EA=B9=A5=20=EA=B0=92=20=EC=B6=9C=EB=A0=A5=20=EC=95=8C?= =?UTF-8?q?=EC=95=BD(E1)=20=E2=80=94=20Table=20=EC=83=81=EC=9E=90=EC=99=80?= =?UTF-8?q?=20=EA=B0=99=EC=9D=80=20=EA=BC=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt --- M01_MasterData/SheetLogic/M01_SL_Import.ts | 5 +++-- resources/tester/test_m01_sl_import.py | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/M01_MasterData/SheetLogic/M01_SL_Import.ts b/M01_MasterData/SheetLogic/M01_SL_Import.ts index f94905ddf..93db36b6c 100644 --- a/M01_MasterData/SheetLogic/M01_SL_Import.ts +++ b/M01_MasterData/SheetLogic/M01_SL_Import.ts @@ -384,7 +384,8 @@ function newTable(b: Build, n: Extract, sig: string): TableB const cols = tableCols(table); const rows = tableRows(table); b.row(node, t("Table"), { 값: n.head }, t("Outside")); - b.pill(node, "in", { name: t("Table"), cell: "E1", outside: true }); + // 바깥 값 「표」 알약 — Table 상자와 같은 꼴(출력 · 블록 왼위 · 머리 줄 포함) · Eval · 서버가 이 칸에서 블록을 채움 + b.pill(node, "out", { name: "표", cell: "E1", outside: true }); rows.forEach((r, i) => r.forEach((v, j) => { const c = cellOf(v); @@ -653,7 +654,7 @@ export function outsideOf(sl: SheetLogic, calc?: CalcValues): SlOutsideAt[] { const out: SlOutsideAt[] = []; for (const node of sl.nodes) { const passed: Record = {}; - const outside = node.pillsIn.filter((p) => p.outside); + const outside = [...node.pillsIn, ...node.pillsOut].filter((p) => p.outside); const sheet = sl.workbook.시트.find((s) => s.id === node.sheetId); for (const p of node.pillsIn) { const note = sheet?.칸[`C${p.cell.slice(1)}`]?.값; diff --git a/resources/tester/test_m01_sl_import.py b/resources/tester/test_m01_sl_import.py index 84a0d44c2..3187d11a3 100644 --- a/resources/tester/test_m01_sl_import.py +++ b/resources/tester/test_m01_sl_import.py @@ -214,6 +214,9 @@ def test_가져온_시트로직_값이_calc_와_같음(row: dict, given: dict, m sheets = {s["id"] for s in sl["workbook"]["시트"]} assert len(sheets) == len(sl["nodes"]) and all(n["sheetId"] in sheets for n in sl["nodes"]) ids = {n["id"]: n for n in sl["nodes"]} + for n in sl["nodes"]: # 표 상자 = 「표」 바깥 값 출력 알약(E1 · Table 상자와 같은 꼴) + if n["kind"] == "table": + assert {"name": "표", "cell": "E1", "outside": True} in n["pillsOut"] for e in sl["edges"]: assert any(p["name"] == e["from"]["pill"] for p in ids[e["from"]["node"]]["pillsOut"]) assert any(p["name"] == e["to"]["pill"] for p in ids[e["to"]["node"]]["pillsIn"])