Расширение форматированного документа.РастягиватьПоГоризонтали

Свойства

Указывает возможность растягивания поля по горизонтали. Истина - растягивание разрешено.

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

Указывает возможность растягивания поля по горизонтали.
Истина - растягивание разрешено.

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

Настроить поле форматированной памятки и отделить стиль от текста

Памятка содержит Книга: 3 × 250 = 750. Размеры и шрифт поля настраиваем отдельно от форматирования отдельных фрагментов самого документа.

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

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

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте внешнюю обработку УчебныеПоляДокументов85 с пустой управляемой основной формой. Запускайте в тонком клиенте Windows; веб-клиент в этот урок не входит.

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

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

  4. Поле связано с реквизитом УчебныйДокумент типа ФорматированныйДокумент. Объект документа содержит данные, элемент ПолеДокумента отвечает за отображение и пользовательские действия.

  5. Документ создаётся заново из собственных констант. Книга: 3 штуки по 250, сумма 750. Реальные документы, справочники, файлы, сертификаты и сетевые адреса не используются.

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

  7. Размеры и ограничения элемента задаются на сервере создания формы. Кнопка выполняет клиентские проверки или явно описанное учебное изменение.

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("УчебныйДокумент", Новый ОписаниеТипов("ФорматированныйДокумент")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Документ = Новый ФорматированныйДокумент;
    Документ.УстановитьФорматированнуюСтроку(Новый ФорматированнаяСтрока("Книга: 3 × 250 = 750"));
    ЭтаФорма.УчебныйДокумент = Документ;
    Поле = Элементы.Добавить("ПолеДокумента", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеФорматированногоДокумента;
    Поле.ПутьКДанным = "УчебныйДокумент";
    Поле.АвтоМаксимальнаяВысота = Ложь;
    Поле.АвтоМаксимальнаяШирина = Ложь;
    Поле.Высота = 12;
    Поле.Ширина = 80;
    Поле.МаксимальнаяВысота = 24;
    Поле.МаксимальнаяШирина = 110;
    Поле.РастягиватьПоВертикали = Истина;
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.ЦветТекста = Новый Цвет(20, 65, 95);
    Поле.ЦветРамки = Новый Цвет(95, 120, 145);
    Поле.Шрифт = Новый Шрифт("Arial", 12);

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

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Поле = Элементы.ПолеДокумента;
    Сообщить(Не Поле.АвтоМаксимальнаяВысота И Не Поле.АвтоМаксимальнаяШирина);
    Сообщить(Поле.Высота = 12 И Поле.Ширина = 80);
    Сообщить(Поле.МаксимальнаяВысота = 24 И Поле.МаксимальнаяШирина = 110);
    Сообщить(Поле.РастягиватьПоВертикали И Поле.РастягиватьПоГоризонтали);
    Сообщить(Поле.ЦветТекста = Новый Цвет(20, 65, 95));
    Сообщить(Поле.ЦветРамки = Новый Цвет(95, 120, 145));
    Сообщить(ТипЗнч(Поле.Шрифт) = Тип("Шрифт"));
    Сообщить(СтрНайти(УчебныйДокумент.ПолучитьТекст(), "750") > 0);
КонецПроцедуры

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

  1. Содержимое ФорматированныйДокумент устанавливаем через ФорматированнаяСтрока без индивидуального шрифта и цвета фрагментов.

  2. Само поле имеет свои размер, максимумы, цвета и шрифт. Настраиваем его после привязки к документу.

  3. Если отдельный фрагмент документа получил своё оформление, оно может отличаться от общего стиля поля; это не ошибка расчёта суммы.

  4. У поля вне таблицы не используем ЦветФона: установленная справка ограничивает применение этого свойства размещением в таблице.

  5. Кнопка проверяет свойства представления и сохранённый текст суммы. Внешний вид проверяем в открытой форме.

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

  1. Ожидаются восемь Истина. Строка собственного расчёта остаётся Книга: 3 × 250 = 750.

  2. Для сравнения оформите отдельно слово Книга в документе: локальный стиль фрагмента и общий шрифт поля изучайте раздельно.

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

Собственная памятка показана в настроенном управляемом поле без неверного применения фона вне таблицы.

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

  1. Это ФорматированныйДокумент, не строка HTML и не DOM браузера.

  2. Не приравнивайте логические размеры поля к пикселям или размерам печатной страницы.

  3. Свойства поля не вычисляют сумму: 750 задана собственным учебным содержимым.

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

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

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

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

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