Разработка и Конфигурация · 10 мин
Как добавить надпись на форму в 1С
Как добавить надпись на форму в 1С: через конфигуратор, программно и через расширение. Настройка текста, шрифта, видимости и типичные ошибки разработчика.
Надпись на форме в 1С — это элемент управления «Надпись» (Label), который выводит статический текст, подсказку, заголовок группы или динамически изменяемое сообщение. Добавить её можно тремя способами: в конфигураторе через редактор формы, программно из модуля формы или через расширение конфигурации, если основная конфигурация находится на поддержке и изменять её нельзя.
Выбор способа зависит от задачи. Если надпись постоянная и известна заранее — достаточно редактора формы. Если текст зависит от данных объекта, прав пользователя или результата проверки — надпись создают или обновляют программно. Если конфигурация типовая и обновляется поставщиком — правильный путь это расширение.
Материал рассчитан на управляемые формы (такие приложения), поскольку именно они используются в современных конфигурациях. Для обычных форм логика похожа, но механика привязки данных отличается — это отдельно отмечено в соответствующем разделе.
Добавление надписи через редактор формы в конфигураторе
Основной способ — визуальный редактор формы. Откройте конфигуратор, найдите нужный объект (справочник, документ, обработка), разверните ветку «Формы» и откройте нужную форму двойным щелчком. Если формы ещё нет, создайте её через конструктор: правый клик по ветке «Формы» → «Добавить».
В окне редактора формы слева находится дерево элементов. Нажмите кнопку «Добавить» (или правый клик по группе, в которую нужно поместить надпись) и выберите тип элемента «Надпись». Затем перетащите элемент в нужное место структуры — порядок элементов в дереве определяет их расположение на форме с учётом группировки.
После добавления откройте палитру свойств элемента (правый клик → «Свойства») и заполните ключевые свойства: «Заголовок» — сам текст надписи, «Имя» — идентификатор для обращения из кода, «Шрифт», «ЦветТекста», «ГоризонтальноеПоложение». Изменения сразу видны в предварительном просмотре формы в нижней части редактора.
- 1Откройте нужную форму объекта в конфигураторе
- 2Добавьте элемент типа «Надпись» в дерево элементов формы
- 3Задайте свойства: Заголовок, Имя, Шрифт, ЦветТекста
- 4Разместите надпись в нужной группе, проверьте порядок элементов
- 5Сохраните конфигурацию и обновите конфигурацию базы данных (F7)
- 6Откройте форму в режиме 1С:Предприятие и проверьте отображение
Программное создание и изменение надписи
Если текст надписи зависит от данных — например, показывает статус документа или предупреждение при определённых условиях — удобнее управлять элементом из модуля формы. Для этого в редакторе формы перейдите на вкладку «Модуль» и используйте обработчик «ПриСозданииНаСервере» или «ПриОткрытии».
Динамическое создание элемента выполняется через коллекцию «Элементы» формы. Метод Добавить() с типом элемента позволяет создать надпись, указать родителя (группу) и задать заголовок. Пример кода приведён ниже.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыйЭлемент = Элементы.Добавить("НадписьСтатус", Тип("ПолеФормы"));
НовыйЭлемент.Вид = ВидПоляФормы.ПолеНадписи;
НовыйЭлемент.ПутьКДанным = "ТекстСтатуса";
НовыйЭлемент.Заголовок = "Статус";
КонецПроцедуры
Обратите внимание: для поля надписи, привязанного к данным, нужен реквизит формы соответствующего типа (обычно «Строка»). Реквизит добавляется либо в редакторе формы на закладке «Реквизиты», либо программно через метод ИзменитьРеквизиты(). Изменение значения реквизита автоматически обновит текст на форме.
// Изменение текста существующей надписи
Элементы.НадписьПредупреждение.Заголовок = "Документ не проведён";
Элементы.НадписьПредупреждение.ЦветТекста = WebЦвета.Красный;
Элементы.НадписьПредупреждение.Видимость = Истина;Добавление надписи через расширение конфигурации
Если конфигурация типовая и стоит на поддержке, прямое изменение формы приведёт к снятию с поддержки и сложностям при обновлении. В этом случае надпись добавляют через расширение: в конфигураторе откройте «Конфигурация» → «Расширения конфигурации», создайте новое расширение, затем в основной конфигурации найдите нужную форму, вызовите контекстное меню и выберите «Добавить в расширение».
Заимствованная форма откроется в редакторе расширения. Дальнейшие действия идентичны обычному редактированию: добавьте элемент «Надпись», задайте свойства, разместите в нужной группе. При обновлении типовой конфигурации расширение сохранится, хотя после каждого обновления стоит проверять, не изменилась ли структура заимствованной формы.
Настройка внешнего вида: шрифт, цвет, расположение
Чтобы надпись выполняла свою роль — привлекала внимание или, наоборот, служила ненавязчивой подсказкой — настройте её визуальные свойства. Основные из них: «Шрифт» (размер и начертание), «ЦветТекста» (можно указать абсолютный цвет или стилевой, например «ЦветТекстаПредупреждения»), «ЦветФона», «ГоризонтальноеПоложение» и «АвтоМаксимальнаяШирина».
Предпочтительнее использовать стилевые цвета вместо абсолютных: они корректно отображаются при смене темы интерфейса и соответствуют общему оформлению конфигурации. Для длинных текстов включите свойство «АвтоМаксимальнаяШирина» или задайте «МаксимальнаяШирина» в сочетании с переносом строк, иначе надпись может «растянуть» форму.
Если надпись должна быть гиперссылкой (например, открывать другую форму или выполнять команду), используйте вид поля «Поле надписи» с обработчиком «Нажатие» либо элемент «Декорация» с видом «Надпись» и обработчиком нажатия. В управляемых формах именно декорация чаще применяется для статических текстов.
Динамические надписи: привязка к данным формы
Частая задача — показать на форме вычисляемую информацию: сумму прописью, количество дней просрочки, имя ответственного. Для этого создайте реквизит формы (вкладка «Реквизиты» в редакторе формы), например строковый «ИнформационнаяСтрока». Затем добавьте элемент формы, перетащив реквизит в дерево элементов, и установите вид «Поле надписи».
Далее в любом серверном или клиентском обработчике присваивайте реквизиту нужное значение — надпись на форме обновится автоматически. Это правильный паттерн: данные хранятся в реквизите, элемент формы только отображает их. Прямая установка заголовка элемента тоже работает, но хуже сочетается с серверными вызовами и тестированием.
Особенности для обычных форм и внешних обработок
В обычных формах (толстый клиент, старые конфигурации) надпись добавляется через панель элементов управления: «Форма» → «Вставить элемент управления» → «Надпись». Элемент размещается по координатам, а привязка к данным выполняется через свойство «Данные». Программно элемент создаётся методом ЭлементыФормы.Добавить() с типом «Надпись».
Для внешних обработок и отчётов подход тот же, что и для объектов конфигурации: форма создаётся внутри обработки, элементы добавляются в редакторе. Учитывайте, что внешняя обработка не имеет доступа к расширениям, поэтому все доработки формы живут внутри самого файла обработки.
Проверка результата и частые проблемы
После добавления надписи обновите конфигурацию базы данных (клавиша F7) и откройте форму в режиме 1С:Предприятие. Проверьте: надпись видна в нужном месте, текст не обрезан, цвета читаемы, при изменении данных динамическая надпись обновляется. Проверяйте форму и при другой ширине окна — управляемые формы перестраиваются, и элемент может сместиться.
Если надпись не отображается, проверьте по порядку: обновлена ли конфигурация БД, не снят ли флаг «Видимость» у элемента или его родительской группы, не перекрыт ли элемент другой группой, активировано ли расширение (для доработок через расширение). Если надпись видна, но текст пустой — проверьте, что реквизит формы действительно заполняется в коде.
Как проверить результат
Текст виден, не обрезан, находится в нужной группе
Элемент отсутствует или перекрыт — проверьте видимость и порядок в дереве элементов
При изменении реквизита текст надписи меняется
Текст статичен — проверьте привязку ПутьКДанным и заполнение реквизита
Расширение активно, надпись на месте
Расширение отключено из-за изменения формы — требуется адаптация
Что важно запомнить
Статическую надпись добавляйте в редакторе формы как декорацию или элемент «Надпись», динамическую — привязывайте к реквизиту формы. Типовую конфигурацию изменяйте только через расширение. После правок обновляйте конфигурацию БД и проверяйте форму в режиме предприятия при разной ширине окна.
Частые вопросы
Как изменить текст надписи из кода без реквизита формы?
Обратитесь к элементу через коллекцию Элементы и установите свойство Заголовок: Элементы.ИмяНадписи.Заголовок = "Новый текст". Это работает и на клиенте, и на сервере, но для серверных обработчиков надёжнее хранить текст в реквизите формы.
Можно ли сделать надпись многострочной?
Да. Вставьте в текст символы переноса строки (Символы.ПС при программном заполнении) и отключите ограничение ширины или задайте подходящую МаксимальнуюШирину. В редакторе формы перенос вводится через комбинацию Ctrl+Enter в поле заголовка.
Почему надпись не видна после добавления через расширение?
Проверьте, что расширение подключено и активно (в меню «Все функции» → «Расширения конфигурации» в режиме предприятия либо в списке расширений конфигуратора). Также убедитесь, что безопасный режим расширения не блокирует его применение и что роль пользователя имеет доступ к форме.
Как сделать надпись-гиперссылку?
Добавьте декорацию с видом «Надпись» и создайте для неё обработчик события «Нажатие» (или «ОбработкаНавигационнойСсылки» для форматированной строки). В обработчике выполните нужное действие: открытие формы, переход по ссылке, вызов команды.
Нужно ли обновлять конфигурацию базы данных после изменения формы?
Да, если изменение внесено в основную конфигурацию — нажмите F7 или «Конфигурация» → «Обновить конфигурацию базы данных». Для расширений обновление конфигурации БД не требуется: достаточно сохранить расширение и перезапустить сеанс.