fix: комментарий к отпуску не выводится в печатное заявление

Комментарий адресован согласующим, а не кадрам, поэтому в печати просмотра
он скрыт (rp-no-print); обёртка с display: contents сохраняет поле ячейкой сетки.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Тимур Городецкий
2026-10-29 08:52:27 +05:00
parent 7f641b36c6
commit 353a1aa543
3 changed files with 20 additions and 11 deletions
@@ -29,8 +29,8 @@
праздники и выходные. Колонка `EndDate` не используется: из провижининга, типа контента и представления она убрана (само системное поле SharePoint `FromBaseType` удалить нельзя). праздники и выходные. Колонка `EndDate` не используется: из провижининга, типа контента и представления она убрана (само системное поле SharePoint `FromBaseType` удалить нельзя).
- **Заголовок элемента** (`Title`): `Отпуск — {ФИО} — дд.мм.гггг`. - **Заголовок элемента** (`Title`): `Отпуск — {ФИО} — дд.мм.гггг`.
- **Комментарий** (с 10-28, `VacationComment`, Note) — необязательный, заполняет инициатор, - **Комментарий** (с 10-28, `VacationComment`, Note) — необязательный, заполняет инициатор,
последним полем секции; в просмотре пустой не показывается. В DOCX для ЭДО (`vacationDocument.ts`) не идёт; при печати последним полем секции; в просмотре пустой не показывается. В DOCX для ЭДО (`vacationDocument.ts`) не идёт; в печать
просмотра виден, как остальные поля секции. тоже не попадает (обёртка `rp-no-print` с `display: contents`, чтобы на экране поле оставалось ячейкой сетки).
## Подписание в ЭДО ## Подписание в ЭДО
> **Сейчас выключено** (`VACATION_EDO_SIGNING_ENABLED = false` в `shared/config.ts`): решение последнего > **Сейчас выключено** (`VACATION_EDO_SIGNING_ENABLED = false` в `shared/config.ts`): решение последнего
@@ -0,0 +1,5 @@
// Обёртка поля только ради класса rp-no-print: contents убирает её из раскладки,
// поэтому поле остаётся ячейкой FormGrid и сохраняет растяжку `full`.
.noPrintField {
display: contents;
}
@@ -3,6 +3,7 @@ import { FormGrid, FormField, TextInput, TextArea, PeopleField, OrganizationTabl
import { ProjectPicker } from '../../../shared/dictionary'; import { ProjectPicker } from '../../../shared/dictionary';
import { ISectionProps, EMPLOYEE_PLACEHOLDER, SUBSTITUTE_PLACEHOLDER, MIN_NOTICE_DAYS, MAX_DAYS } from '../model'; import { ISectionProps, EMPLOYEE_PLACEHOLDER, SUBSTITUTE_PLACEHOLDER, MIN_NOTICE_DAYS, MAX_DAYS } from '../model';
import { isoDatePlusDays } from '../../../shared/dateUtils'; import { isoDatePlusDays } from '../../../shared/dateUtils';
import styles from './RequestSection.module.scss';
/** Единственная секция формы «Заявка на отпуск»: сотрудник (должность и подразделение подтягиваются из справочника), даты. */ /** Единственная секция формы «Заявка на отпуск»: сотрудник (должность и подразделение подтягиваются из справочника), даты. */
export const RequestSection: React.FC<ISectionProps> = ({ data, set, context, onEmployeeChange, printOrgIndex }) => { export const RequestSection: React.FC<ISectionProps> = ({ data, set, context, onEmployeeChange, printOrgIndex }) => {
@@ -59,16 +60,19 @@ export const RequestSection: React.FC<ISectionProps> = ({ data, set, context, on
placeholder={SUBSTITUTE_PLACEHOLDER} placeholder={SUBSTITUTE_PLACEHOLDER}
/> />
</FormField> </FormField>
{/* Пустой комментарий в просмотре не показываем — пустое поле только мешает читать. */} {/* Пустой комментарий в просмотре не показываем — пустое поле только мешает читать.
В печатное заявление комментарий не входит — он для согласующих, не для кадров. */}
{(!readOnly || data.VacationComment.trim()) && ( {(!readOnly || data.VacationComment.trim()) && (
<FormField label="Комментарий" htmlFor="VacationComment" full> <div className={`${styles.noPrintField} rp-no-print`}>
<TextArea <FormField label="Комментарий" htmlFor="VacationComment" full>
id="VacationComment" <TextArea
value={data.VacationComment} id="VacationComment"
onChange={(v) => set('VacationComment', v)} value={data.VacationComment}
rows={3} onChange={(v) => set('VacationComment', v)}
/> rows={3}
</FormField> />
</FormField>
</div>
)} )}
</FormGrid> </FormGrid>
); );