К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как расширить одну ячейку в макете 1С

Как расширить одну ячейку в макете 1С: изменение ширины колонки, объединение ячеек, свойства табличного документа и программная настройка размеров.

Задача расширить одну ячейку в макете 1С возникает, когда текст не помещается в отведённую область: наименование товара обрезается, сумма переносится на две строки, а заголовок «налезает» на соседнюю колонку. В табличном документе 1С ширина задаётся на уровне колонки, поэтому «растянуть» отдельную ячейку напрямую нельзя — но есть несколько рабочих способов добиться нужного результата.

Основные приёмы: изменить ширину колонки, объединить ячейку с соседними, включить автоподбор высоты с переносом текста или задать размер программно. Выбор зависит от того, что именно нужно — увеличить место только в одной строке макета или во всей колонке, и редактируете ли вы макет в конфигураторе или формируете табличный документ кодом.

Почему нельзя расширить одну ячейку напрямую

Табличный документ 1С устроен как сетка: каждая колонка имеет единую ширину для всех строк, а каждая строка — единую высоту для всех колонок. Это принципиальное ограничение формата, похожее на поведение электронных таблиц. Поэтому команды «сделать шире только эту ячейку» в платформе не существует.

Если вы попытаетесь потянуть границу ячейки мышью в редакторе макета, изменится ширина всей колонки — от верхней строки до нижней. Это нормальное поведение, а не ошибка. Понимание этого механизма помогает сразу выбрать правильный приём: объединение ячеек, перестройку структуры макета или программное управление размерами.

Как изменить ширину колонки в конфигураторе

Самый простой способ — изменить ширину всей колонки, если это не ломает остальные строки макета. Откройте макет в конфигураторе (ветка «Общие» → «Макеты» или макет конкретного объекта), выделите нужную ячейку и откройте палитру свойств (правый клик → «Свойства» или Alt+Enter).

В палитре найдите свойство «Ширина» — оно задаётся в условных единицах ширины символа. Увеличьте значение, например с 10 до 15, и проверьте результат, сформировав печатную форму. Альтернатива — потянуть границу колонки мышью в заголовочной области табличного документа, эффект тот же.

Учтите: если колонка участвует в нескольких областях макета (шапка, строка, подвал), ширина изменится во всех сразу. Перед правкой просмотрите макет целиком и убедитесь, что остальные строки не «разъедутся» и не выйдут за пределы печатной страницы.

Порядок изменения ширины колонки
  1. 1
    Откройте макет в конфигураторе и выделите нужную ячейку
  2. 2
    Нажмите Alt+Enter, чтобы открыть палитру свойств
  3. 3
    Найдите свойство «Ширина» и увеличьте значение
  4. 4
    Сохраните макет и сформируйте печатную форму
  5. 5
    Проверьте, что соседние области не сместились и документ помещается на страницу

Как расширить ячейку через объединение

Объединение — основной способ дать одной ячейке больше места, не меняя ширину колонки для всего макета. Приём особенно полезен в шапках и подвалах печатных форм, где одна строка должна быть шире остальных.

Выделите ячейку и соседние с ней по горизонтали (или вертикали) ячейки, затем в палитре свойств установите «Объединить» = «Да» или используйте кнопку объединения на панели инструментов. Содержимое будет размещаться в объединённой области, ширина которой равна сумме ширин исходных колонок.

Типовой сценарий: в строке макета узкая колонка «Количество» не вмещает длинное наименование. Объедините ячейку наименования с соседней пустой ячейкой в этой же строке — текст получит вдвое больше места, а остальные строки макета останутся без изменений.

Автоподбор высоты и перенос текста

Часто задача «расширить ячейку» на деле означает «чтобы текст влезал и читался». Если расширять колонку нежелательно, включите перенос: в палитре свойств ячейки установите «Размещение текста» = «Переносить», а для строки — «Автовысота» = «Да» (или свойство «Высота» = 0).

В этом режиме ширина остаётся прежней, но строка автоматически увеличивается по высоте, вмещая весь текст в несколько строк. Это стандартное решение для колонок с длинными наименованиями номенклатуры, адресами и комментариями в печатных формах.

Проверьте результат на реальных данных с самым длинным значением: если наименование занимает 4–5 строк, возможно, разумнее всё-таки расширить колонку или сократить выводимый текст, чтобы печатная форма не разрасталась.

Программное управление размерами

Когда макет формируется или дорабатывается кодом, размеры задаются через объект «ТабличныйДокумент». Ширину колонки меняет метод УстановитьШиринуКолонки или свойство области, объединение — метод Объединить() области ячеек.

1c
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетНакладной");
Область = Макет.ПолучитьОбласть("Строка");
ТабДок.Вывести(Область);

// Расширить вторую колонку
ТабДок.Область(1, 2, 1, 2).ШиринаКолонки = 25;

// Объединить ячейки в строке 3 с колонки 2 по 4
ТабДок.Область(3, 2, 3, 4).Объединить();

Программный подход удобен, когда размер зависит от данных: например, колонку расширяют только если в отчёте есть длинные значения. Помните, что изменения применяются к уже выведенному табличному документу и не затрагивают сам макет в конфигурации — при следующем обновлении конфигурации макет останется прежним.

Типичные ошибки и ограничения

Типичные ошибки
01
Изменение ширины колонки без проверки остальных областей — шапка и подвал «разъезжаются», форма не помещается на страницу
02
Объединение ячеек, где параметр оказался не в левой верхней ячейке — в печатной форме появляется пустое место вместо значения
03
Правка типового макета вместо создания внешней печатной формы — изменения теряются при обновлении конфигурации
04
Попытка тянуть границу одной ячейки мышью — меняется вся колонка, макет ломается

Отдельный риск — правка макетов типовой конфигурации. При обновлении такие макеты перезаписываются, и доработки пропадают. Безопасный путь — внешняя печатная форма или расширение конфигурации, где макет хранится отдельно и обновления его не трогают.

Также учитывайте масштаб печати: даже корректно расширенная ячейка может обрезаться на бумаге, если суммарная ширина колонок превышает ширину листа. Проверяйте результат в режиме предварительного просмотра с реальными полями страницы.

Проверка результата и выбор способа

Контрольные точки

Как проверить результат

Отображение текста в ячейке
Норма

Весь текст виден, не обрезан и не перекрывает соседние колонки

Тревожный признак

Текст усечён, виден символ переполнения или наложение

Остальные области макета
Норма

Шапка, строки и подвал выровнены, границы совпадают

Тревожный признак

Колонки съехали, линии таблицы не стыкуются

Предварительный просмотр печати
Норма

Форма помещается на страницу без масштабирования

Тревожный признак

Часть колонок уходит за край листа

Итоговый выбор приёма сводится к простой логике. Нужно больше места во всей колонке — меняйте ширину. Только в одной строке макета — объединяйте ячейки. Проблема в длинном тексте — включайте перенос и автовысоту. Размер зависит от данных — управляйте программно при формировании документа.

Итог

Что важно запомнить

Ширина в табличном документе 1С задаётся для колонки целиком. Для одной ячейки используйте объединение с соседними ячейками, для длинного текста — перенос с автовысотой, для гибких сценариев — программное изменение. Типовые макеты правьте через внешние печатные формы или расширения, иначе изменения пропадут при обновлении.

Частые вопросы

Можно ли потянуть границу одной ячейки мышью, как в Excel?

Нет. В табличном документе 1С перетаскивание границы меняет ширину всей колонки или высоту всей строки. Чтобы расширить место только в одной строке, выделите ячейку вместе с соседними и включите свойство «Объединить».

Почему после объединения ячеек параметр не заполняется?

При объединении значимой становится только левая верхняя ячейка диапазона. Если параметр макета указан в другой ячейке объединяемой области, он игнорируется. Перенесите параметр в левую верхнюю ячейку и проверьте заполнение повторно.

Как сделать, чтобы колонка сама подстраивалась под ширину текста?

Автоматического подбора ширины по содержимому в макете нет — ширина фиксированная. Возможные обходные пути: задать ширину с запасом, включить перенос текста с автовысотой строки или программно рассчитать и установить ширину колонки при формировании документа.

Изменил макет, а печатная форма выглядит по-старому. Что не так?

Чаще всего документ выводится не из этого макета: проверьте, не переопределена ли печатная форма во внешней обработке, расширении или механизме дополнительных печатных форм. Также убедитесь, что конфигурация базы данных обновлена после сохранения макета.

Пропадут ли мои правки макета при обновлении конфигурации?

Если макет принадлежит типовой конфигурации и вы редактировали его напрямую — да, при обновлении он будет заменён типовым. Чтобы сохранить изменения, вынесите макет во внешнюю печатную форму или расширение конфигурации.

Что делать, если после расширения колонки форма не помещается на лист?

Уменьшите ширину соседних маловажных колонок, сократите поля страницы в параметрах печати, переведите лист в альбомную ориентацию или включите автомасштаб табличного документа. Проверяйте результат в режиме предварительного просмотра.