Обучение и Решения · 11 мин
Как увеличить строку в 1С: все способы и ограничения
Разбираем, как увеличить строку в 1С: высоту строк таблицы, размер шрифта, длину строкового реквизита в конфигураторе и обход ограничений в коде.
Фраза «увеличить строку в 1С» означает разные задачи в зависимости от контекста. Кто-то хочет сделать выше строки в табличной части документа, чтобы текст не обрезался. Кому-то нужен более крупный шрифт в интерфейсе. А разработчик чаще всего сталкивается с ограничением длины строкового реквизита, например «Строка(150)», и ищет способ его расширить.
Проблема в том, что для каждой из этих ситуаций действия принципиально разные: где-то достаточно настройки пользователя, а где-то придётся менять конфигурацию и обновлять базу. Ниже разобраны все основные сценарии — от простых пользовательских настроек до изменения метаданных, с указанием рисков и способов проверки результата.
Перед любыми изменениями в конфигураторе сделайте резервную копию базы. Ошибка при изменении типа или длины реквизита может привести к потере данных, которые не помещаются в новый формат.
Определяем, что именно нужно увеличить
Прежде чем что-то менять, уточните, к какому типу относится ваша задача. От этого зависит и инструмент, и уровень прав, и риски. Пользовательские настройки доступны почти всем, а изменение метаданных требует прав конфигуратора и обычно выполняется администратором или программистом 1С.
Как выбрать действие
Если вы обычный пользователь без доступа к конфигуратору, реалистичные варианты — настройки формы и интерфейса. Всё, что связано с длиной реквизитов, придётся делегировать специалисту, потому что это изменение структуры базы данных.
Как увеличить высоту строк и ширину колонок в таблице документа
Самая частая пользовательская задача — в табличной части документа (например, «Товары» в реализации) строки слишком низкие, и длинное наименование номенклатуры обрезается. В типовых конфигурациях на управляемых формах ширину колонок можно менять мышью: наведите курсор на границу между заголовками колонок и перетащите её.
Для более тонкой настройки откройте меню «Ещё» в табличной части и поищите пункт «Изменить форму» или «Настройка формы» — доступность зависит от конфигурации и прав. Там можно управлять видимостью и порядком колонок, что часто решает проблему нехватки места: уберите неиспользуемые колонки, и нужные станут шире.
Высота строк в управляемых формах обычно подстраивается автоматически под шрифт и содержимое. Если текст всё равно не помещается, проверьте, не включён ли компактный режим отображения, и рассмотрите вариант просмотра полного значения поля: двойной щелчок по ячейке или клавиша F4 в некоторых конфигурациях открывает содержимое целиком.
Как увеличить шрифт и масштаб интерфейса
Если проблема не в конкретной строке, а в том, что весь текст в 1С мелкий, менять нужно масштаб. В конфигурациях на управляемом интерфейсе «Такси» откройте главное меню (кнопка с тремя полосками слева вверху), затем «Вид» — там доступны настройки масштаба и варианта интерфейса. Увеличение масштаба делает крупнее и шрифты, и строки таблиц одновременно.
Альтернативный путь — масштабирование на уровне операционной системы. В Windows увеличьте масштаб отображения в параметрах экрана: 1С корректно реагирует на системное масштабирование, особенно на современных версиях платформы. Это удобно, если мелкий текст и в других программах.
В файловых базах и старых версиях платформы рендеринг шрифтов может отличаться. Если после увеличения масштаба шрифты стали размытыми, обновите платформу 1С — в актуальных релизах поддержка высоких разрешений заметно улучшена.
- 1Откройте главное меню в левом верхнем углу окна 1С
- 2Перейдите в раздел «Вид»
- 3Выберите увеличенный масштаб интерфейса
- 4Оцените результат на типовом документе с табличной частью
- 5При размытых шрифтах проверьте версию платформы и масштаб Windows
Как увеличить длину строкового реквизита в конфигураторе
Когда программа обрезает вводимый текст — например, наименование контрагента длиннее 100 символов не сохраняется — причина в ограничении длины строки, заданном в метаданных. Это меняется только в конфигураторе.
Откройте конфигуратор, найдите нужный объект (справочник, документ, регистр) и в палитре свойств реквизита посмотрите свойство «Длина» в составе квалификатора строки. Увеличьте значение, например со 100 до 250, сохраните конфигурацию и выполните обновление конфигурации базы данных (F7 или через меню «Конфигурация»). Платформа при обновлении реструктуризует таблицы — на больших базах это может занять заметное время.
Увеличение длины строки — безопасная операция: существующие данные не теряются, потому что они гарантированно короче нового лимита. Опасно обратное действие: уменьшение длины обрежет данные, которые не поместятся в новый размер, и восстановить их будет невозможно.
Строка неограниченной длины и её ограничения
Если заранее неизвестно, сколько текста нужно хранить (описания, комментарии, протоколы), в конфигураторе можно задать реквизиту строку неограниченной длины — в квалификаторе строки длина ставится равной нулю. Такой реквизит физически хранится иначе и не имеет жёсткого лимита.
Однако у неограниченных строк есть существенные ограничения. Их нельзя использовать в индексах, в некоторых условиях запросов и отборов, а сравнение и группировка по ним в запросах работает с оговорками и требует приведения типов. Поэтому реквизиты, по которым ищут и отбирают данные (наименования, коды, артикулы), лучше оставлять строками фиксированной разумной длины.
Для действительно больших текстов в типовых конфигурациях часто используют отдельные механизмы: форматированный документ, хранилище значения или присоединённые файлы. Если вы проектируете собственное решение, оцените, не подойдёт ли один из этих вариантов вместо «бесконечной» строки.
Сравнение вариантов хранения текста
Подходит для наименований, кодов, полей поиска. Индексируется, работает в отборах. Ограничение — заданная длина
Подходит для описаний и комментариев. Не индексируется, ограничена в запросах и отборах
Подходит для больших текстов и объектов. Не участвует в запросах напрямую, требует программной обработки
Работа со строками в коде: типичные сценарии
Во встроенном языке 1С строки не имеют ограничения длины — переменная может содержать текст практически любого размера. Проблемы возникают только при записи значения в реквизит с фиксированной длиной: лишние символы молча отсекаются или вызывают ошибку при проверке заполнения.
Если нужно уместить длинное значение в ограниченное поле, используйте функцию Лев(Текст, Длина) для явного обрезания с контролем результата, а для проверки — СтрДлина(Текст). Так вы избежите неожиданной потери окончаний строк при обмене данными или интеграции.
Для склейки большого количества строк в цикле избегайте конкатенации через «+» в длинных итерациях — это создаёт множество промежуточных строк. Вместо этого собирайте части в массив и объединяйте через СтрСоединить, либо используйте объект «ЗаписьТекста» для потоковой записи.
Части = Новый Массив;
Для Каждого СтрокаТовара Из Товары Цикл
Части.Добавить(СтрокаТовара.Номенклатура);
КонецЦикла;
ИтоговаяСтрока = СтрСоединить(Части, "; ");
Если СтрДлина(ИтоговаяСтрока) > 150 Тогда
ИтоговаяСтрока = Лев(ИтоговаяСтрока, 150);
КонецЕсли;Проверка результата и типичные ошибки
После изменения длины реквизита откройте форму объекта в режиме предприятия и введите текст, который раньше обрезался. Значение должно сохраниться полностью после записи и повторного открытия. Дополнительно проверьте отчёты и печатные формы, где выводится этот реквизит: увеличенный текст может не помещаться в отведённую область макета.
Как проверить результат
Текст сохраняется целиком и отображается после перезаписи объекта
Значение обрезается — длина реквизита не изменена или база не обновлена
Текст выводится полностью или переносится
Текст обрезан макетом — нужно править шаблон печатной формы
Длинные значения передаются без ошибок
Ошибки загрузки у приёмника — там длина поля меньше
Отдельная ловушка — обмены между базами. Если вы увеличили длину наименования в одной базе, а в связанной оставили прежнюю, при синхронизации длинные значения будут обрезаться на стороне приёмника. Всегда проверяйте соответствие длин реквизитов во всех системах, участвующих в обмене.
Что важно запомнить
Высота строк и шрифт настраиваются пользователем через вид и масштаб интерфейса. Длина строкового реквизита меняется только в конфигураторе с обновлением базы. Увеличение длины безопасно, уменьшение — нет. Неограниченные строки не подходят для поисковых полей.
Частые вопросы
Можно ли увеличить длину строки без конфигуратора?
Нет. Длина строкового реквизита — это свойство метаданных, и изменить его можно только в конфигураторе с последующим обновлением конфигурации базы данных. Пользовательскими настройками эта задача не решается.
Потеряются ли данные при увеличении длины реквизита?
Нет, увеличение длины — безопасная реструктуризация: все существующие значения короче нового лимита и сохраняются полностью. Риск потери данных появляется только при уменьшении длины или смене типа реквизита.
Почему после изменения длины пользователи не видят разницы?
Чаще всего не выполнено обновление конфигурации базы данных: изменения сохранены в конфигурации, но не применены к рабочей базе. Нажмите F7 в конфигураторе и дождитесь завершения реструктуризации. Также проверьте, не работаете ли вы в копии базы.
Как сделать поле для текста любой длины?
В конфигураторе в квалификаторе строки установите длину равной нулю — это строка неограниченной длины. Учтите, что такое поле нельзя индексировать и использовать в ряде отборов и условий запросов, поэтому для наименований и кодов оно не подходит.
Текст в поле сохраняется, но обрезан в печатной форме. Что делать?
Проблема не в реквизите, а в макете печатной формы: область под текст имеет фиксированный размер. Нужно отредактировать макет — увеличить высоту области или включить автоподбор высоты строки. В типовых конфигурациях часть макетов можно менять пользовательскими средствами без доработки конфигурации.
Влияет ли увеличение длины строк на скорость работы базы?
Само по себе увеличение длины практически не влияет на производительность. Замедление возможно, если сделать строкой неограниченной длины поле, по которому выполняются отборы и соединения в запросах, — такие поля выпадают из индексов. Для поисковых реквизитов оставляйте разумную фиксированную длину.