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

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

Как добавить текст на форму 1С: надписи, поля и программное заполнение

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

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

Работа ведётся в конфигураторе в редакторе формы. Для типовых конфигураций перед изменением формы нужно включить возможность изменения или добавить расширение — прямое редактирование типовых объектов усложняет обновление. В тонком клиенте и веб-клиенте используется управляемая форма, поэтому дальнейшие инструкции ориентированы именно на неё.

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

Откройте форму в конфигураторе и включите редактирование

Запустите конфигуратор, откройте конфигурацию и найдите нужный объект: справочник, документ или обработку. Раскройте ветку объекта, перейдите в «Формы», дважды щёлкните по основной форме — откроется редактор с деревом элементов слева и предварительным просмотром справа.

Если конфигурация типовая и находится на поддержке, при попытке изменить форму появится ограничение. Нажмите кнопку «Включить возможность изменения» в командной панели окна формы. Учтите: объект с изменениями потребует аккуратного сравнения при каждом обновлении конфигурации поставщика.

Добавьте статический текст через декорацию «Надпись»

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

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

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

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

Форматированная строка в надписи

Если нужно выделить часть текста цветом или сделать гиперссылку, установите у декорации свойство «Вид» в значение, поддерживающее форматированную строку, и заполняйте заголовок программно через объект «ФорматированнаяСтрока». Это позволяет, например, сделать часть текста ссылкой на инструкцию.

Добавьте редактируемое текстовое поле

Когда пользователь должен вводить текст (комментарий, примечание, произвольное описание), нужна не декорация, а поле ввода, связанное с реквизитом. Сначала создайте реквизит: в дереве объекта добавьте реквизит с типом «Строка» и нужной длиной (или неограниченной длиной) либо реквизит формы через вкладку «Реквизиты» редактора формы.

Затем перетащите реквизит из панели реквизитов в дерево элементов формы — платформа автоматически создаст поле ввода с отображением типа. Для многострочного ввода установите у поля свойство «МногострочныйРежим» в «Истина» и при необходимости «КнопкаВыпадающегоСписка» для истории ввода.

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

Декорация «Надпись»

Подходит для статических подсказок и заголовков. Текст не редактируется пользователем и не хранится в данных.

Поле ввода с реквизитом объекта

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

Поле с реквизитом формы

Подходит для временного текста, который нужен только на время работы с формой и не должен сохраняться.

Программный вывод

Подходит для динамических сообщений, зависящих от данных: остатков, статусов, предупреждений.

Выведите текст программно из модуля формы

Динамический текст — например, «Остаток на складе: 15 шт.» — формируется в модуле формы. Добавьте на форму декорацию-надпись, задайте ей имя (например, НадписьСтатус), а в модуле формы присвойте заголовок в нужном обработчике.

bsl
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Элементы.НадписьСтатус.Заголовок = "Данные загружены: " + Формат(ТекущаяДата(), "ДЛФ=D");
КонецПроцедуры

Частые точки вызова: обработчик ПриСозданииНаСервере для начального заполнения, ПриОткрытии для клиентских проверок, обработчики изменения полей — для обновления текста при редактировании данных. Помните о контексте: обращение к данным объекта из клиентской процедуры без серверного вызова может привести к ошибке передачи данных.

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

Добавьте текст на форму без конфигуратора через расширение

Если конфигурация типовая и менять её нельзя, создайте расширение: «Конфигурация → Расширения конфигурации → Создать». В расширении добавьте заимствованную форму нужного объекта и измените её так же, как в основной конфигурации: добавьте надпись или поле.

Расширение применяется без снятия конфигурации с поддержки и не мешает обновлениям. Ограничение: в расширении нельзя добавлять реквизиты в типовые объекты в старых версиях платформы, поэтому для редактируемого текста иногда приходится хранить значение в дополнительных сведениях или регистре сведений.

Проверьте результат и избегайте типичных ошибок

После сохранения формы обновите конфигурацию базы данных (F7), если добавляли реквизиты, и запустите режим предприятия. Откройте форму и проверьте: текст отображается полностью, не перекрывает другие элементы, корректно ведёт себя при растягивании окна и в веб-клиенте, если он используется.

Типичные ошибки
01
Добавление надписи в корень дерева вместо нужной группы — текст появляется не в том месте формы
02
Забытый флаг «МногострочныйРежим» — длинный текст в поле ввода обрезается одной строкой
03
Обращение к серверным данным из клиентской процедуры — ошибка «Передача данных между клиентом и сервером невозможна»
04
Изменение типовой формы без расширения — конфликты и потеря доработок при обновлении
05
Свойство «АвтоМаксимальнаяШирина» у надписи — заголовок обрывается многоточием
Контрольные точки

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

Видимость текста
Норма

Надпись видна в нужной группе формы

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

Элемент есть в дереве, но на форме не отображается — проверьте свойство «Видимость» и родительскую группу

Сохранение введённого текста
Норма

После записи и повторного открытия текст на месте

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

Текст пропадает — поле привязано к реквизиту формы, а не объекта

Поведение при обновлении
Норма

Типовая конфигурация обновляется без конфликтов

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

Обновление требует ручного сравнения форм — доработка сделана напрямую, а не в расширении

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

Итог

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

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

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

Можно ли добавить текст на форму без конфигуратора?

Полноценно — нет. Команда «Изменить форму» в режиме предприятия позволяет только скрывать, перемещать элементы и настраивать их свойства отображения. Для добавления новой надписи или поля нужен конфигуратор или расширение конфигурации.

Почему надпись добавлена, но не видна на форме?

Чаще всего у элемента снято свойство «Видимость», он попал в свёрнутую или скрытую группу, либо программный код в модуле формы переопределяет видимость. Проверьте также, не оказался ли элемент за пределами видимой области из-за настроек растягивания родительской группы.

Как сделать текст на форме многострочным?

Для надписи просто введите переносы строк в заголовок — они отобразятся. Для поля ввода установите свойство «МногострочныйРежим» в «Истина», тогда в поле появятся полосы прокрутки и возможность вводить несколько строк.

Текст в поле пропадает после записи и закрытия формы. В чём причина?

Поле связано с реквизитом формы, который существует только пока форма открыта. Чтобы текст сохранялся, привяжите поле к реквизиту объекта (справочника или документа) либо сохраняйте значение в дополнительном сведении или регистре сведений.

Как изменить цвет или шрифт текста надписи?

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

Безопасно ли менять форму типовой конфигурации напрямую?

Технически возможно, но рискованно: при обновлении конфигурации поставщиком изменённые формы сравниваются, и доработки могут конфликтовать с новыми версиями. Рекомендуемый путь — расширение конфигурации, которое накладывается поверх типовой и не мешает обновлениям.