Как уместить печатную форму 1С на одну страницу
Содержание
Чтобы печатать в 1С на одном листе, откройте предварительный просмотр, зайдите в параметры страницы и включите подгонку по ширине страницы. Если форма всё равно режется, уменьшите поля, переключите ориентацию на альбомную и проверьте область печати. Эти четыре действия решают большинство случаев.
Остальное — вопрос причины. Форма может быть шире листа, может нести лишние столбцы, а может просто иметь «хвост» из пустых строк, который уезжает на вторую страницу. Ниже — как отличить одно от другого и что менять: в диалоге печати, в макете или в коде.
Почему печатная форма не помещается на лист
Сначала выясните, что именно не влезает. От этого зависит, где чинить.
| Что вы видите | Вероятная причина | Где править |
|---|---|---|
| Правый столбец уходит на отдельную страницу | Ширина формы больше ширины листа | Масштаб, поля, ориентация |
| Последняя страница почти пустая | Хвост из пустых строк или области с белым текстом | Область печати, макет |
| Таблица разрывается посреди строки | Высокие строки с переносом текста | Высота строк, ширина колонок |
| Форма влезает на экране, но не в печати | Принтер задаёт свои поля и размер бумаги | Параметры страницы, настройки принтера |
Быстрая проверка: в предварительном просмотре прокрутите до последней страницы. Если на ней один-два столбца, проблема в ширине. Если пустая полоса или одна строка, ищите лишние строки внизу.
Предварительный просмотр показывает разбивку так, как её увидит принтер выбранного формата. Менять принтер по умолчанию уже после настройки — значит получить другую разбивку.
Параметры страницы: поля, ориентация, масштаб
Главный инструмент — окно параметров страницы в предварительном просмотре. Откройте любую печатную форму кнопкой «Печать», а затем найдите в командах окна просмотра пункт настройки параметров страницы. В окне обычно есть:
- 📄 формат бумаги (для большинства документов — A4);
- 🔄 ориентация: книжная или альбомная;
- 📏 поля слева, справа, сверху и снизу в миллиметрах;
- 🔍 масштаб: фиксированный процент или автоматическая подгонка.
Порядок действий:
- Если форма широкая (много столбцов), поставьте альбомную ориентацию. Это даёт на листе около 277 мм по ширине вместо 190 мм при книжной с полями по 10 мм.
- Уменьшите левое и правое поля. Для рабочих документов хватает 5–10 мм. Не обнуляйте поля полностью: многие принтеры не печатают в крайних 3–5 мм, и край таблицы обрежется.
- Включите автоматическую подгонку по ширине страницы, если она есть в окне. Если подгонки нет, задайте масштаб вручную: начните с 90 % и уменьшайте шагами по 5 %.
- Нажмите обновление просмотра и убедитесь, что страница одна.
Как прикинуть масштаб без перебора: разделите доступную ширину листа на ширину формы. Форма шириной 240 мм на листе с рабочей зоной 190 мм даёт 190 / 240 ≈ 0,79, то есть масштаб около 79 %. Округлите вниз, до 78 %, чтобы остался запас.
Масштаб ниже 60–65 % делает текст нечитаемым. Если подгонка уходит так далеко, значит, форма слишком широка и её надо перекраивать в макете, а не сжимать.
Параметры страницы, заданные в окне просмотра, часто относятся только к текущему сеансу. Если после закрытия формы настройки пропадают, их нужно фиксировать в макете или в коде.
Предварительный просмотр как рабочий инструмент
Просмотр нужен не для того, чтобы «глянуть перед печатью», а чтобы подобрать параметры. Работайте в нём так:
- включите режим показа границ страниц, если он есть, и смотрите, где проходит линия разрыва;
- меняйте один параметр за раз: поле, потом масштаб, потом ориентацию. Иначе не поймёте, что сработало;
- проверяйте последнюю страницу, а не первую: хвосты видны только там;
- для многостраничных документов просмотрите страницу из середины, чтобы увидеть повтор шапки таблицы.
Если печатаете отчёт, а не документ, учтите: отчёт формируется на экране и печатается из того же табличного документа. Поэтому широкий отчёт с десятком колонок надо сначала сузить настройками самого отчёта, а потом уже подгонять страницу. Скройте ненужные колонки и группировки в настройках отчёта, и форма часто помещается без всякого масштаба.
Область печати и пустые хвосты
Частая причина «лишнего» листа — область печати. Если она не задана, 1С печатает всё, где есть данные или оформление. Ячейка с границей или заливкой в строке 200 заставит программу напечатать 199 пустых строк.
Как проверить и убрать хвост:
- В режиме просмотра перейдите на последнюю страницу и посмотрите, что на ней есть.
- Закройте просмотр, вернитесь в форму и выделите всё содержимое, которое должно печататься.
- Задайте это выделение областью печати. Команда обычно находится в меню «Таблица» в подменю печати, но в разных формах названия пунктов могут отличаться.
- Удалите лишние строки под таблицей и снимите оформление с пустых ячеек, если оно там осталось.
Для готовой формы документа так править нельзя: она формируется из макета заново при каждом открытии. Правка нужна в макете, а не в результате.
Макет печатной формы: ширина колонок и высота строк
Если форма принадлежит типовой конфигурации, менять её в самой конфигурации не стоит: при обновлении изменения потеряются или создадут конфликт. Рабочие варианты — копия макета в расширении конфигурации или внешняя печатная форма. Обе схемы подключают свою форму вместо типовой, не трогая основную.
В макете проверяют три вещи:
- Суммарную ширину колонок. Сложите ширины всех столбцов, чтобы вписаться в рабочую зону листа. Для A4 в книжной ориентации это около 190 мм при полях по 10 мм.
- Перенос текста. Если у ячейки включён перенос по словам, а колонка узкая, строка вырастет в высоту, и таблица расползётся по страницам. Либо расширьте колонку, либо уменьшите шрифт на 1–2 пункта.
- Объединённые ячейки. Они мешают подбору ширины: изменение одной колонки ломает целую группу. Если можно обойтись без объединения, обойдитесь.
Для шапки таблицы, которая повторяется на каждой странице, существует отдельная настройка повторяющихся строк при печати. Она нужна уже для многостраничных форм, но её же стоит проверить, если шапка «съела» полстраницы и вытолкнула данные вниз.
Если форма почти помещается, быстрее уменьшить шрифт с 10 до 9 пунктов, чем перерисовывать макет. Ниже 8 пунктов не уходите: на бумаге это уже трудно читать.
Отчёты на СКД: как не дать им разъехаться
Отчёты на схеме компоновки данных строят табличный документ автоматически, поэтому ширину колонок вы не рисуете. Но влиять на вид можно:
- в настройках отчёта отключайте выводимые поля, которые вам не нужны в печати;
- уменьшайте число группировок: каждый уровень добавляет отступы и сдвигает таблицу вправо;
- используйте вариант отчёта с меньшим числом колонок и сохраняйте его под отдельным именем;
- в параметрах вывода проверьте, что у отчёта не включён вывод лишних служебных блоков.
Разработчик может закрепить параметры страницы за схемой: либо в макете оформления, либо кодом при выводе результата. Но для обычного пользователя достаточно сузить отчёт и подобрать масштаб в окне просмотра.
Особый случай — отчёт с динамическим числом колонок, например по периодам. Выбрали 12 месяцев — не влезло, выбрали квартальную разбивку — поместилось. Не боритесь с масштабом, меняйте детализацию.
Настройки принтера и драйвер
Иногда параметры страницы в 1С выставлены верно, а результат всё равно неверный. Тогда причина на стороне принтера.
Что проверить:
- 🖨 Формат бумаги в драйвере. Если в 1С выбран A4, а драйвер ждёт Letter, принтер подгонит лист по-своему, и поля поедут.
- 🖨 Режим «по размеру страницы» в драйвере. Он может накладываться на масштаб 1С и сжимать форму второй раз. Отключите подгонку в одном из двух мест, лучше в драйвере.
- 🖨 Экономный режим и «несколько страниц на листе». Если он включён по умолчанию, документ окажется уменьшенным в два раза.
- 🖨 Другой принтер по умолчанию на рабочем месте. На терминальном сервере у каждого сеанса свой набор принтеров, и перенаправленный принтер ведёт себя иначе, чем локальный.
Самый быстрый тест: отправьте ту же форму на печать в PDF. Если в PDF всё помещается, а на бумаге нет, виноват драйвер или бумага, а не макет.
Печать из списка и пакетная печать
Когда выделяете в списке несколько документов и жмёте «Печать», 1С собирает их в один табличный документ с разрывами между экземплярами. Пользователи часто хотят, чтобы каждый экземпляр занимал ровно один лист.
Тогда проверьте:
- Влезает ли один экземпляр на страницу. Откройте просмотр по одному документу. Если он занимает 1,2 страницы, при пакетной печати каждый превратится в две страницы, из которых вторая почти пустая.
- Разрыв между экземплярами. Типовые формы обычно ставят разрыв сами. В собственных формах, которые собирает код, его добавляют явно: вывод области макета и затем вставка разрыва страницы перед следующим документом.
- Число копий. Копии задаёт диалог печати, а не макет. Не размножайте экземпляры вручную в форме.
Если вы печатаете пятьдесят накладных и у каждой «висит» одна строка на второй странице, дело почти всегда в высоте шапки или подвала. Уберите лишнюю пустую строку между блоками, и экземпляр сократится ровно на то, чего не хватало.
Печать в PDF и на нестандартную бумагу
Печать в PDF удобна для отправки контрагенту: страницы получаются такими же, как в просмотре. Для этого используют виртуальный принтер PDF в системе либо команду сохранения табличного документа в файл. Параметры страницы при этом сохраняются: альбомная форма останется альбомной.
Нестандартные форматы требуют аккуратности:
- A5 и «половинка A4» подходят для талонов, квитанций и этикеток. Задайте формат в параметрах страницы и убедитесь, что драйвер принтера поддерживает его.
- Для рулонного термопринтера чековой ширины масштабирование по ширине обязательно: формы обычных документов под него не рассчитаны, и подгонка даёт нечитаемый мелкий шрифт. Здесь нужна отдельная узкая форма.
- Для листов A3 проверьте, что принтер действительно умеет A3. Иначе 1С отдаст драйверу формат, который тот заменит на ближайший.
Программная настройка печати
Если форму формирует код, параметры страницы задают свойствами табличного документа до вывода на экран или принтер. Пример для формы, которая должна всегда печататься на одном листе по ширине в альбомной ориентации:
ТабДок = Новый ТабличныйДокумент;
// ... формирование содержимого ...
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ПолеСлева = 8;
ТабДок.ПолеСправа = 8;
ТабДок.ПолеСверху = 10;
ТабДок.ПолеСнизу = 10;
ТабДок.Показать("Печатная форма");
Здесь АвтоМасштаб включает подгонку, а поля заданы в миллиметрах. Если нужен жёсткий процент, вместо автоподгонки задают свойство масштаба печати числом. Перед использованием проверьте имена свойств в синтакс-помощнике вашей версии платформы: точное написание зависит от версии и режима синтаксиса.
В типовых конфигурациях печатные формы собираются через общий механизм подсистемы печати. Править его не нужно: достаточно в вашем обработчике команды печати задать свойства табличного документа перед тем, как отдать его механизму.
Прежде чем править код в рабочей базе, проверьте изменения на копии. Ошибка в обработчике печати оставит всех пользователей без нужной формы.