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