Законченная собственная форма отображает заголовок, нумерованные шаги и зелёный итог. Пользователь может сверить расчёт кнопкой без записи в базу.
Где и как запускать
Полный модуль отдельной управляемой формы с реквизитом УчебныйТекст, полем и командой, перечисленными в подготовке.
Подготовка
Создайте отдельную учебную внешнюю обработку и пустую управляемую основную форму.
В реквизитах формы добавьте УчебныйТекст типа ФорматированныйДокумент. Перетащите его на форму: поле ПолеУчебногоТекста, Вид = Поле форматированного документа, Только просмотр = Да.
Создайте команду УчебныйПример и кнопку этой команды. Действие команды свяжите с процедурой УчебныйПример.
Событие формы ПриСозданииНаСервере свяжите с одноимённой процедурой. Вставьте ВЕСЬ модуль и откройте учебную EPF в клиенте Windows.
Это собственная учебная памятка. Она не является макетом рабочего отчёта и не отправляется на принтер.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УчебныйТекст = СоздатьУчебнуюПамятку();
КонецПроцедуры
&НаСервереБезКонтекста
Функция СоздатьУчебнуюПамятку()
Документ = Новый ФорматированныйДокумент;
Заголовок = Документ.Добавить("Расчёт учебной покупки");
Заголовок.Шрифт = Новый Шрифт("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);
КонецПроцедурыРазбор по шагам
УчебныйТекст — реквизит именно этой учебной формы, поле связано с ним путём к данным.
Объект ФорматированныйДокумент содержит корневую коллекцию параграфов. Внутри параграфа — текстовые элементы, картинки и переводы строк.
Добавить у документа создаёт текст; через Родитель получаем его параграф для выравнивания заголовка.
Добавить(Неопределено, Неопределено) у корневой коллекции создаёт пустой параграф. Добавить у его Элементы создаёт содержимое этого параграфа.
Отступ измеряется в поинтах, МеждустрочныйИнтервал — относительный множитель размера шрифта. Это разные единицы.
Кнопка проверяет расчёт и наличие итога в тексте; она не проводит документ и не печатает.
Как проверить результат
В форме видны заголовок по центру, два нумерованных пункта и выделенный итог 750 руб.
Кнопка выводит две Истина; поле в режиме Только просмотр не позволяет менять памятку.
Проверьте оформление визуально в своём клиенте: эти сообщения проверяют расчёт и текст, не пиксельный вид.
Ожидаемый результат
Получена самостоятельная читаемая учебная памятка на управляемой форме.
На что обратить внимание
Если поле отображает не документ, проверьте Вид поля и ПутьКДанным=УчебныйТекст.
Сами строки нумерованных пунктов не содержат цифр: номера отображает ТипПараграфа.
Внешний вид шрифта зависит от наличия Arial и среды клиента; это не доказательство одинаковой вёрстки во всех клиентах.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.