Разработка и Конфигурация · 10 мин
Как задать размер макета в 1С
Как задать размер макета в 1С: настройка области табличного документа, параметров страницы, ширины колонок и высоты строк в конфигураторе и при печати.
Размер макета в 1С определяется на нескольких уровнях: размер области табличного документа в конфигураторе, ширина колонок и высота строк внутри макета, а также параметры страницы при выводе на печать. Путаница между этими уровнями — главная причина, почему печатная форма «не влезает» на лист или обрезается.
Макет в 1С — это объект конфигурации типа «Табличный документ», который хранится в ветке «Общие макеты» или привязан к конкретному объекту (документу, справочнику, отчёту). Его размер не задаётся одной кнопкой: он складывается из границ именованных областей, свойств ячеек и настроек страницы.
Ниже разобраны все способы управления размерами: от простого перетаскивания границ в редакторе до программного задания параметров страницы перед выводом на печать.
Где находится макет и как его открыть
Макеты хранятся в дереве конфигурации. Общие макеты, доступные всем объектам, расположены в ветке «Общие» → «Макеты». Макеты конкретного документа или справочника находятся внутри ветки этого объекта, в подпапке «Макеты». Открывается макет двойным щелчком — запускается редактор табличного документа.
Редактор внешне похож на электронную таблицу: сетка ячеек, адресация по строкам и колонкам, панель свойств. Именно здесь задаётся визуальный размер будущей печатной формы. Важно понимать, что сам по себе макет не имеет «размера листа» — он имеет размер заполненной области, а привязка к листу происходит на этапе печати.
Как задать размер области макета
Область — это прямоугольный диапазон ячеек, из которого строится печатная форма. Чтобы задать область, выделите нужные строки (клик по заголовкам строк слева) или диапазон ячеек мышью, затем вызовите пункт меню «Таблица» → «Имена» → «Назначить имя» (в новых версиях также доступно через контекстное меню). Введите имя области, например «Шапка» или «СтрокаТовары».
Размер области определяется границами выделения: сколько строк и колонок вы захватили, таков и размер. Если нужно расширить область, выделите новый диапазон и назначьте то же имя заново — старая привязка заменится. Проверить текущие области можно через «Таблица» → «Имена» → список областей, там же их можно удалить или переопределить.
Горизонтальные и вертикальные области
Для печатных форм с табличной частью используют комбинацию: горизонтальная область «Строка» (одна или несколько строк на всю ширину) и вертикальная область для колонок с повторяющимися данными. При выводе методом Присоединить() вертикальные области стыкуются справа, методом Вывести() — горизонтальные добавляются вниз. Размер каждой области влияет на итоговую ширину и высоту документа.
- 1Откройте макет в конфигураторе (Общие → Макеты или макет объекта)
- 2Выделите строки или диапазон ячеек будущей области
- 3Через Таблица → Имена → Назначить имя задайте имя области
- 4Настройте ширину колонок и высоту строк внутри области
- 5Сохраните конфигурацию и сформируйте печатную форму для проверки
Настройка ширины колонок и высоты строк
Ширина колонки задаётся в свойствах. Выделите колонку, откройте палитру свойств (правый клик → «Свойства») и найдите параметр «Ширина» — значение указывается в условных единицах табличного документа. Тот же параметр доступен через «Таблица» → «Вид отображения» при работе с ячейками. Быстрый способ — перетащить границу между заголовками колонок мышью.
Высота строки настраивается аналогично через свойство «Высота» либо перетаскиванием границы строки. Для строк с переменным объёмом текста (длинные наименования, адреса) полезно оставить автоподбор: установите в свойствах ячейки «Размещение текста» = «Переносить», тогда при выводе строка подстроится под содержимое. Жёстко заданная высота обрежет длинный текст.
Типичная задача — сделать колонки печатной формы пропорциональными листу A4. Практический приём: сначала задайте суммарную ширину всех колонок, ориентируясь на предпросмотр, затем включите масштабирование при печати (об этом ниже), чтобы форма гарантированно помещалась на страницу независимо от принтера пользователя.
Параметры страницы: размер листа, поля и ориентация
Размер печатного листа задаётся не в макете, а в свойствах результирующего табличного документа. В конфигураторе это делается через «Таблица» → «Параметры страницы» при открытом макете (настройки сохранятся в макете), либо программно перед выводом на печать. Доступны: размер бумаги (A4, A5 и другие), ориентация (книжная/альбомная), поля, масштаб и режим «Автомасштаб».
Программно параметры задаются свойствами объекта ТабличныйДокумент перед вызовом Напечатать() или Показать():
ТабДок = Новый ТабличныйДокумент;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.ПолеСлева = 10;
ТабДок.ПолеСправа = 10;
ТабДок.ПолеСверху = 15;
ТабДок.ПолеСнизу = 15;
ТабДок.АвтоМасштаб = Истина;Автомасштаб — самый надёжный способ уместить форму на лист: платформа сама уменьшит масштаб так, чтобы ширина документа совпала с шириной печатной области. Альтернатива — свойство «МасштабПечати» с фиксированным процентом, но оно требует ручного подбора под каждую форму.
Повторение шапки на каждой странице
Если табличная часть занимает несколько страниц, задайте сквозные строки и колонки: свойства «ПовторятьПриПечатиСтроки» и «ПовторятьПриПечатиКолонки» табличного документа, либо соответствующие настройки в параметрах страницы. Тогда шапка таблицы будет выводиться на каждом листе без дублирования областей в макете.
Программное управление размерами при выводе
Размеры можно менять из кода непосредственно при формировании документа. Метод Область() возвращает диапазон, у которого доступны свойства ВысотаСтроки, ШиринаКолонки и другие. Это удобно, когда размер зависит от данных: например, колонка «Примечание» расширяется, если в документе есть длинные комментарии.
Для контроля разбиения на страницы используйте метод ПроверитьВывод() — он сообщает, поместится ли массив областей на текущей странице. Если нет, выводите горизонтальный разделитель страниц (ВывестиГоризонтальныйРазделительСтраниц()) и продолжайте на новом листе. Это стандартный приём для печатных форм со строками переменной высоты.
Перед ручной подгонкой ширины колонок включите АвтоМасштаб и посмотрите результат в предпросмотре. Часто форма, которая «не влезает» на 2–3 миллиметра, идеально печатается с автомасштабом без какой-либо переделки макета.
Проверка результата и типичные проблемы
Единственная достоверная проверка — предварительный просмотр печатной формы в режиме предприятия на реальных данных. Сетка редактора макета не показывает, как документ ляжет на лист: переносы текста, шрифты и поля принтера меняют картину.
Как проверить результат
Все колонки видны, нет пустого листа справа
Появляется вторая страница с обрывком колонок
Текст переносится, строка увеличивается по высоте
Текст обрезан или вылезает за границы
Шапка повторяется на каждом листе
На втором листе строки без заголовков
Если справа появляется пустая страница — в макете есть лишняя колонка за пределами рабочей области или задана слишком большая суммарная ширина. Если форма печатается мелко — проверьте, не включён ли масштаб в диалоге печати самого пользователя: настройки принтера переопределяют параметры документа.
Ограничения и безопасная работа с типовыми макетами
В типовых конфигурациях правка макета внутри конфигурации снимает объект с полной поддержки и усложняет обновления. Безопасные альтернативы: внешние печатные формы (подключаются через «Администрирование» → «Печатные формы, отчеты и обработки»), расширения конфигурации или пользовательские макеты, если механизм поддерживается конкретной формой.
Перед любыми правками в конфигураторе сделайте копию информационной базы или выгрузку конфигурации. Ошибка в макете не портит данные, но ошибка при обновлении конфигурации после неаккуратных правок может привести к потере изменений и простою в работе пользователей.
Что важно запомнить
Размер макета складывается из границ именованных областей, ширины колонок и высоты строк, а размер листа задаётся параметрами страницы табличного документа. Проверяйте результат только через предпросмотр печати, используйте АвтоМасштаб и не правьте типовые макеты напрямую.
Частые вопросы
Как сделать макет ровно на один лист A4?
Задайте размер бумаги A4 в параметрах страницы, включите АвтоМасштаб и убедитесь, что суммарная ширина колонок не чрезмерна. Если форма всё равно разбивается, уменьшите поля и проверьте наличие пустых колонок справа от рабочей области.
Почему после изменения макета печатная форма не изменилась?
Возможные причины: конфигурация не обновлена (нужно обновить конфигурацию базы данных), форма формируется из другого макета (внешняя печатная форма или пользовательский макет переопределяет типовой), либо код берёт макет по другому имени. Проверьте вызов ПолучитьМакет() в модуле объекта.
Можно ли задать размер макета в миллиметрах?
Напрямую в редакторе — нет, ширина и высота задаются в условных единицах. Привязка к миллиметрам выполняется через параметры страницы: поля указываются в миллиметрах, а масштабирование подгоняет содержимое под реальный лист.
Как изменить макет без доступа к конфигуратору?
Если конфигурация поддерживает пользовательские макеты, отредактируйте форму через «Администрирование» → «Печатные формы, отчеты и обработки» → «Макеты печатных форм». Либо подключите внешнюю печатную форму — для этого не нужно изменять конфигурацию.
Что делать, если на второй странице печатается одна пустая строка?
Это признак лишней области: в макете за пределами основного содержимого есть заполненная или отформатированная ячейка. Откройте макет, нажмите Ctrl+End, чтобы перейти к последней используемой ячейке, и очистите лишние строки и колонки.
Как повернуть макет в альбомную ориентацию только для одной формы?
Установите свойство ОриентацияСтраницы = Ландшафт у табличного документа в коде формирования этой формы или в параметрах страницы её макета. Настройка действует только на конкретный табличный документ и не влияет на остальные печатные формы.