Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.15.1489.
Мы унифицировали методы работы с файлами. Теперь все манипуляции, которые можно проводить без использования расширения работы с файлами, становятся доступны без установки расширения.
Некоторое время тому назад мы уже рассказывали о том, что для помещения нескольких файлов на сервер в веб-клиенте вы можете уже не устанавливать в браузере расширение работы с файлами (ссылка). Теперь мы решили внести аналогичные изменения и в те методы, которые получают файлы с сервера.
Тут мы столкнулись с тем, что в силу исторического развития платформы и появления необходимости работать асинхронно, для получения файлов с сервера имеется три метода. Два из них, ПолучитьФайл() и НачатьПолучениеФайлов(), имеют специфические особенности, которых нет у методов, помещающих файлы на сервер.
Поэтому заодно мы решили ещё «навести порядок» во всех методах, получающих и помещающих файлы. Наша цель заключалась в том, чтобы методы, получающие файлы с сервера и помещающие файлы на сервер выглядели бы «симметрично».
Проанализировав имеющиеся методы (ПолучитьФайл(), ПолучитьФайлы(), НачатьПолучениеФайлов()) мы решили ничего в них не менять, а просто отказаться от них. Вместо них мы сделали два новых асинхронных метода с понятными именами: НачатьПолучениеФайлаССервера() и НачатьПолучениеФайловССервера().
Аналогичным образом, при работе «в обратную сторону», мы решили отказаться от методов НачатьПомещениеФайла() и НачатьПомещениеФайлов(), и сделали вместо них два новых метода НачатьПомещениеФайлаНаСервер() и НачатьПомещениеФайловНаСервер().
Новые методы позволяют вам получить с сервера или поместить на сервер один, либо несколько файлов. При этом они могут использовать интерактивный диалог, а могут работать и без диалога. Для настройки интерактивного диалога мы сделали новые типы ПараметрыДиалогаПолученияФайлов и ПараметрыДиалогаПомещенияФайлов.
Главным отличием этих методов является то, что для их работы, если используется интерактивный диалог, расширение работы с файлами в веб-клиенте не требуется. Если диалог не используется, тогда нужно установить в браузере расширение. Таким образом, мы постарались максимально снизить необходимость установки расширения при работе веб-клиента. Если манипуляции с файлами можно проводить без расширения, оно не будет вызываться, даже если оно установлено.
Кроме этого новые методы принесли с собой и новую функциональность. Так, например, методы, помещающие один или несколько файлов на сервер, позволяют вам подключить собственный обработчик прогресса загрузки файлов. А метод НачатьПолучениеФайловССервера() позволяет вам получать файлы в виде архива. Для этого мы создали новый тип ПараметрыПолученияАрхиваФайлов. С его помощью вы можете задать имя архива и режим его получения.
В результате во встроенном языке теперь есть четыре рекомендуемых асинхронных метода для работы с файлами:
Помещение на сервер | Получение с сервера | |
Один файл | НачатьПомещениеФайлаНаСервер() | НачатьПолучениеФайлаССервера() |
Несколько файлов |
НачатьПомещениеФайловНаСервер() | НачатьПолучениеФайловССервера() |
Прежние методы для получения файлов мы объявили устаревшими и скрыли их из синтакс-помощника. Однако старые методы продолжают поддерживаться в платформе для обеспечения совместимости, поэтому ваши конфигурации, написанные ранее, будут работать и с новой версией платформы.
Несмотря на это мы рекомендуем вам исправить, со временем, старые конфигурации, и перевести их на использование новых методов, чтобы ваши конфигурации соответствовали современной методике актуальной платформы.