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

Учебные задачи

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

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

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

Подготовка

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

  2. В реквизитах формы добавьте УчебныйТекст типа ФорматированныйДокумент. Перетащите его на форму: поле ПолеУчебногоТекста, Вид = Поле форматированного документа, Только просмотр = Да.

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

  4. Событие формы ПриСозданииНаСервере свяжите с одноимённой процедурой. Вставьте ВЕСЬ модуль и откройте учебную EPF в клиенте Windows.

  5. Это собственная учебная памятка. Она не является макетом рабочего отчёта и не отправляется на принтер.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    УчебныйТекст = СоздатьУчебнуюПамятку();
КонецПроцедуры

&НаСервереБезКонтекста
Функция СоздатьУчебнуюПамятку()
    Документ = Новый ФорматированныйДокумент;
    Заголовок = Документ.Добавить("Расчёт учебной покупки");
    Заголовок.Шрифт = Новый Шрифт("Arial", 16, Истина);
    Заголовок.ЦветТекста = Новый Цвет(25, 50, 80);
    Заголовок.Родитель.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
    Шаг1 = Документ.Элементы.Добавить(Неопределено, Неопределено);
    Шаг1.ТипПараграфа = ТипПараграфаФорматированногоДокумента.НумерованныйСписок;
    Шаг1.Отступ = 12;
    Шаг1.МеждустрочныйИнтервал = 1.2;
    Шаг1.Элементы.Добавить("Выберите товар: Книга.");
    Шаг2 = Документ.Элементы.Добавить(Неопределено, Неопределено);
    Шаг2.ТипПараграфа = ТипПараграфаФорматированногоДокумента.НумерованныйСписок;
    Шаг2.Отступ = 12;
    Шаг2.МеждустрочныйИнтервал = 1.2;
    Шаг2.Элементы.Добавить("Количество 3, цена 250 руб., сумма 3 × 250 = 750 руб.");
    Итог = Документ.Элементы.Добавить(Неопределено, Неопределено);
    Итог.ТипПараграфа = ТипПараграфаФорматированногоДокумента.Обычный;
    ТекстИтога = Итог.Элементы.Добавить("Итого: 750 руб. Ничего не записано в базу.");
    ТекстИтога.ЦветТекста = Новый Цвет(20, 110, 50);
    ТекстИтога.ЦветФона = Новый Цвет(235, 248, 239);
    ТекстИтога.Шрифт = Новый Шрифт("Arial", 12, Истина);
    Возврат Документ;
КонецФункции

&НаКлиенте
Процедура УчебныйПример(Команда)
    Сумма = 3 * 250;
    Сообщить(Сумма = 750);
    Сообщить(СтрНайти(УчебныйТекст.ПолучитьТекст(), "750 руб.") > 0);
КонецПроцедуры

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

  1. УчебныйТекст — реквизит именно этой учебной формы, поле связано с ним путём к данным.

  2. Объект ФорматированныйДокумент содержит корневую коллекцию параграфов. Внутри параграфа — текстовые элементы, картинки и переводы строк.

  3. Добавить у документа создаёт текст; через Родитель получаем его параграф для выравнивания заголовка.

  4. Добавить(Неопределено, Неопределено) у корневой коллекции создаёт пустой параграф. Добавить у его Элементы создаёт содержимое этого параграфа.

  5. Отступ измеряется в поинтах, МеждустрочныйИнтервал — относительный множитель размера шрифта. Это разные единицы.

  6. Кнопка проверяет расчёт и наличие итога в тексте; она не проводит документ и не печатает.

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

  1. В форме видны заголовок по центру, два нумерованных пункта и выделенный итог 750 руб.

  2. Кнопка выводит две Истина; поле в режиме Только просмотр не позволяет менять памятку.

  3. Проверьте оформление визуально в своём клиенте: эти сообщения проверяют расчёт и текст, не пиксельный вид.

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

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

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

  1. Если поле отображает не документ, проверьте Вид поля и ПутьКДанным=УчебныйТекст.

  2. Сами строки нумерованных пунктов не содержат цифр: номера отображает ТипПараграфа.

  3. Внешний вид шрифта зависит от наличия Arial и среды клиента; это не доказательство одинаковой вёрстки во всех клиентах.

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

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

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

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

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