wip(802-4b-1): 중지 — 빈 산근 = 엑셀 0 원 줄(전후 다름 6 블록 고침 · 시험 한 건)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -293,10 +293,25 @@ def derive(sk: dict, ctx: tuple | None = None, whole: Any = None) -> dict:
|
|||||||
_numbers(doc, keep)
|
_numbers(doc, keep)
|
||||||
head = {k: (meta.get("원본") or {}).get(k) for k in HEAD if (meta.get("원본") or {}).get(k)}
|
head = {k: (meta.get("원본") or {}).get(k) for k in HEAD if (meta.get("원본") or {}).get(k)}
|
||||||
marks = list((meta.get("원본") or {}).get("표지") or [])
|
marks = list((meta.get("원본") or {}).get("표지") or [])
|
||||||
|
if not (doc.get("금액") or doc.get("결과") or row["호표"] or row.get("덧줄")):
|
||||||
|
_empty(doc) # 빈 산근 = 엑셀 0 원(줄 없음 합) — 「—」 아님
|
||||||
|
marks.append(EMPTY)
|
||||||
doc["가져온"] = head | {"표지": marks} | ({"알림": notes} if notes else {})
|
doc["가져온"] = head | {"표지": marks} | ({"알림": notes} if notes else {})
|
||||||
return {**doc, "키": str(sk.get("키") or key), "이름": str(sk.get("이름") or doc.get("이름"))}
|
return {**doc, "키": str(sk.get("키") or key), "이름": str(sk.get("이름") or doc.get("이름"))}
|
||||||
|
|
||||||
|
|
||||||
|
EMPTY = "참고 · 빈 산근 — 엑셀 줄 없음 · 금액 0 그대로"
|
||||||
|
|
||||||
|
|
||||||
|
def _empty(doc: dict) -> None:
|
||||||
|
"""줄 없는 엑셀 산근 — 0 묶음 줄 하나(엑셀 금액 0 = 줄 없는 합 · 지은 값 아님)."""
|
||||||
|
doc["변수"].append(
|
||||||
|
{"열쇠": "P_빈", "기호": "P", "아래": "빈", "위": "", "이름": "빈 산근", "단위": "",
|
||||||
|
"연결": {"갈래": "숫자", "값": dict.fromkeys(imp.COSTS, Decimal(0))}}
|
||||||
|
) # fmt: skip
|
||||||
|
doc["금액"] = [{"이름": "빈 산근", "단위": "식", "비목": "묶음", "단가": "P_빈"}]
|
||||||
|
|
||||||
|
|
||||||
class _Row:
|
class _Row:
|
||||||
"""변환 색인 — 이 SK 줄만 고친 줄(소요량 중간 더함)로 · 그 밖 그대로."""
|
"""변환 색인 — 이 SK 줄만 고친 줄(소요량 중간 더함)로 · 그 밖 그대로."""
|
||||||
|
|
||||||
|
|||||||
@@ -296,3 +296,12 @@ def test_ts_view_mirror() -> None:
|
|||||||
assert ts_ == py
|
assert ts_ == py
|
||||||
assert _var(ts_[0], "보통인부")["연결"] == {"갈래": "숫자", "값": 100000.0}
|
assert _var(ts_[0], "보통인부")["연결"] == {"갈래": "숫자", "값": 100000.0}
|
||||||
assert ts_[0]["변수"][-1]["연결"]["갈래"] == "단가산출" # 형제 SK = 늘 연결
|
assert ts_[0]["변수"][-1]["연결"]["갈래"] == "단가산출" # 형제 SK = 늘 연결
|
||||||
|
|
||||||
|
|
||||||
|
def test_empty_block_is_excel_zero_not_dash() -> None:
|
||||||
|
"""줄 없는 엑셀 산근 = 0 원(옛 엔진 · 엑셀과 같음) · 표지 · 우리 단가로도 0."""
|
||||||
|
doc = _doc([])
|
||||||
|
root = dim.derive(doc)
|
||||||
|
assert dim.EMPTY in root["가져온"]["표지"]
|
||||||
|
assert dim.run(root, doc)["계"] == 0 == dim.run(root, _ours(doc))["계"]
|
||||||
|
assert imp.check(doc)["셈"]["계"] == 0
|
||||||
|
|||||||
Reference in New Issue
Block a user