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

Обучение и Решения · 11 мин

Как увеличить строку в 1С: все способы и ограничения

Разбираем, как увеличить строку в 1С: высоту строк таблицы, размер шрифта, длину строкового реквизита в конфигураторе и обход ограничений в коде.

Фраза «увеличить строку в 1С» означает разные задачи в зависимости от контекста. Кто-то хочет сделать выше строки в табличной части документа, чтобы текст не обрезался. Кому-то нужен более крупный шрифт в интерфейсе. А разработчик чаще всего сталкивается с ограничением длины строкового реквизита, например «Строка(150)», и ищет способ его расширить.

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

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

Определяем, что именно нужно увеличить

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

Маршрут решения

Как выбрать действие

Строки в табличной части документа слишком узкие, текст обрезанНастройте высоту строк и ширину колонок прямо в форме документа
Мелкий шрифт во всей программе, трудно читатьИзмените масштаб интерфейса или шрифт в настройках пользователя
При вводе длинного текста в поле программа обрезает значениеУвеличьте длину строкового реквизита в конфигураторе
Нужно хранить текст неограниченной длиныСмените тип реквизита на строку неограниченной длины или используйте хранилище значения

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

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

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

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

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

Как увеличить шрифт и масштаб интерфейса

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

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

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

Порядок действий для увеличения масштаба
  1. 1
    Откройте главное меню в левом верхнем углу окна 1С
  2. 2
    Перейдите в раздел «Вид»
  3. 3
    Выберите увеличенный масштаб интерфейса
  4. 4
    Оцените результат на типовом документе с табличной частью
  5. 5
    При размытых шрифтах проверьте версию платформы и масштаб Windows

Как увеличить длину строкового реквизита в конфигураторе

Когда программа обрезает вводимый текст — например, наименование контрагента длиннее 100 символов не сохраняется — причина в ограничении длины строки, заданном в метаданных. Это меняется только в конфигураторе.

Откройте конфигуратор, найдите нужный объект (справочник, документ, регистр) и в палитре свойств реквизита посмотрите свойство «Длина» в составе квалификатора строки. Увеличьте значение, например со 100 до 250, сохраните конфигурацию и выполните обновление конфигурации базы данных (F7 или через меню «Конфигурация»). Платформа при обновлении реструктуризует таблицы — на больших базах это может занять заметное время.

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

Строка неограниченной длины и её ограничения

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

Однако у неограниченных строк есть существенные ограничения. Их нельзя использовать в индексах, в некоторых условиях запросов и отборов, а сравнение и группировка по ним в запросах работает с оговорками и требует приведения типов. Поэтому реквизиты, по которым ищут и отбирают данные (наименования, коды, артикулы), лучше оставлять строками фиксированной разумной длины.

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

Сравнение вариантов хранения текста

Строка фиксированной длины

Подходит для наименований, кодов, полей поиска. Индексируется, работает в отборах. Ограничение — заданная длина

Строка неограниченной длины

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

Хранилище значения

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

Работа со строками в коде: типичные сценарии

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

Если нужно уместить длинное значение в ограниченное поле, используйте функцию Лев(Текст, Длина) для явного обрезания с контролем результата, а для проверки — СтрДлина(Текст). Так вы избежите неожиданной потери окончаний строк при обмене данными или интеграции.

Для склейки большого количества строк в цикле избегайте конкатенации через «+» в длинных итерациях — это создаёт множество промежуточных строк. Вместо этого собирайте части в массив и объединяйте через СтрСоединить, либо используйте объект «ЗаписьТекста» для потоковой записи.

bsl
Части = Новый Массив;
Для Каждого СтрокаТовара Из Товары Цикл
    Части.Добавить(СтрокаТовара.Номенклатура);
КонецЦикла;
ИтоговаяСтрока = СтрСоединить(Части, "; ");
Если СтрДлина(ИтоговаяСтрока) > 150 Тогда
    ИтоговаяСтрока = Лев(ИтоговаяСтрока, 150);
КонецЕсли;

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

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

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

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

Ввод длинного текста в поле
Норма

Текст сохраняется целиком и отображается после перезаписи объекта

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

Значение обрезается — длина реквизита не изменена или база не обновлена

Отчёты и печатные формы с этим реквизитом
Норма

Текст выводится полностью или переносится

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

Текст обрезан макетом — нужно править шаблон печатной формы

Обмены и интеграции
Норма

Длинные значения передаются без ошибок

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

Ошибки загрузки у приёмника — там длина поля меньше

Типичные ошибки
01
Изменили длину в конфигураторе, но забыли обновить конфигурацию базы данных — пользователи не видят изменений
02
Увеличили длину в источнике, но не в приёмнике обмена — данные обрезаются при синхронизации
03
Сделали поле поиска строкой неограниченной длины — отборы перестали работать или замедлились
04
Уменьшили длину реквизита без анализа данных — часть значений безвозвратно обрезана

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

Итог

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

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

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

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

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

Потеряются ли данные при увеличении длины реквизита?

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

Почему после изменения длины пользователи не видят разницы?

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

Как сделать поле для текста любой длины?

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

Текст в поле сохраняется, но обрезан в печатной форме. Что делать?

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

Влияет ли увеличение длины строк на скорость работы базы?

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