Работа с таблицами в 1С:Предприятие часто требует тонкой настройки отображения данных — особенно когда речь идет о высоте строк. Слишком маленькие строки затрудняют чтение, а чересчур высокие занимают лишнее место на экране. В этой статье разберем все возможные способы изменения высоты строк — от базовых настроек интерфейса до программных решений с примерами кода.
Проблема актуальна для всех популярных конфигураций: Управление торговлей (УТ 11), Бухгалтерия предприятия (БП 3.0), Зарплата и управление персоналом (ЗУП 3.1). Методы работают в актуальных версиях платформы 1С 8.3 и частично применимы к 8.2. Если вы не программист, начните с первых двух разделов — там описаны визуальные способы без кода.
Важно: некоторые настройки зависят от режима запуска 1С (обычное приложение, управляемое, тонкий клиент) и версии конфигурации. Если ваш интерфейс отличается от скриншотов в инструкциях, проверьте актуальную документацию в Справка → О программе.
1. Изменение высоты строк в таблице документа или справочника (без программирования)
Самый простой способ — ручная настройка высоты прямо в интерфейсе 1С. Он подходит для разовых изменений и не требует прав администратора. Рассмотрим на примере табличной части документа Реализация товаров в конфигурации УТ 11.4:
Откройте документ с табличной частью (например,
Реализация товаров и услуг).Наведите курсор на разделительную линию между строками (она появляется при наведении на левую часть таблицы, где отображаются номера строк).
Курсор примет вид двунаправленной стрелки ⇅ — зажмите левую кнопку мыши и перетащите линию вверх или вниз.
Отпустите кнопку, чтобы зафиксировать новую высоту. Все строки таблицы изменятся пропорционально.
⚠️ Внимание: В некоторых конфигурациях (например, БП 3.0) эта функция отключена по умолчанию. Если разделительная линия не появляется, проверьте настройки интерфейса в Сервис → Параметры → Закладка "Интерфейс" — должен быть включен пункт Разрешить изменение высоты строк.
Этот метод работает только для текущего сеанса. После закрытия документа или перезапуска 1С настройки сбросятся. Чтобы сохранить изменения постоянно, используйте способы из следующих разделов.
2. Настройка высоты строк через пользовательские настройки (для всех пользователей)
Если вам нужно зафиксировать высоту строк для конкретного документа или справочника на постоянной основе, используйте механизм пользовательских настроек. Это не требует прав администратора, но изменения будут применены только для вашего профиля.
Инструкция для конфигурации ЗУП 3.1 (аналогично работает в УТ и БП):
Откройте документ или справочник с табличной частью (например,
Табель учета рабочего времени).Настройте высоту строк вручную (как описано в первом разделе).
Перейдите в меню
Действия → Изменить форму(или нажмитеCtrl+Shift+F12).В открывшемся окне нажмите
Сохранить настройкии выберитеДля текущего пользователя.Закройте и снова откройте документ — высота строк сохранится.
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Розница 2.2) сохранение настроек формы может быть ограничено правами доступа. Если кнопка Сохранить настройки неактивна, обратитесь к администратору базы.
| Конфигурация | Поддерживает сохранение настроек | Ограничения |
|---|---|---|
| УТ 11.4 | Да | Только для табличных частей документов |
| БП 3.0 | Да | Не работает для отчетов |
| ЗУП 3.1 | Да | Требует прав на изменение форм |
| 1С:Розница 2.2 | Частично | Зависит от прав пользователя |
Если вам нужно применить настройки для всех пользователей, переходите к следующему разделу — там описан метод с использованием конфигуратора.
3. Программное изменение высоты строк через конфигуратор
Для глобальных изменений, которые будут применены ко всем пользователям, потребуется доступ к конфигуратору 1С и права администратора. Этот метод подходит, если вам нужно:
- 🔹 Зафиксировать высоту строк для конкретного документа или справочника
- 🔹 Применить настройки ко всем табличным частям в конфигурации
- 🔹 Автоматизировать изменение высоты при открытии формы
Рассмотрим два варианта: через редактирование формы и через модуль формы.
Способ 1: Редактирование формы в конфигураторе
Этот метод подходит для изменения высоты строк в конкретной форме (например, в документе Поступление товаров).
Откройте конфигуратор (
1Cv8.exe /configили через меню пуска).Найдите нужный объект в дереве конфигурации (например,
Документы → ПоступлениеТоваровУслуг → Формы → ФормаДокумента).Откройте форму в режиме редактирования (двойной клик).
Выделите табличное поле (например,
Товары) и в палитре свойств найдите параметрВысотаСтроки.Установите нужное значение в пикселях (например,
25) и сохраните форму (Ctrl+S).
⚠️ Внимание: Изменение конфигурации через конфигуратор требует тестирования и обновления базы. После сохранения формы:
- Выполните
Конфигурация → Тестирование и исправление. - Обновите конфигурацию базы данных (
Конфигурация → Обновить конфигурацию базы данных).
Способ 2: Изменение высоты через модуль формы (динамически)
Если высота строк должна меняться в зависимости от условий (например, для строк с большим количеством текста), используйте программный код в модуле формы. Пример для документа Заказ клиента:
Процедура ПриОткрытии()
// Устанавливаем высоту строк для табличной части "Товары"
ЭлементыФормы.Товары.ВысотаСтроки = 30;
// Дополнительно можно настроить высоту в зависимости от содержимого
Для Каждого Строка Из ЭлементыФормы.Товары Цикл
Если Строка.Описание <> "" Тогда
Строка.ВысотаСтроки = 40; // Увеличиваем высоту для строк с описанием
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Этот код выполнится при каждом открытии формы. Чтобы применить его:
- Откройте форму в конфигураторе (как в способе 1).
- Перейдите на закладку
Модуль. - Вставьте код в процедуру
ПриОткрытии(). - Сохраните и обновите конфигурацию.
Сделать резервную копию базы|Проверить права доступа (администратор)|Тестировать изменения на копии базы|Обновить конфигурацию после правок-->
4. Изменение высоты строк в отчетах и печатных формах
Для отчетов (например, Оборотно-сальдовая ведомость) и печатных форм (например, Счет на оплату) настройка высоты строк имеет свои особенности. Здесь нельзя просто перетащить границу — требуется редактирование макета.
Рассмотрим процесс на примере отчета Анализ субконто в БП 3.0:
Откройте отчет в режиме
1С:Предприятие.Нажмите
Еще → Изменить вариант отчета(илиF12).Перейдите на закладку
Настройкии найдите разделОформление.В параметре
Высота строки таблицыустановите нужное значение (по умолчанию обычно15).Сохраните вариант отчета (
Записать и закрыть).
Для печатных форм (например, Торг-12) потребуется:
- Открыть печатную форму в режиме редактирования (
Действия → Изменить печатную форму). - Выделить таблицу и в свойствах найти параметр
Межстрочный интервал. - Установить значение в пунктах (например,
12pt). - Сохранить изменения.
⚠️ Внимание: В печатных формах высота строк часто привязана к размеру шрифта. Если после изменения межстрочного интервала текст все равно наезжает друг на друга, попробуйте уменьшить шрифт в настройках формы.
Если после изменений отчет стал отображаться некорректно, сбросьте настройки варианта:
1. Откройте отчет.
2. Нажмите Еще → Установить стандартные настройки.
3. Подтвердите сброс.
Это вернет высоту строк к значениям по умолчанию.—>
5. Массовое изменение высоты строк для всех таблиц в конфигурации
Если вам нужно привести к единому стандарту высоту строк во всех табличных частях конфигурации, ручное редактирование каждой формы займет слишком много времени. В этом случае поможет поиск и замена по конфигурации или обработка для массового изменения.
Способ 1: Поиск и замена в конфигураторе
- Откройте конфигуратор и выберите
Правка → Найти в конфигурации(Ctrl+Shift+F). - В поле
Что искатьвведитеВысотаСтроки. - В результатах поиска выберите все найденные свойства и установите новое значение (например,
25). - Сохраните конфигурацию и обновите базу.
Способ 2: Использование обработки
Для автоматизации можно написать обработку, которая пройдет по всем формам и изменит высоту строк. Пример кода для обработки:
Процедура ИзменитьВысотуСтрокВоВсехФормах()
МассивФорм = Новый Массив;
// Получаем все формы в конфигурации
Для Каждого Объект Из Метаданные.Объекты Цикл
Если Объект.ИмеетФормы() Тогда
Для Каждого Форма Из Объект.Формы Цикл
МассивФорм.Добавить(Форма);
КонецЦикла;
КонецЕсли;
КонецЦикла;
// Меняем высоту строк во всех табличных полях
Для Каждого Форма Из МассивФорм Цикл
Для Каждого Элемент Из Форма.ЭлементыФормы Цикл
Если ТипЗнч(Элемент) = Тип("ПолеТабличногоДокумента") Тогда
Элемент.ВысотаСтроки = 25; // Новая высота
КонецЕсли;
КонецЦикла;
КонецЦикла;
Сообщить("Высота строк изменена во всех формах!");
КонецПроцедуры
⚠️ Внимание: Массовые изменения могут привести к некорректному отображению некоторых форм, особенно если в них используются нестандартные элементы (например, вложенные таблицы). Перед применением обработки:
- 🔹 Сделайте резервную копию базы.
- 🔹 Протестируйте обработку на копии конфигурации.
- 🔹 Проверьте отображение ключевых документов (заказы, счета, отчеты).
6. Особенности изменения высоты строк в управляемых формах
В управляемых формах (используются в 1С 8.3 и новее) настройка высоты строк имеет свои нюансы. Здесь нельзя просто изменить свойство ВысотаСтроки — нужно работать с стилями или использовать программный код.
Способ 1: Через стили оформления
- Откройте форму в конфигураторе.
- Выделите табличное поле и в палитре свойств найдите
СтильОформления. - Нажмите на кнопку
...рядом с полем и выберитеИзменить. - В открывшемся окне перейдите на закладку
Таблицаи установите параметрВысота строки.
Способ 2: Программно в модуле формы
Для динамического изменения высоты используйте следующий код:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Устанавливаем высоту строк для таблицы "Товары"
ЭлементыФормы.Товары.ВысотаСтроки = 30;
// Для управляемых форм иногда требуется дополнительное обновление
ЭлементыФормы.Товары.ОбновитьОтображение();
КонецПроцедуры
⚠️ Внимание: В управляемых формах высота строк может сбрасываться при изменении размера окна или переключении закладок. Чтобы зафиксировать высоту, добавьте обработчик события ПриИзмененииРазмера:
Процедура ПриИзмененииРазмера(Элемент)
Если Элемент.Имя = "Товары" Тогда
Элемент.ВысотаСтроки = 30;
КонецЕсли;
КонецПроцедуры
Если после применения стилей таблица отображается некорректно, проверьте настройки масштабирования интерфейса в параметрах 1С (Сервис → Параметры → Система → Масштаб интерфейса). При значении отличном от 100% высота строк может автоматически корректироваться.
7. Решение проблем с отображением после изменения высоты строк
Иногда после изменения высоты строк возникают проблемы с отображением данных. Рассмотрим типичные ситуации и способы их решения.
| Проблема | Возможная причина | Решение |
|---|---|---|
| Текст в ячейках обрезается | Слишком маленькая высота строки или большой шрифт | Увеличьте высоту строки или уменьшите шрифт в настройках формы |
| Строки возвращаются к стандартной высоте | Настройки не сохранены или сбрасываются при обновлении | Сохраните настройки формы (см. раздел 2) или используйте программный код |
| Таблица не помещается на экране | Слишком большая высота строк при фиксированном размере формы | Уменьшите высоту строк или включите прокрутку (ВертикальнаяПолосаПрокрутки = Истина) |
| Изменения не применяются в тонком клиенте | Ограничения тонкого клиента или кэширование форм | Очистите кэш 1С или перезапустите сеанс |
Если после изменения высоты строк исчезли данные в таблице, проверьте:
- 🔹 Не установлен ли фильтр на таблицу (
Все действия → Фильтр). - 🔹 Не скрыты ли столбцы (
Правка → Настройка списка). - 🔹 Не изменена ли ширина столбцов (может маскировать данные).
Критическая информация: В конфигурациях с включенным режимом "Такси" (например, 1С:ERP 2.4) настройка высоты строк через конфигуратор может быть заблокирована. В этом случае используйте только программные методы (раздел 3.2) или обратитесь к разработчику конфигурации.
FAQ: Частые вопросы по изменению высоты строк в 1С
Можно ли изменить высоту строк только для определенных пользователей?
Да, для этого сохраните настройки формы для текущего пользователя (см. раздел 2). Изменения будут применены только к его профилю. Для программного ограничения по ролям используйте код в модуле формы с проверкой прав:
Если Пользователи.ТекущийПользователь.Имя = "Иванов" Тогда
ЭлементыФормы.Товары.ВысотаСтроки = 30;
КонецЕсли;
Почему после обновления 1С сбросилась высота строк?
Это происходит, если настройки были сохранены только для текущего сеанса (раздел 1) или если обновление конфигурации перезаписало формы. Чтобы избежать сброса:
- Сохраняйте настройки через
Изменить форму → Сохранить настройки. - Используйте программный код в модуле формы (раздел 3.2).
- Перед обновлением делайте резервную копию пользовательских настроек.
Как сделать разную высоту строк в одной таблице?
Для динамической высоты строк используйте обработчик ПриАктивизацииСтроки в модуле формы:
Процедура ТоварыПриАктивизацииСтроки(Элемент, Строка, СтандартнаяОбработка)
Если Строка.КоличествоСимволов() > 100 Тогда
Строка.ВысотаСтроки = 50; // Для длинных строк
Иначе
Строка.ВысотаСтроки = 25; // Для коротких строк
КонецЕсли;
КонецПроцедуры
Обратите внимание: этот метод может замедлить работу формы при большом количестве строк.
Где в 1С хранится информация о высоте строк?
Настройки высоты строк сохраняются в следующих местах:
- 🔹 Для текущего пользователя: в таблице
_UserSettingsStorage(для управляемых форм) или в файлах*.usr(для обычных форм). - 🔹 Для всех пользователей: в метаданных конфигурации (свойство
ВысотаСтрокиэлемента формы). - 🔹 В отчетах: в вариантах отчетов (таблица
_ReportVariant).
Не редактируйте эти данные вручную — используйте штатные средства 1С.
Как вернуть стандартную высоту строк, если настройки сбились?
Способы сброса:
Для документов/справочников: откройте форму, нажмите
Действия → Восстановить стандартные настройки.Для отчетов:
Еще → Установить стандартные настройки.Для всех форм: в конфигураторе найдите форму и сбросьте свойство
ВысотаСтрокив значение по умолчанию (обычно0или15).