fix(793-3b): 우리 기초로 바꾸기 — 옵션 = 블록 풀이 후보 바인딩 · 단위 성격 다르면 환산 계수 입력 필요 · 가져온 식 시트 M01 바뀜 표지 걷음

- to-base 몸 환산? · 환산 없이 단위 성격 다름 = 후 None · 필요 ["환산"](막지 않음 · 화면 붉은 칸)
- 화면 bind = 블록 풀이 그 기초 후보 바인딩(엑셀 값 · 기본) + 블록 검산 입력 필요 · 줄 검산(빈 입력값)은 옵션을 못 읽었음
- 가져온 식 SK = M01 짝 없음 — 시트 M01바뀜 · 짝잃음 안 띄움(저장 M01판이 바탕 줄과 달라 늘 떴음)
- 시험 test_793_3b 8

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-05 18:26:07 +09:00
co-authored by Claude Opus 5.5
parent ca72718e26
commit 5a6cccd997
9 changed files with 110 additions and 32 deletions
@@ -253,22 +253,10 @@ export function openHopyoCheck(opt: CheckOptions): { close: () => void } {
});
}
/** 기초 옵션 묶음 — 이 줄 검산(엑셀 값 · 입력 필요) */
const bindOf = (row: JudgeRow) => (code: string, given: Record<string, unknown>) =>
checkJudge(opt.file, opt.key, {
호표: no,
차례: row.차례,
고른: [bare({ 갈래: "기초", 키: code, 이름: code, 입력값: given, 출처: {}, 몫: null })],
}).then(
// prettier-ignore
(res) => ({ 입력값: res.고른[0]?.입력값 ?? given, 필요: res.고른[0]?.입력필요 ?? [] }),
);
/** [가져온 식으로 열기](793-3b) — 단산 블록 → 가져온 식 SK 모달 · [이 줄에 잇기] = 이 줄 고른 것 */
const imported = (row: JudgeRow): void =>
openImported({
...{ file: opt.file, key: opt.key, no: row.번!, target: opt.target, canWrite: opt.canWrite },
bind: bindOf(row),
onLink: (p) => kit.edit(row, [p]),
});