Документы и Печать · 13 мин
Автомасштаб в 1С: как работает и как настроить
Разбираем, как работает автомасштаб в 1С при печати табличных документов: режимы масштабирования, настройка в конфигураторе, типовые проблемы и способы их решения.
Автомасштаб в 1С — это механизм, который автоматически подбирает масштаб печатной формы так, чтобы табличный документ целиком уместился на странице заданного размера. Чаще всего с ним сталкиваются при печати накладных, счетов, актов и отчётов: документ «не влезает» по ширине, обрезается справа или печатается мелким шрифтом. За это поведение отвечает свойство табличного документа, которое можно задать как в конфигураторе, так и программно.
Проблема в том, что автомасштаб работает не всегда так, как ожидает пользователь. Платформа уменьшает масштаб, пока документ не поместится по ширине страницы, но не увеличивает его сверх 100%, не учитывает «желаемый» размер шрифта и может конфликтовать с ручными настройками полей и ориентации. Понимание логики механизма позволяет настроить печать один раз и не возвращаться к ручной подгонке перед каждым выводом на принтер.
Материал ориентирован на пользователей, внедренцев и разработчиков, которые работают с типовыми и самописными конфигурациями на управляемых и обычных формах. Рассмотрены свойства табличного документа, настройки в диалоге печати, программное управление масштабом и типовые ошибки.
Что такое автомасштаб и где он применяется
Табличный документ в 1С — это универсальный объект для печатных форм и отчётов. У него есть набор свойств, влияющих на вывод на печать: ориентация страницы, поля, размер бумаги, масштаб и флаг автомасштаба. Когда флаг включён, платформа перед выводом на печать рассчитывает, при каком масштабе документ поместится на странице по ширине, и применяет найденное значение.
Важно понимать ограничение: автомасштаб работает только в сторону уменьшения. Если документ уже помещается на страницу при масштабе 100%, платформа не станет растягивать его на весь лист. Если документ шире страницы, масштаб будет снижаться до тех пор, пока содержимое не уместится, — иногда до значений, при которых текст становится трудночитаемым.
Механизм применяется в трёх местах: в свойствах макета или табличного документа в конфигураторе, в диалоге печати тонкого и толстого клиента (флажок «Автомасштаб» или аналогичная настройка в зависимости от версии платформы) и в программном коде при формировании печатной формы. Приоритет обычно у последней установленной настройки: если код явно задаёт масштаб, он переопределяет флаг автомасштаба.
Как платформа рассчитывает масштаб
Логика расчёта проста: платформа берёт фактическую ширину табличного документа (суммарную ширину всех колонок с учётом объединённых ячеек) и сравнивает её с печатной областью страницы — шириной листа за вычетом левого и правого полей. Если документ шире, вычисляется коэффициент уменьшения, и печать выполняется с этим масштабом.
На результат влияют несколько параметров одновременно: размер и ориентация бумаги, значения полей, наличие колонтитулов, повторяющиеся строки и колонки заголовков. Изменение любого из них меняет итоговый масштаб. Например, переход с книжной на альбомную ориентацию часто позволяет напечатать широкий отчёт без уменьшения шрифта.
Отдельный нюанс — точность расчёта зависит от принтера и его драйвера. У разных принтеров непечатаемая область отличается, поэтому один и тот же документ с автомасштабом может выглядеть немного по-разному на разных устройствах. Если документ должен выглядеть идентично везде, автомасштаб лучше заменить фиксированным масштабом и проверенной версткой макета.
Проверить флаг автомасштаба в диалоге печати и свойство АвтоМасштаб в коде формирования
Сравнить ширину макета с печатной областью, рассмотреть альбомную ориентацию
Проверить, не меняется ли ширина колонок в зависимости от содержимого
Проверить поля страницы и задать фиксированный масштаб
Где включить автомасштаб: интерфейс и конфигуратор
В пользовательском режиме настройка доступна в диалоге печати табличного документа. Перед отправкой на принтер откройте предварительный просмотр и проверьте параметры страницы: там задаются ориентация, поля, масштаб и флаг автомасштаба. Если флаг установлен, ручное значение масштаба игнорируется — это частая причина недоумения, когда пользователь ставит 90%, а печатается 65%.
В конфигураторе свойство задаётся для табличного документа или макета: откройте макет, вызовите свойства табличного документа и найдите группу параметров печати. Установленное здесь значение становится настройкой по умолчанию для всех печатных форм, построенных на этом макете, если код не переопределяет её.
Для отчётов на СКД (системе компоновки данных) ситуация иная: результат выводится в табличный документ, и его свойства можно настроить программно в модуле объекта отчёта или в расширении. В типовых конфигурациях многие печатные формы уже имеют заданные параметры, и менять их лучше через расширение, а не правкой типового кода.
- 1Откройте макет печатной формы в конфигураторе
- 2Вызовите свойства табличного документа (правой кнопкой — Свойства)
- 3Найдите параметр АвтоМасштаб и установите нужное значение
- 4Проверьте ориентацию, поля и размер бумаги в тех же свойствах
- 5Сформируйте печатную форму в режиме предприятия и откройте предварительный просмотр
- 6Убедитесь, что документ помещается по ширине и текст читаем
Программное управление масштабом
Разработчик управляет масштабом через свойства объекта «ТабличныйДокумент». Основные свойства: АвтоМасштаб (булево), МасштабПечати (число в процентах), ОриентацияСтраницы, а также поля страницы. Типичный фрагмент кода выглядит так:
ТабДок = Новый ТабличныйДокумент;
// ... вывод областей макета ...
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Если нужен фиксированный масштаб, флаг автомасштаба следует снять, иначе заданное значение будет проигнорировано:
ТабДок.АвтоМасштаб = Ложь;
ТабДок.МасштабПечати = 85;
Практический приём для широких документов: оставить автомасштаб включённым, но ограничить минимальную читаемость за счёт грамотной верстки макета — уменьшить ширину служебных колонок, перенести реквизиты в шапку, использовать перенос текста в ячейках. Это надёжнее, чем жёстко зашитый масштаб, который «сломается» на документе с длинными наименованиями.
ТабДок.АвтоМасштаб = Ложь;
ТабДок.МасштабПечати = 85;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;Типовые проблемы и их решения
Самая распространённая жалоба — «печатается мелким шрифтом». Причина почти всегда в том, что макет шире печатной области, и автомасштаб уменьшает документ до нечитаемости. Решения в порядке предпочтительности: сократить ширину макета, перейти на альбомную ориентацию, уменьшить поля страницы, разбить документ на две страницы по горизонтали с повторением левых колонок.
Вторая проблема — автомасштаб «не срабатывает», документ обрезается. Проверьте, не задаёт ли код формирования печатной формы свойство МасштабПечати после включения автомасштаба, не переопределяются ли параметры в общем модуле печати. В типовых конфигурациях параметры страницы могут устанавливаться централизованно, и локальная правка макета не даст эффекта.
Третья ситуация — плавающий масштаб у одного и того же документа. Это нормальное поведение автомасштаба: ширина колонок с автошириной зависит от содержимого, поэтому накладная с короткими наименованиями печатается крупнее, чем с длинными. Если требуется стабильный вид, зафиксируйте ширину колонок в макете и используйте фиксированный масштаб.
Когда автомасштаб не подходит: альтернативы
Автомасштаб — не универсальное решение. Для документов со строгими требованиями к оформлению (регламентированные формы, бланки с фиксированным положением полей) масштабирование недопустимо: печатная форма должна совпадать с образцом. В таких случаях макет верстается точно под размер страницы, а автомасштаб отключается.
Для широких аналитических отчётов разумнее другие приёмы: вывод в несколько страниц по горизонтали с повторяющимися колонками (свойства для повторения строк и колонок при печати), разбиение отчёта на несколько табличных документов или выгрузка в Excel, где пользователь сам управляет печатью. Попытка «впихнуть» широкий отчёт на один лист через автомасштаб даёт нечитаемый результат.
Ещё один вариант — динамический выбор ориентации: программно анализировать ширину сформированного документа и переключаться между книжной и альбомной ориентацией до включения автомасштаба. Это снижает степень уменьшения и сохраняет читаемость.
Сравнение вариантов
Подходит для накладных и актов с умеренной шириной; ограничение — непредсказуемый итоговый масштаб и только уменьшение
Подходит для регламентированных форм; ограничение — при широком макете документ обрежется
Подходит для широких отчётов; ограничение — нестандартный вид для документов, привычных в книжной ориентации
Подходит для очень широких таблиц; ограничение — документ занимает несколько листов по ширине
Как проверить результат перед печатью
Единственный надёжный способ проверки — предварительный просмотр. Именно на этапе предпросмотра платформа выполняет расчёт автомасштаба, и вы видите тот же результат, который уйдёт на принтер. Оценка макета в конфигураторе или табличного документа на экране не показывает итоговый масштаб.
Проверяйте печатную форму на реальных данных с максимально длинными значениями: длинное наименование контрагента, многострочный адрес, большое количество строк в табличной части. Документ, красиво выглядящий на тестовом примере, может «съехать» на реальном.
Если печатная форма используется массово, полезно один раз распечатать её на целевом принтере и измерить поля линейкой: так выявляются расхождения между заданными полями и фактической непечатаемой областью устройства.
Как проверить результат
Документ целиком по ширине, текст читаем без лупы
Правая часть обрезана или шрифт мельче остальных документов
Поля соответствуют заданным, текст не упирается в край
Содержимое обрезано непечатаемой областью принтера
Масштаб и вид стабильны
Масштаб заметно меняется от документа к документу
Результат визуально совпадает
На другом устройстве документ обрезается или смещается
Если пользователи жалуются на мелкий шрифт при печати, сначала измерьте суммарную ширину колонок макета и сравните с печатной областью листа А4 — чаще всего макет просто на несколько сантиметров шире, и проблема решается версткой, а не настройками масштаба.
Частые вопросы
Почему автомасштаб не увеличивает документ на весь лист?
Таково штатное поведение механизма: автомасштаб только уменьшает масштаб, чтобы документ поместился по ширине, но никогда не устанавливает значение выше 100%. Если нужно растянуть мелкий документ на страницу, задайте МасштабПечати вручную при выключенном флаге автомасштаба.
Как задать автомасштаб для отчёта на СКД?
Результат СКД выводится в табличный документ, поэтому настройка делается программно: в модуле объекта отчёта или расширении после формирования установите ТабличныйДокумент.АвтоМасштаб = Истина. В пользовательских настройках самой СКД такого параметра нет.
Автомасштаб включён, но документ всё равно обрезается. Что проверить?
Проверьте, не задаётся ли в коде МасштабПечати после включения автомаштаба, не переопределяются ли параметры страницы в общем модуле печати, и не слишком ли малы поля — часть содержимого может попадать в непечатаемую область принтера.
Изменения в макете не повлияли на печатную форму. Почему?
В типовых конфигурациях печатные формы часто формируются программно с явной установкой параметров страницы, которые перекрывают свойства макета. Найдите в коде место формирования документа (обычно модуль менеджера объекта или общий модуль печати) и проверьте установку свойств табличного документа там.
Можно ли задать минимальный масштаб для автомасштаба?
Штатного свойства «минимальный масштаб» нет. Обходной путь — программно сформировать документ, оценить его ширину, рассчитать требуемый масштаб самостоятельно и, если он ниже допустимого, переключить ориентацию или разбить документ по горизонтали.
Что лучше для регламентированных форм: автомасштаб или фиксированный масштаб?
Фиксированный масштаб 100% с точной версткой макета под размер страницы. Автомасштаб изменяет размеры элементов, что недопустимо для форм, которые должны совпадать с утверждённым образцом.
Что важно запомнить
Автомасштаб в 1С только уменьшает масштаб печати, пока документ не уместится по ширине страницы, и не работает вместе с ручным МасштабПечати. Настраивается в свойствах макета, диалоге печати или программно. Мелкий шрифт — признак слишком широкого макета; решайте версткой и ориентацией. Изменения вносите через расширение и проверяйте в предварительном просмотре.