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

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

Размещение текста в 1С: как настроить перенос и отображение строк

Что такое размещение текста в 1С: свойства ячеек табличного документа, автоперенос, обрезка строк, настройка макетов и печатных форм с примерами кода.

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

Запрос «размещение текста забивать» обычно возникает в двух случаях: когда нужно «забить» (заполнить) ячейку текстом так, чтобы он корректно переносился, и когда нужно разобраться с параметром РазмещениеТекста в свойствах ячейки табличного документа. Ниже разобраны оба сценария — и через интерфейс конфигуратора, и программно на встроенном языке.

Материал применим к управляемым и обычным формам, макетам печатных форм, а также к программному формированию табличных документов в типовых и самописных конфигурациях.

Что такое свойство «Размещение текста» в 1С

У каждой ячейки табличного документа есть набор свойств оформления: шрифт, цвет, границы, горизонтальное и вертикальное положение. Среди них — параметр «Размещение текста» (во встроенном языке — РазмещениеТекста, тип ТипРазмещенияТекстаТабличногоДокумента). Он определяет поведение строки, которая не помещается в ширину ячейки.

Доступны три основных варианта размещения:

Именно вариант «Забивать» чаще всего вызывает вопросы. Он полезен, когда значение должно визуально занять несколько колонок без объединения ячеек: например, длинное наименование товара в печатной форме, где соседние колонки пусты. Если соседняя ячейка заполнена, текст обрежется на её границе.

Настройка размещения текста через конфигуратор

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

Порядок настройки в макете
  1. 1
    Откройте макет табличного документа в конфигураторе
  2. 2
    Выделите ячейку или диапазон ячеек с текстом
  3. 3
    В палитре свойств найдите параметр «Размещение текста»
  4. 4
    Выберите значение: Переносить, Обрезать или Забивать
  5. 5
    Проверьте высоту строки — для переноса включите автоподбор или задайте достаточную высоту
  6. 6
    Сохраните макет и сформируйте печатную форму для проверки

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

Если текст выводится через параметр макета (фигурные скобки в ячейке, например [НаименованиеТовара]), размещение текста настраивается у той ячейки, где размещён параметр, а не у значения в коде.

Программное управление размещением текста

При формировании табличного документа кодом свойство задаётся через объект ОбластьЯчеекТабличногоДокумента. Типовой пример:

ТабДок = Новый ТабличныйДокумент;

Область = ТабДок.Область("R2C2");

Область.Текст = "Длинное наименование номенклатуры с характеристикой";

Область.РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;

Для режима «Забивать» используется значение ТипРазмещенияТекстаТабличногоДокумента.Забивать, для обрезки — Обрезать. Свойство можно менять и у областей, полученных из макета методом ПолучитьОбласть, до их вывода в итоговый документ.

Если текст переносится, но обрезается по вертикали, проблема не в размещении, а в высоте строки. В этом случае задайте свойству ВысотаСтроки области значение 0 (автоподбор) либо увеличьте высоту вручную. Для макетов также проверьте, не зафиксирована ли высота строки в самом макете.

Когда использовать «Забивать», а когда — перенос или объединение

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

Сравнение подходов

Забивать

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

Переносить

Подходит для многострочного вывода в фиксированной колонке. Ограничение: требует достаточной высоты строки, увеличивает высоту документа.

Объединение ячеек

Надёжный вариант для шапок и итогов. Ограничение: меняет структуру макета, усложняет программную адресацию областей.

Обрезать

Подходит для служебных колонок, где важно начало строки. Ограничение: часть данных пользователь не увидит.

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

Типичные проблемы и их диагностика

Чаще всего жалобы выглядят так: текст обрезан, текст наезжает на соседнюю колонку, печатная форма «расползается» по высоте. Каждый симптом указывает на конкретную причину.

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

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

Полнота текста в ячейке
Норма

Вся строка видна, переносы на границах слов

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

Текст обрывается многоточием или на середине слова

Поведение при печати
Норма

В предпросмотре строка выглядит так же, как в табличном документе

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

При печати или в PDF текст обрезается сильнее — проверьте масштаб и поля страницы

Соседние ячейки при режиме Забивать
Норма

Текст занимает пустые соседние колонки полностью

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

Текст обрывается на границе — соседняя ячейка заполнена или содержит пробел

Высота строки
Норма

Многострочный текст виден целиком

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

Видна только первая строка — зафиксирована высота строки

Отдельный случай — невидимые символы. Если ячейка в режиме «Забивать» неожиданно обрезается, проверьте соседние ячейки на пробелы и пустые строки: формально заполненная пробелом ячейка считается занятой и блокирует забивание. Очистите её содержимое полностью.

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

Ограничения и риски при изменении макетов

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

Также учтите, что режим «Забивать» не работает через границы объединённых областей и ячеек с явно заданными рамками — визуально текст остановится на линии. Если печатная форма строго регламентирована (счета-фактуры, УПД), сверяйте результат с утверждённым образцом.

Итог

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

Размещение текста в 1С управляется свойством ячейки с тремя режимами: Переносить, Обрезать, Забивать. «Забивать» растягивает текст на пустые соседние ячейки, перенос требует автовысоты строки, а надёжнее всего проверять результат в предпросмотре печати на длинных тестовых данных.

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

Почему текст переносится, но всё равно обрезан?

Почти всегда причина в фиксированной высоте строки. Установите высоту строки области в 0 (автоподбор) или увеличьте её вручную. Проверьте также, что перенос включён именно у той ячейки, где выводится параметр.

Чем «Забивать» отличается от объединения ячеек?

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

Почему «Забивать» обрезает текст, хотя соседняя ячейка пустая?

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

Как задать размещение текста программно?

Через свойство области: Область.РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;. Свойство доступно у любой области табличного документа, включая области, полученные из макета.

Влияет ли размещение текста на выгрузку в Excel?

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

Можно ли настроить размещение текста без доработки конфигурации?

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