РежимПолученияАрхиваФайлов

Темы платформы · GetFilesArchiveMode

Содержит варианты получения архива файлов методом НачатьПолучениеФайловССервера.

Полное описание, параметры и ограничения

РежимПолученияАрхиваФайлов (GetFilesArchiveMode)

РежимПолученияАрхиваФайлов (GetFilesArchiveMode)

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

Значения
ПолучатьАрхивВсегда (GetArchiveAlways)
ПолучатьАрхивПриНеобходимости (GetArchiveWhenRequired)

Описание:

Содержит варианты получения архива файлов методом НачатьПолучениеФайловССервера.

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

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

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

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

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

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

Получить два собственных текста: ПолучатьАрхивВсегда

Конкретный собственный источник, штатный обработчик / вызов и явные ограничения.

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

Своя управляемая форма, тонкий / толстый / веб-клиент. Команда ПолучитьСвоиТексты, основной асинхронный обработчик и дополнительная серверная функция в том же модуле.

Подготовка

  1. Своя управляемая форма, тонкий / толстый / веб-клиент. Команда ПолучитьСвоиТексты, основной асинхронный обработчик и дополнительная серверная функция в том же модуле.

  2. Сервер создаёт только два собственных байтовых текста Book: 3 и Book: 5 в памяти и помещает во временное хранилище, привязанное к УникальныйИдентификатор формы. Исходные файлы пользователя не копируются.

  3. При ручном запуске откроется диалог получения; сохраняйте только в свою учебную папку. Это пример выгрузки собственных данных, не резервная копия справочника. Имя ZIP уникально; не соглашайтесь на перезапись посторонних файлов.

&НаКлиенте
Асинх Процедура ПолучитьСвоиТексты(Команда)
    Файлы = СвоиДваТекстаДляПолучения();
    Архив = Новый ПараметрыПолученияАрхиваФайлов;
    Архив.ИмяАрхива = "guide-books-" + Строка(Новый УникальныйИдентификатор) + ".zip";
    Архив.Режим = РежимПолученияАрхиваФайлов.ПолучатьАрхивВсегда;
    Диалог = Новый ПараметрыДиалогаПолученияФайлов;
    Ждать ПолучитьФайлыССервераАсинх(Файлы, Диалог, Архив);
    Сообщить("Запрос получения двух своих текстов передан клиенту");
КонецПроцедуры
Та же форма, сервер: два настоящих своих текста и адреса временного хранения
&НаСервере
Функция СвоиДваТекстаДляПолучения()
    Файлы = Новый Массив;
    Данные = Base64Значение("Qm9vazogMw==");
    Адрес = ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор);
    Файлы.Добавить(Новый ОписаниеПередаваемогоФайла("guide-book-a.txt", Адрес));
    Данные = Base64Значение("Qm9vazogNQ==");
    Адрес = ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор);
    Файлы.Добавить(Новый ОписаниеПередаваемогоФайла("guide-book-b.txt", Адрес));
    Возврат Файлы;
КонецФункции

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

  1. Подготовьте собственную форму по описанию.

  2. Назначьте обработчики и выполните только свой учебный опыт.

  3. Проверьте фактический результат с учётом ограничений клиента.

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

  1. ПолучатьАрхивВсегда требует упаковку; ПолучатьАрхивПриНеобходимости оставляет решение клиенту / условиям получения. Нельзя обещать ZIP в любом клиенте при втором варианте.

  2. Используется именно вариант с объектом ПараметрыДиалогаПолученияФайлов вторым аргументом. В веб-клиенте обещание может завершиться до диалога, поэтому сообщение не объявляет файлы уже сохранёнными.

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

Есть полный собственный сценарий без универсального getter-шаблона.

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

  1. Код 1С, переносы, загрузки и файловые операции при сборке HTML не выполнялись.

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

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

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

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

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