Получить миниатюру медиатеки через Ждать

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

Асинхронный вариант не блокирует собственный код ожиданием в обычном синхронном вызове.

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

Мобильный клиент, мобильное приложение (клиент); API также объявлен для веб-клиента.

Подготовка

  1. Вставьте блок в модуль собственной управляемой формы. Из клиентского обработчика кнопки вызовите первую процедуру без параметров. Если указано иное место вставки, используйте его. Экспортные обработчики оповещения вызывает платформа, не вызывайте их вручную.

  2. Создайте реквизиты ПутьМедиатеки (Строка) и Изображение (Картинка). Используйте настоящий выбранный content: URI собственной фотографии и разрешение на чтение. Клиентскую кнопку сделайте Асинх: Ждать ЗагрузитьМиниатюру().

&НаКлиенте
Асинх Процедура ЗагрузитьМиниатюру()
    Если Лев(ПутьМедиатеки, 8) <> "content:" Тогда
        Сообщить("Нужен настоящий URI выбранного файла медиатеки");
        Возврат;
    КонецЕсли;
    МедиаФайл = Новый Файл(ПутьМедиатеки);
    Миниатюра = Ждать МедиаФайл.ПолучитьКартинкуПредставленияФайлаБиблиотекиМобильногоУстройстваАсинх();
    Если Миниатюра = Неопределено Тогда
        Сообщить("Миниатюра не получена");
    Иначе
        Изображение = Миниатюра;
    КонецЕсли;
КонецПроцедуры

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

  1. Создайте Файл по доступному URI.

  2. Дождитесь обещания.

  3. Проверьте результат и обновите поле картинки.

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

  1. Картинка присваивается после Ждать, не вместо него.

  2. Неопределено дает сообщение, а не утверждение о загрузке.

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

Форма показывает полученную асинхронно миниатюру.

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

  1. Доступность метода в веб-клиенте не означает, что любой URI content: там доступен. Не используйте локальный путь вместо ресурса медиатеки.

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

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

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

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

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