Расширение поля формы для поля ввода.АвтоПереносСтрок

Свойства · Wrap

Тип: Булево. Управляет автоматическим переносом строк. Истина - выполняется автоперенос строк.

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

Расширение поля формы для поля ввода.АвтоПереносСтрок (Form field extension for a text box.Wrap)

Расширение поля формы для поля ввода (Form field extension for a text box)

АвтоПереносСтрок (Wrap)

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

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Управляет автоматическим переносом строк.
Истина - выполняется автоперенос строк.
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Изменение свойства на клиенте может потребовать обращения к серверу.

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

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

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

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

Сделать читаемое многострочное поле описания с подсказкой

Пустое поле показывает подсказку без заголовка. Введённое описание переносится по ширине; размеры, цвет и шрифт заданы на создании формы.

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

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

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

  2. Не добавляйте вручную реквизит ЗначениеПримера, поле ПолеПримера и команду УчебноеДействие: их создаст код.

  3. В свойствах формы → События свяжите ПриСозданииНаСервере с одноимённой процедурой. Вставьте весь модуль, включая клиентские и серверные процедуры.

  4. Сохраните учебную EPF и откройте через Файл → Открыть в тонком или толстом клиенте Windows. Рабочие данные не читаются и не записываются.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    ТипРеквизита = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(500));
    Новые.Добавить(Новый РеквизитФормы("ЗначениеПримера", ТипРеквизита));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    ЭтаФорма.ЗначениеПримера = "";
    Поле = Элементы.Добавить("ПолеПримера", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеВвода;
    Поле.ПутьКДанным = "ЗначениеПримера";
    Поле.Заголовок = "Учебное описание";
    Поле.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
    Поле.ПодсказкаВвода = "Описание учебного товара — не более 500 символов";
    Поле.МногострочныйРежим = Истина;
    Поле.АвтоПереносСтрок = Истина;
    Поле.Высота = 5;
    Поле.Ширина = 60;
    Поле.АвтоМаксимальнаяВысота = Ложь;
    Поле.МаксимальнаяВысота = 8;
    Поле.АвтоМаксимальнаяШирина = Ложь;
    Поле.МаксимальнаяШирина = 90;
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Ложь;
    Поле.ЦветФона = Новый Цвет(245, 248, 252);
    Поле.ЦветТекста = Новый Цвет(25, 45, 70);
    Поле.ЦветРамки = Новый Цвет(160, 180, 200);
    Поле.Шрифт = Новый Шрифт("Arial", 11);

    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить длину описания";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Если ПустаяСтрока(ЗначениеПримера) Тогда
        Сообщить("Введите описание учебного товара.");
        Возврат;
    КонецЕсли;
    Сообщить("Длина текста: " + Строка(СтрДлина(ЗначениеПримера)));
    Сообщить("Текст сохраняется только до закрытия учебной формы");
КонецПроцедуры

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

  1. Реквизит ограничен 500 символами; это ограничение данных, отдельно от ширины визуального поля.

  2. ПодсказкаВвода видна у пустого строкового поля без фокуса, когда заголовок скрыт.

  3. МногострочныйРежим разрешает несколько строк; АвтоПереносСтрок переносит длинную строку по ширине поля.

  4. Высота/Ширина измеряются единицами формы, не пикселями. При отключении автоматического максимума применяются заданные пределы.

  5. Цвета и шрифт улучшают оформление. Команда проверяет пустой текст и сообщает длину без записи в базу.

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

  1. При открытии пустое поле без фокуса показывает подсказку внутри себя.

  2. Введите несколько строк и длинное предложение: переносится текст, а не изменяется длина реквизита.

  3. После очистки команда просит описание; для непустого текста сообщает длину.

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

Создано читаемое поле описания с ограничением данных, переносом строк и проверяемым поведением подсказки.

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

  1. Автоматический перенос по ширине не добавляет обязательные переводы строк в хранимый текст.

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

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

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

Заменить выделенное слово в управляемом поле

В собственном описании Книга/Ручка выделяем первое слово мышью. Возвращаем реальные границы и заменяем только это выделение.

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

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

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

  2. Не добавляйте вручную реквизит ЗначениеПримера, поле ПолеПримера и команду УчебноеДействие: их создаст код.

  3. В свойствах формы → События свяжите ПриСозданииНаСервере с одноимённой процедурой. Вставьте весь модуль, включая клиентские и серверные процедуры.

  4. Сохраните учебную EPF и откройте через Файл → Открыть в тонком или толстом клиенте Windows. Рабочие данные не читаются и не записываются.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    ТипРеквизита = Новый ОписаниеТипов("Строка");
    Новые.Добавить(Новый РеквизитФормы("ЗначениеПримера", ТипРеквизита));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    ЭтаФорма.ЗначениеПримера = "Книга" + Символы.ПС + "Ручка";
    Поле = Элементы.Добавить("ПолеПримера", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеВвода;
    Поле.ПутьКДанным = "ЗначениеПримера";
    Поле.Заголовок = "Заменить выделенное слово в управляемом поле";
    Поле.МногострочныйРежим = Истина;
    Поле.АвтоПереносСтрок = Истина;
    Поле.РасширенноеРедактирование = Истина;
    Поле.Высота = 4;
    Поле.Ширина = 50;

    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить свой пример";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Поле = Элементы.ПолеПримера;
    Если Поле.ВыделенныйТекст <> "Книга" Тогда
        Сообщить("Сначала выделите мышью слово Книга в собственном поле");
        Возврат;
    КонецЕсли;
    НачалоСтроки = 0;
    НачалоКолонки = 0;
    КонецСтроки = 0;
    КонецКолонки = 0;
    Поле.ПолучитьГраницыВыделения(НачалоСтроки, НачалоКолонки, КонецСтроки, КонецКолонки);
    Поле.УстановитьГраницыВыделения(НачалоСтроки, НачалоКолонки, КонецСтроки, КонецКолонки);
    Сообщить(Поле.ВыделенныйТекст = "Книга");
    Поле.ВыделенныйТекст = "Учебная книга";
    Сообщить(ЗначениеПримера = "Учебная книга" + Символы.ПС + "Ручка");
    Сообщить(СтрШаблон("Полученные границы: %1:%2 — %3:%4", НачалоСтроки, НачалоКолонки, КонецСтроки, КонецКолонки));
КонецПроцедуры

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

  1. Код создаёт отдельное поле, не колонку таблицы: свойство ВыделенныйТекст не используется внутри таблицы.

  2. РасширенноеРедактирование меняет обработку Tab: в текст вставляется табуляция вместо перехода к другому полю.

  3. Четыре числовые переменные получают координаты от элемента. Начало отсчёта не угадывается.

  4. УстановитьГраницыВыделения получает те же четыре координаты. После записи ВыделенныйТекст выделение сбрасывается.

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

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

  1. Без выделения Книга появляется инструкция, текст не меняется.

  2. После правильного выделения два сравнения Истина и диагностические координаты.

  3. Для повторения исходного упражнения закройте и снова откройте форму.

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

Замена проверена на своём многострочном тексте без произвольных координат.

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

  1. Четырёхкоординатный вариант установки границ не поддерживается мобильным клиентом и мобильным приложением; упражнение для Windows/веб-клиента.

  2. Код не выполняет глобальную замену всех вхождений и не редактирует рабочий документ.

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

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

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

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

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