fst-print-layout
Настройка печатных бланков и Excel Otgruzka без обрезки строк и дыр в нумерации. Use when print preview, PDF, Excel export, A4, page-break, overflow hidden, «бланк», «форма», «переход страниц», список
SKILL.mddocs/agent-system/archive/skills/_agents-duplicate-fst-print-layout/SKILL.md
GitHubРаскладка бланков Otgruzka
Канон кода: React-лист + src/styles/print.css + fit после paint. Не Puppeteer.
Читать вместе с print-forms. Этот скил — про переходы страниц и Excel.
Инцидент (не повторять)
Печать списка сотрудников, 2026-08-14: на лист 1 с логотипом положили 22 строки.
overflow: hidden обрезал №18–22. Лист 2 начинался с №23. В превью — серая щель и дыра в номерах.
Правило: если в превью последний видимый № на листе N, а следующий лист начинается с N+k (k>1) — это баг, люди потеряны.
Печать (A4)
- Лист = точный A4 (
297×210альбом или210×297книжка), поля внутри padding,@page { margin: 0 }. - Первый лист с логотипом/титулом вмещает меньше строк, чем продолжение с одной строкой-кикером.
- После paint подогнать высоту строк:
rowH = min(max, available / count). НеMath.max(minRow, …), еслиminRow * countбольше available — тогда hidden режет хвост. overflow: hiddenна листе можно только если всеtbody trцеликом внутри бокса. Иначе уменьшить count, не прятать людей.- Нумерация сквозная: concat страниц = исходный список без пропусков.
- Длинный текст:
nowrap+ ellipsis, не рост строки на 2–3 линии (ломает вместимость). - Превью = печать (как журнал явки). Не обнулять padding в
@media print, если@page margin: 0. - Модалка печати —
ephemeral. Fit — послеrequestAnimationFrame×2, снова перед Ctrl+P / PDF.
Ориентир вместимости альбом + логотип FiberCell: 16 строк на первый лист, больше — только с короткой шапкой.
Excel
Как бланк, не голый aoa_to_sheet:
- шапка (орг, заголовок, дата, счётчик);
- колонка №;
autoFilterна строке заголовков;pageSetup: A4, landscape,fitToWidth: 1,fitToHeight: 0;printTitlesRow= строка фильтров;- те же колонки/люди, что на печати (без ЗП/банка в офисном списке).
Образец стиля: src/lib/export/payrollBankTransferExcel.ts. Офис: src/lib/office/staffListExcel.ts.
Чеклист перед сдачей
- В превью нет серой щели с «пропавшими» номерами между листами
- Последний № листа 1 + 1 = первый № листа 2
- Хвост не обрезан
overflow: hidden - Excel: стрелки фильтра, лист не уезжает за A4 по ширине
- i18n RU+KA