Расширение поля формы для поля картинки.Обновить

Методы · Refresh

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

Синтаксис

Обновить()
Полное описание, параметры и ограничения

Расширение поля формы для поля картинки.Обновить (Form field extension for a picture field.Refresh)

Расширение поля формы для поля картинки (Form field extension for a picture field)

Обновить (Refresh)

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

Синтаксис:
Обновить()
Описание:

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

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).

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

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

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

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

Скрыть и восстановить собственную картинку по адресу

ПутьКДанным содержит свой строковый адрес временного хранилища. Кнопка очищает его и возвращает; текст пустой картинки объясняет состояние.

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

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

Подготовка

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

  2. Свяжите ПриСозданииНаСервере формы с одноимённой процедурой. Реквизиты, поле картинки и кнопку вручную не создавайте.

  3. Двухстраничный TIFF 32×32 включён в код: первая страница светло-серая, вторая тёмно-серая. Это собственные контрольные пиксели, не скан рабочего документа.

  4. Картинка помещается во временное хранилище с идентификатором этой формы. Адрес действителен в её сеансе; не сохраняйте его в справочник как постоянный файл.

  5. Нет загрузки из сети, чтения чужого файла, записи документа или печати. Настольный тонкий/толстый клиент; отдельные визуальные свойства можно сравнить в веб-клиенте.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("АдресУчебнойКартинки", Новый ОписаниеТипов("Строка")));
    Новые.Добавить(Новый РеквизитФормы("ПолныйУчебныйАдрес", Новый ОписаниеТипов("Строка")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    ДанныеTIFF = Base64Значение("SUkqAAgAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AAAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAHoAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AQAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAAAAAADw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQA==");
    СвояКартинка = Новый Картинка(ДанныеTIFF);
    Если СвояКартинка.КоличествоКадров() <> 2 Тогда
        ВызватьИсключение "В учебном TIFF должно быть две страницы";
    КонецЕсли;
    ЭтаФорма.ПолныйУчебныйАдрес = ПоместитьВоВременноеХранилище(СвояКартинка, ЭтаФорма.УникальныйИдентификатор);
    ЭтаФорма.АдресУчебнойКартинки = ЭтаФорма.ПолныйУчебныйАдрес;
    Поле = Элементы.Добавить("УчебнаяКартинка", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеКартинки;
    Поле.ПутьКДанным = "АдресУчебнойКартинки";
    Поле.Заголовок = "Собственные две страницы TIFF";
    Поле.Гиперссылка = Ложь;
    Поле.РазрешитьНачалоПеретаскивания = Ложь;
    Поле.РазрешитьПеретаскивание = Ложь;
    Поле.СпособПеретаскиванияФайлов = СпособПеретаскиванияФайлов.КакСсылкаНаФайл;
    Поле.ТекстНевыбраннойКартинки = "Учебная картинка временно скрыта";
    Поле.ЦветТекста = Новый Цвет(24, 40, 60);
    Поле.Шрифт = Новый Шрифт(Поле.Шрифт, , 11, Ложь);

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

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Если ПустаяСтрока(ЭтаФорма.АдресУчебнойКартинки) Тогда
        ЭтаФорма.АдресУчебнойКартинки = ЭтаФорма.ПолныйУчебныйАдрес;
    Иначе
        ЭтаФорма.АдресУчебнойКартинки = "";
    КонецЕсли;
    Элементы.УчебнаяКартинка.Обновить();
    Сообщить(ПустаяСтрока(ЭтаФорма.АдресУчебнойКартинки));
    Сообщить(Не ПустаяСтрока(ЭтаФорма.ПолныйУчебныйАдрес));
КонецПроцедуры

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

  1. Реквизит адреса и поле ПолеКартинки — разные объекты. У этого вида поля нет свойства Картинка, как у декорации.

  2. При очистке текущего адреса исходный адрес остаётся во втором собственном реквизите; сам объект временного хранилища не удаляется.

  3. Обновить повторно получает картинку для поля, связанного со Строка. Здесь вызывается после изменения адреса.

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

  5. Повторное нажатие возвращает тот же адрес в рамках этой формы, без загрузки внешнего файла.

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

  1. Первое нажатие: Истина, Истина; изображение скрывается и видно учебное пояснение.

  2. Второе: Ложь, Истина; собственный TIFF возвращается. Закрытие формы завершает срок жизни адреса.

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

Переключается реальный источник картинки, а не только имя свойства.

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

  1. Адрес временного хранилища не является постоянным файловым путём.

  2. Не используйте Обновить как произвольную загрузку неизвестного URL.

  3. Для колонки ТекстНевыбраннойКартинки не используется.

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

Сохранить текущую страницу TIFF при повторном получении картинки

Метод сначала получает реальный номер текущего кадра, затем повторно получает источник и восстанавливает именно этот номер.

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

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

Подготовка

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

  2. Свяжите ПриСозданииНаСервере формы с одноимённой процедурой. Реквизиты, поле картинки и кнопку вручную не создавайте.

  3. Двухстраничный TIFF 32×32 включён в код: первая страница светло-серая, вторая тёмно-серая. Это собственные контрольные пиксели, не скан рабочего документа.

  4. Картинка помещается во временное хранилище с идентификатором этой формы. Адрес действителен в её сеансе; не сохраняйте его в справочник как постоянный файл.

  5. Нет загрузки из сети, чтения чужого файла, записи документа или печати. Настольный тонкий/толстый клиент; отдельные визуальные свойства можно сравнить в веб-клиенте.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("АдресУчебнойКартинки", Новый ОписаниеТипов("Строка")));
    Новые.Добавить(Новый РеквизитФормы("ПолныйУчебныйАдрес", Новый ОписаниеТипов("Строка")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    ДанныеTIFF = Base64Значение("SUkqAAgAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AAAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAHoAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AQAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAAAAAADw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQA==");
    СвояКартинка = Новый Картинка(ДанныеTIFF);
    Если СвояКартинка.КоличествоКадров() <> 2 Тогда
        ВызватьИсключение "В учебном TIFF должно быть две страницы";
    КонецЕсли;
    ЭтаФорма.ПолныйУчебныйАдрес = ПоместитьВоВременноеХранилище(СвояКартинка, ЭтаФорма.УникальныйИдентификатор);
    ЭтаФорма.АдресУчебнойКартинки = ЭтаФорма.ПолныйУчебныйАдрес;
    Поле = Элементы.Добавить("УчебнаяКартинка", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеКартинки;
    Поле.ПутьКДанным = "АдресУчебнойКартинки";
    Поле.Заголовок = "Собственные две страницы TIFF";
    Поле.Гиперссылка = Ложь;
    Поле.РазрешитьНачалоПеретаскивания = Ложь;
    Поле.РазрешитьПеретаскивание = Ложь;
    Поле.СпособПеретаскиванияФайлов = СпособПеретаскиванияФайлов.КакСсылкаНаФайл;
    Поле.РазмерКартинки = РазмерКартинки.Пропорционально;
    Поле.Высота = 8;
    Поле.Ширина = 30;

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

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Поле = Элементы.УчебнаяКартинка;
    Если Поле.ПолучитьКоличествоКадров() <> 2 Тогда
        Сообщить("Сначала дождитесь отображения своего двухстраничного TIFF");
        Возврат;
    КонецЕсли;
    СохранённыйКадр = Поле.ПолучитьНомерТекущегоКадра();
    Поле.Обновить();
    Поле.УстановитьНомерТекущегоКадра(СохранённыйКадр);
    Сообщить(Поле.ПолучитьКоличествоКадров() = 2);
    Сообщить(Поле.ПолучитьНомерТекущегоКадра() = СохранённыйКадр);
    Сообщить(Поле.НомерТекущегоКадра = СохранённыйКадр);
КонецПроцедуры

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

  1. КоличествоКадров картинки и ПолучитьКоличествоКадров поля проверяют собственный многостраничный TIFF, не анимацию GIF.

  2. До получения номера кадра проверяем, что источник уже представлен как две страницы.

  3. СохранённыйКадр получен от самой платформы. В коде не угадываются индексы 0/1 или 1/2.

  4. Обновить повторно получает изображение по строковому адресу. УстановитьНомерТекущегоКадра восстанавливает сохранённое состояние и выполняет обращение к серверу.

  5. НомерТекущегоКадра — readonly-свойство, поэтому только сравнивается с полученным значением.

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

  1. После готовности TIFF три сообщения Истина.

  2. Если клиент даёт выбрать вторую страницу TIFF интерактивно, выберите её и повторите: сохраняется фактический номер, а не заранее выбранный индекс.

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

Восстановлено состояние просмотра собственного TIFF без предположения о базе нумерации.

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

  1. НомерТекущегоКадра не присваивается напрямую.

  2. Этот урок для настольного тонкого/толстого или веб-клиента: readonly-свойство недоступно мобильному клиенту и серверу.

  3. Если клиент не предоставляет ручной выбор страниц, код всё равно проверяет сохранение текущего кадра, но не доказывает интерактивное переключение.

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

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

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

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

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