Настройки относятся к элементу формы; исходные 32×32 пикселя и две страницы TIFF не меняются.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
Создайте отдельную внешнюю обработку с пустой управляемой основной формой. Вставьте полный модуль; каждый урок — отдельная копия формы.
Свяжите ПриСозданииНаСервере формы с одноимённой процедурой. Реквизиты, поле картинки и кнопку вручную не создавайте.
Двухстраничный TIFF 32×32 включён в код: первая страница светло-серая, вторая тёмно-серая. Это собственные контрольные пиксели, не скан рабочего документа.
Картинка помещается во временное хранилище с идентификатором этой формы. Адрес действителен в её сеансе; не сохраняйте его в справочник как постоянный файл.
Нет загрузки из сети, чтения чужого файла, записи документа или печати. Настольный тонкий/толстый клиент; отдельные визуальные свойства можно сравнить в веб-клиенте.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
Новые.Добавить(Новый РеквизитФормы("АдресУчебнойКартинки", Новый ОписаниеТипов("Строка")));
Новые.Добавить(Новый РеквизитФормы("ПолныйУчебныйАдрес", Новый ОписаниеТипов("Строка")));
ЭтаФорма.ИзменитьРеквизиты(Новые);
ДанныеTIFF = Base64Значение("SUkqAAgAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AAAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAHoAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AQAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAAAAAADw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQA==");
СвояКартинка = Новый Картинка(ДанныеTIFF);
Если СвояКартинка.КоличествоКадров() <> 2 Тогда
ВызватьИсключение "В учебном TIFF должно быть две страницы";
КонецЕсли;
ЭтаФорма.ПолныйУчебныйАдрес = ПоместитьВоВременноеХранилище(СвояКартинка, ЭтаФорма.УникальныйИдентификатор);
ЭтаФорма.АдресУчебнойКартинки = ЭтаФорма.ПолныйУчебныйАдрес;
Поле = Элементы.Добавить("УчебнаяКартинка", Тип("ПолеФормы"));
Поле.Вид = ВидПоляФормы.ПолеКартинки;
Поле.ПутьКДанным = "АдресУчебнойКартинки";
Поле.Заголовок = "Собственные две страницы TIFF";
Поле.Гиперссылка = Ложь;
Поле.РазрешитьНачалоПеретаскивания = Ложь;
Поле.РазрешитьПеретаскивание = Ложь;
Поле.СпособПеретаскиванияФайлов = СпособПеретаскиванияФайлов.КакСсылкаНаФайл;
Поле.АвтоМаксимальнаяВысота = Ложь;
Поле.АвтоМаксимальнаяШирина = Ложь;
Поле.Высота = 8;
Поле.Ширина = 30;
Поле.МаксимальнаяВысота = 14;
Поле.МаксимальнаяШирина = 60;
Поле.РастягиватьПоГоризонтали = Истина;
Поле.РастягиватьПоВертикали = Ложь;
Поле.РазмерКартинки = РазмерКартинки.Пропорционально;
Поле.Рамка = Новый Рамка(ТипРамки.Одинарная);
Поле.ЦветРамки = Новый Цвет(160, 176, 192);
Поле.ЦветКартинки = Новый Цвет(30, 110, 80);
Поле.ОтображениеФона = ОтображениеФонаКартинки.ОтображатьИНеУвеличиватьРазмер;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить свою картинку";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Поле = Элементы.УчебнаяКартинка;
Сообщить(Не Поле.АвтоМаксимальнаяВысота И Не Поле.АвтоМаксимальнаяШирина);
Сообщить(Поле.Высота = 8 И Поле.Ширина = 30);
Сообщить(Поле.МаксимальнаяВысота = 14 И Поле.МаксимальнаяШирина = 60);
Сообщить(Поле.РастягиватьПоГоризонтали И Не Поле.РастягиватьПоВертикали);
Сообщить(Поле.ПолучитьКоличествоКадров() = 2);
КонецПроцедурыРазбор по шагам
Высота в строках и Ширина в символах — единицы формы, а не размеры TIFF в пикселях.
Выключаем автоматические максимумы, чтобы применять явные пределы 14 и 60.
Пропорционально сохраняет отношение сторон. Растяжение поля и подгонка картинки — разные настройки.
Рамка простая одинарная, для неё применяется ЦветРамки; выпуклая/вдавленная рамка использовала бы цвет фона.
ОтображениеФона поля в Такси/Версия8_2 всегда интерпретируется как НеОтображать. Видимый эффект сравнивайте в Версия8_5.
ЦветКартинки задаёт свойство отображения; изменение конкретного растрового TIFF и исходных байтов не обещается.
Как проверить результат
После готовности изображения пять сообщений Истина; страниц по-прежнему 2.
Измените ширину окна; проверьте размер поля и подгонку. Фон сравнивайте с учётом выбранного интерфейса.
Ожидаемый результат
Размеры и оформление поля отделены от содержимого TIFF.
На что обратить внимание
РазмерКартинки не редактирует пиксели исходного файла.
Сохранённая настройка фона не доказывает видимый эффект в Такси.
Тема клиента и фактическая раскладка требуют визуальной проверки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.