Checking the books for repair orders and parts sales without a journal entry…
;
if (!d || !d.ok) return
Not in the books: {(d && d.msg) || "could not load the list."}
;
// RC24: an "other" posting a lane's catch-up command can post (svcm: payments after close / voids / refunds / body-shop closes / policy;
// RC26 inv: counts / PO receipts / core steps / bulk deliveries a station tried before RC26 — keyed by the record, posted once)
// carries cmd + postBody from the server and is listed with its own "Post it now"; the rest stay a note for Doc Entry.
const postable = (d.other || []).filter((o) => o && o.postable && o.cmd);
const items = [].concat((d.ros || []).map((r) => Object.assign({ key: "ro:" + r.roId }, r)), (d.parts || []).map((p) => Object.assign({ key: "pt:" + p.saleId }, p)),
postable.map((o) => Object.assign({ key: "ot:" + o.auditId, type: "other" }, o)));
const other = (d.other || []).filter((o) => !(o && o.postable && o.cmd));
const otherLine = other.length ?
Also refused since {fopsDay(d.since)}: {other.length} other posting{other.length === 1 ? "" : "s"} a station made itself ({Array.from(new Set(other.map((o) => o.journalId.split("-")[0]))).join(", ")}) that no catch-up command can read — post those by hand in Doc Entry if they belong on the books.
: null;
if (!items.length) return
✓ Not in the books: nothing — every repair order closed and every parts sale since {fopsDay(d.since)} has its journal entry.{otherLine}
Not in the books:{d.summary.line}.Since {fopsDay(d.since)} — these were closed or sold, but their journal entry was refused (a non-office login posted it under RC16–RC19).