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

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

Как вывести надпись на форму 1С

Как вывести надпись на форму 1С: декорация, элемент Надпись, программное создание и изменение текста. Примеры кода для управляемых и обычных форм.

Надпись на форме в 1С — один из самых частых элементов интерфейса: подсказки для пользователя, заголовки блоков, информационные сообщения, статусы документа. Способ вывода зависит от типа формы (управляемая или обычная) и от задачи: статический текст добавляется через конфигуратор, динамический — программно из модуля формы.

В управляемых формах (режим «Такси» и обычный интерфейс 8.3) надпись создаётся как элемент формы с видом «Поле надписи» или «Декорация формы». В обычных формах используется элемент управления «Надпись». Ниже разобраны оба подхода с примерами кода.

Способы вывода надписи: что выбрать

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

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

Сравнение вариантов

Декорация-надпись

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

Поле надписи с реквизитом

Текст хранится в реквизите формы и меняется кодом в любой момент. Оптимально для статусов и сообщений

Программное создание

Элемент создаётся кодом при открытии формы. Для динамических интерфейсов, сложнее в отладке

Надпись через конфигуратор (управляемая форма)

Откройте нужную форму объекта в конфигураторе (например, форму документа). В дереве элементов формы выберите место, куда нужно поместить надпись — обычно это группа или корень формы. Через контекстное меню выберите «Добавить» → «Декорация» либо перетащите элемент из палитры.

В палитре свойств нового элемента задайте вид «Надпись» (если декорация создана как «Картинка», смените вид) и впишите нужный текст в свойство «Заголовок». Там же настраиваются цвет текста, шрифт, горизонтальное положение и высота. После сохранения конфигурации и обновления базы надпись появится на форме.

Порядок действий
  1. 1
    Откройте форму в конфигураторе
  2. 2
    Добавьте элемент «Декорация» в нужную группу
  3. 3
    Установите вид «Надпись» и введите текст в свойство «Заголовок»
  4. 4
    Настройте цвет и шрифт при необходимости
  5. 5
    Сохраните конфигурацию и обновите базу данных (F7)
  6. 6
    Откройте форму в режиме предприятия и проверьте результат

Динамическая надпись через реквизит формы

Когда текст должен меняться — например, отображать состояние документа или результат проверки, — создайте реквизит формы. В редакторе формы перейдите на вкладку «Реквизиты», добавьте реквизит с типом «Строка», например с именем «ТекстСтатуса».

Перетащите реквизит в дерево элементов формы — автоматически создастся поле. В свойствах поля установите вид «Поле надписи», чтобы значение отображалось как текст, а не как поле ввода. Теперь текст меняется присваиванием значения реквизиту:

&НаКлиенте

Процедура ПроверитьСтатус(Команда)

Если Объект.Проведен Тогда

ТекстСтатуса = "Документ проведён";

Иначе

ТекстСтатуса = "Документ не проведён";

КонецЕсли;

КонецПроцедуры

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

Программное создание надписи

Элемент формы можно создать кодом, обычно в обработчике «ПриСозданииНаСервере». Сначала добавляется реквизит формы через метод «ИзменитьРеквизиты», затем создаётся элемент и связывается с реквизитом:

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Добавляемые = Новый Массив;

Добавляемые.Добавить(Новый РеквизитФормы("НадписьИнфо",

Новый ОписаниеТипов("Строка"), , "Информация", Ложь));

ИзменитьРеквизиты(Добавляемые);

Элемент = Элементы.Добавить("НадписьИнфо", Тип("ПолеФормы"), ЭтаФорма);

Элемент.Вид = ВидПоляФормы.ПолеНадписи;

Элемент.ПутьКДанным = "НадписьИнфо";

ЭтаФорма.НадписьИнфо = "Текст, созданный программно";

КонецПроцедуры

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

Надпись в обычной форме (1С 8.2 и старше)

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

Программно текст меняется через обращение к элементу: ЭлементыФормы.Надпись1.Заголовок = "Новый текст";. В обычных формах допустимо менять заголовок элемента напрямую, без реквизита — это заметное отличие от управляемых форм, где предпочтительна связь с данными.

Оформление и условное выделение надписи

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

Если цвет должен зависеть от данных (например, красный при ошибке и зелёный при успехе), используйте условное оформление формы: вкладка «Условное оформление» в редакторе формы, где по условию на реквизит назначается оформление элемента. Либо меняйте свойство «ЦветТекста» программно через объект «Элементы.ИмяЭлемента» — в управляемых формах это доступно на сервере.

Типичные ошибки
01
Попытка изменить текст декорации-надписи кодом без реквизита — в управляемой форме заголовок элемента часто недоступен на клиенте, используйте реквизит
02
Элемент создан, но не указано свойство «ПутьКДанным» — надпись отображается пустой
03
Надпись добавлена не в ту группу — из-за группировки элемент не виден или съехал
04
Изменения внесены в конфигуратор, но база не обновлена — в режиме предприятия надпись не появляется

Проверка результата и отладка

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

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

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

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

Видимость надписи
Норма

Текст отображается на форме в нужном месте

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

Элемент отсутствует — проверьте свойство «Видимость» и родительскую группу

Обновление текста
Норма

При изменении реквизита текст на форме меняется сразу

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

Текст статичен — проверьте «ПутьКДанным» элемента

Обрезка текста
Норма

Весь текст помещается и читается

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

Текст обрезан — увеличьте ширину или включите автовысоту

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

Как вывести многострочную надпись?

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

Можно ли сделать надпись-гиперссылку?

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

Как вывести надпись с форматированием — жирным шрифтом части текста?

Используйте реквизит типа «ФорматированнаяСтрока» вместо «Строка». Форматированная строка собирается программно из частей с разным оформлением: шрифт, цвет, ссылки. Свяжите реквизит с полем надписи — форма отобразит смешанное форматирование.

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

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

Как скрыть надпись по условию?

Обратитесь к элементу через коллекцию «Элементы» и установите свойство «Видимость»: Элементы.НадписьИнфо.Видимость = Ложь. В управляемых формах это делается в серверной процедуре или в контексте, где доступны элементы формы.

Итог

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

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