ПолеВвода

Типы · TextBox

Поле ввода является наиболее распространенным элементом управления. Оно используется для ввода значений непосредственно в поле, для выбора значений из списков и для выбора ссылок на различные объекты. Набор различных кнопок управления в поле ввода существенно расширяет сферу его применения. В поле ввода допускается ввод символов, разрешенных стандартом XML 1.0. В случае если недопустимые символы встречаются в тексте, вставляемом из буфера обмена или при перетаскивании, они исключаются из вставляемого текста.

Полное описание, параметры и ограничения

ПолеВвода (TextBox)

ПолеВвода (TextBox)

Доступен, начиная с версии 8.0.

Свойства:
АвтоВыборНезаполненного (AutoChoiceIncomplete)
АвтоОтметкаНезаполненного (AutoMarkIncomplete)
АвтоПереносСтрок (Wrap)
ВертикальноеПоложение (VerticalAlign)
ВыбиратьТип (ChooseType)
ВыборНезаполненного (ChoiceIncomplete)
ВыделенныйТекст (SelectedText)
ВыделятьОтрицательные (MarkNegatives)
ВысотаСпискаВыбора (ChoiceListHeight)
ГоризонтальноеПоложение (HorizontalAlign)
Доступность (Enabled)
Картинка (Picture)
КартинкаКнопкиВыбора (SelButtonPicture)
КартинкаКнопкиВыбора (ChoiceButtonPicture)
КнопкаВыбора (ChoiceButton)
КнопкаОткрытия (OpenButton)
КнопкаОчистки (ClearButton)
КнопкаРегулирования (SpinButton)
КнопкаСпискаВыбора (ChoiceListButton)
МаксимальноеЗначение (MaxValue)
Маска (Mask)
МинимальноеЗначение (MinValue)
МногострочныйРежим (MultiLine)
ОграничениеТипа (TypeRestriction)
ОтметкаНезаполненного (MarkIncomplete)
Подсказка (ToolTip)
ПрозрачныйФон (Transparent)
Рамка (Border)
РасширенноеРедактирование (ExtendedEdit)
РедактированиеТекста (TextEdit)
РежимВыбораИзСписка (ListChoiceMode)
РежимВыбораНезаполненного (IncompleteChoiceMode)
РежимПароля (PasswordMode)
СочетаниеКлавиш (Shortcut)
СписокВыбора (ChoiceList)
ТолькоПросмотр (ReadOnly)
Формат (Format)
ЦветРамки (BorderColor)
ЦветТекстаКнопки (ButtonTextColor)
ЦветТекстаПоля (FieldTextColor)
ЦветФонаКнопки (ButtonBackColor)
ЦветФонаПоля (FieldBackColor)
ШиринаСпискаВыбора (ChoiceListWidth)
Шрифт (Font)
ЭлементСвязиПоТипу (TypeLinkItem)

Методы:
ПолучитьГраницыВыделения (GetTextSelectionBounds)
УстановитьГраницыВыделения (SetTextSelectionBounds)

События:
АвтоПодборТекста (AutoCompleteText)
НачалоВыбора (StartChoice)
НачалоВыбораИзСписка (StartListChoice)
ОбработкаВыбора (ChoiceProcessing)
ОкончаниеВводаТекста (TextEditEnd)
Открытие (Opening)
Очистка (Clearing)
ПриИзменении (OnChange)
Регулирование (Tuning)
Создание (Creating)

Описание:

Поле ввода является наиболее распространенным элементом управления. Оно используется для ввода значений непосредственно в поле, для выбора значений из списков и для выбора ссылок на различные объекты. Набор различных кнопок управления в поле ввода существенно расширяет сферу его применения.
В поле ввода допускается ввод символов, разрешенных стандартом XML 1.0. В случае если недопустимые символы встречаются в тексте, вставляемом из буфера обмена или при перетаскивании, они исключаются из вставляемого текста.

Доступность:

Толстый клиент.

См. также:
ПолеВвода, событие АвтоПодборТекста
ПолеВвода, событие ОкончаниеВводаТекста
КолонкаТабличногоПоля, свойство Формат
Расширение поля формы для поля надписи, свойство Формат
Расширение поля формы для поля ввода, свойство Формат

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Настроить оформление и переход к своему описанию

Для текстового поля задаём фон, рамку и шрифт. Сочетание Ctrl+Shift+F8 служит активации поля, не выполнению бизнес-команды.

Где и как запускать

Полный модуль новой обычной формы внешней обработки. Только толстый клиент с обычными формами, не серверный модуль и не управляемая форма.

Подготовка

  1. Создайте отдельную внешнюю обработку с обычной формой в учебной базе, запускайте толстым клиентом в режиме обычных форм. Не вставляйте код в управляемую форму.

  2. В форме создайте реквизиты УчебноеКоличество (Число 9.0), УчебноеОписание (Строка неограниченной длины), УчебныйСтатус (Строка 20), УчебныйПароль (Строка 100). Добавьте поля ввода ПолеКоличество, ПолеОписание, ПолеСтатуса, ПолеПароля, свяжите их Данные с соответствующими реквизитами.

  3. Добавьте обычную кнопку УчебнаяКоманда. Свяжите её действие и событие ПриОткрытии формы с одноимёнными процедурами. Каждый урок заменяет полный модуль только этой собственной формы.

  4. Рабочие данные не используются. Пароль в примере NOT_A_REAL_SECRET — вымышленная учебная строка; не вводите реальные секреты. Значения нигде не сохраняются и не отправляются.

Процедура ПриОткрытии()
    УчебноеКоличество = 3;
    УчебноеОписание = "Книга" + Символы.ПС + "Ручка";
    УчебныйСтатус = "";
    УчебныйПароль = "NOT_A_REAL_SECRET";
    Поле = ЭтаФорма.ЭлементыФормы.ПолеОписание;
    Поле.ЦветТекстаПоля = Новый Цвет(24, 40, 60);
    Поле.ЦветФонаПоля = Новый Цвет(250, 252, 255);
    Поле.ЦветТекстаКнопки = Новый Цвет(24, 40, 60);
    Поле.ЦветФонаКнопки = Новый Цвет(235, 244, 255);
    Поле.ЦветРамки = Новый Цвет(160, 176, 192);
    Поле.ПрозрачныйФон = Ложь;
    Поле.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
    Поле.Шрифт = Новый Шрифт(Поле.Шрифт, , 12, Ложь);
    Поле.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;
    Поле.ВертикальноеПоложение = ВертикальноеПоложение.Верх;
    Поле.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.F8, Ложь, Истина, Истина);
КонецПроцедуры

Процедура УчебнаяКоманда(Кнопка)
    Поле = ЭтаФорма.ЭлементыФормы.ПолеОписание;
    ЭтаФорма.ТекущийЭлемент = Поле;
    Сообщить(ЭтаФорма.ТекущийЭлемент = Поле);
    Сообщить(Поле.Рамка.Толщина = 1);
    Сообщить(Поле.Шрифт.Размер = 12);
    Сочетание = Поле.СочетаниеКлавиш;
    Сообщить(Сочетание.Клавиша = Клавиша.F8 И Сочетание.Ctrl И Сочетание.Shift И Не Сочетание.Alt);
    Сообщить(УчебноеОписание = "Книга" + Символы.ПС + "Ручка");
КонецПроцедуры

Разбор по шагам

  1. Текст поля и встроенных кнопок имеют отдельные цвета. Их фактический вид зависит от темы клиента.

  2. Рамка создаётся новым значением с толщиной в логических единицах.

  3. Конструктор Шрифт на основании прежнего сохраняет имя через пустой второй аргумент, размер задаётся третьим.

  4. Кнопка назначает ТекущийЭлемент своей формы. Сочетание клавиш не вызывает обработчик записи или внешнюю программу.

  5. После настройки проверяем сохранность собственного многострочного текста.

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

  1. Пять сообщений Истина.

  2. Ручная проверка: фокус перешёл к описанию; Ctrl+Shift+F8 активирует поле при отсутствии конфликтующего сочетания клиента.

Ожидаемый результат

Оформление, активация и собственные данные проверены отдельно.

На что обратить внимание

  1. Заданные цвета не являются подтверждением визуального результата в каждой теме.

  2. Не назначайте сочетание, уже занятое важной командой рабочей формы.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Убрать картинки из собственного поля и кнопки выбора

Картинка вида Пустая используется для очистки оформления. Она не удаляет файл и не очищает значение самого реквизита.

Где и как запускать

Полный модуль новой обычной формы внешней обработки. Только толстый клиент с обычными формами, не серверный модуль и не управляемая форма.

Подготовка

  1. Создайте отдельную внешнюю обработку с обычной формой в учебной базе, запускайте толстым клиентом в режиме обычных форм. Не вставляйте код в управляемую форму.

  2. В форме создайте реквизиты УчебноеКоличество (Число 9.0), УчебноеОписание (Строка неограниченной длины), УчебныйСтатус (Строка 20), УчебныйПароль (Строка 100). Добавьте поля ввода ПолеКоличество, ПолеОписание, ПолеСтатуса, ПолеПароля, свяжите их Данные с соответствующими реквизитами.

  3. Добавьте обычную кнопку УчебнаяКоманда. Свяжите её действие и событие ПриОткрытии формы с одноимёнными процедурами. Каждый урок заменяет полный модуль только этой собственной формы.

  4. Рабочие данные не используются. Пароль в примере NOT_A_REAL_SECRET — вымышленная учебная строка; не вводите реальные секреты. Значения нигде не сохраняются и не отправляются.

Процедура ПриОткрытии()
    УчебноеКоличество = 3;
    УчебноеОписание = "Книга" + Символы.ПС + "Ручка";
    УчебныйСтатус = "";
    УчебныйПароль = "NOT_A_REAL_SECRET";
    Поле = ЭтаФорма.ЭлементыФормы.ПолеСтатуса;
    ПустаяКартинка = Новый Картинка;
    Поле.Картинка = ПустаяКартинка;
    Поле.КартинкаКнопкиВыбора = ПустаяКартинка;
    Поле.КнопкаВыбора = Ложь;
    УчебныйСтатус = "draft";
КонецПроцедуры

Процедура УчебнаяКоманда(Кнопка)
    Поле = ЭтаФорма.ЭлементыФормы.ПолеСтатуса;
    Сообщить(ТипЗнч(Поле.Картинка) = Тип("Картинка"));
    Сообщить(ТипЗнч(Поле.КартинкаКнопкиВыбора) = Тип("Картинка"));
    Сообщить(УчебныйСтатус = "draft");
КонецПроцедуры

Разбор по шагам

  1. Новый Картинка без аргументов создаёт пустое значение, а не загружает изображение с диска.

  2. Картинка поля и КартинкаКнопкиВыбора относятся к двум разным местам интерфейса.

  3. Пустое значение соответствует разрешённому виду картинки у кнопки выбора; произвольный PNG не подставляется в API с ограничением Пустая/ИзБиблиотеки.

  4. Кнопка выбора здесь выключена, потому что учебная строка не связана с формой выбора рабочего объекта.

  5. Значение draft в собственном реквизите не меняется при очистке картинок.

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

  1. Три сообщения Истина.

  2. Нет загрузки, создания или удаления файла изображения.

Ожидаемый результат

Очистка картинок отделена от очистки значения поля.

На что обратить внимание

  1. Пустая картинка и пустая строка реквизита — разные значения.

  2. Установленная справка содержит два представления свойства кнопки выбора; в коде используется нормальное имя без служебного суффикса экспортёра.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.