Содержание:
1. Что такое веб-клиент 1С 8.3 и асинхронная загрузка
2. Асинхронная загрузка и открытие файлов на веб-клиенте
Что такое веб-клиент 1С 8.3 и асинхронная загрузка
Веб-клиент 1С 8.3 – это рабочее место, которое имеет полный функционал системы 1С, а также даёт доступ к системе при помощи любой операционной системы 1С и любого браузера для Интернета, при этом, для работы не требуется загрузка на компьютерное устройство ни приложений, ни дополнительного программного обеспечения.
Асинхронная загрузка – это загрузка файлов, во время которой скрипт загружается и моментально, сразу, открывается, несмотря на то, загружена ли страница. Из-за такой его схемы выполнения он не часто используется, обычно.
Асинхронная загрузка и открытие файлов на веб-клиенте
Рассмотрим случай, когда необходимо выполнить асинхронную загрузку через веб-клиента 1С 8.3, не используя сторонние расширения. Получается, что в таком случае, система 1С будет служить кросс-платформенной. Начиная с версии 1С 8.3.16 такая, методика является обязательной на веб-клиенте, так как, модальные окна 1С находятся под запретом. Однако, способ доступен ещё начиная с версии 1С 8.3.9.
Пусть файл, который должен открыть и загрузить веб-клиент располагается внутри регистра сведений.
Реквизитом, в примере, будет «ЗагруженныеДанные», он имеет тип «ХранилищеЗначения», вторым реквизитом будет «ДатаЗагрузки», он имеет тип «ДатаИВремя», данный реквизит и будет нашим ключевым полем.
В таком случае, для загрузки файла разработчику необходимо написать следующий программный код 1С:
Если бы форма являлась обычной, то достаточно было бы одной процедуры, если бы форма была управляемая, то достаточно было бы двух процедур (той, которая расположена на скриншоте с программным кодом 1С выше и «ПоместитьФайл» – она исполняется на сервере). Но, когда форма асинхронная, то процедур будет много и программный код 1С будет выглядеть так:
Рассмотрим теперь, когда можно отображать диалоги видов: «Предупреждение» и «Вопрос».
Пусть внутри конфигурации системы 1С есть некоторое перечисление вида «СпособыОткрытияФайлов», а также есть регистр со сведениями вида «СпособыОткрытияФайлов», как демонстрируется на скриншоте ниже:
СпособыОткрытияФайлов
У измерения с типом «ТипДанныхОтображения» будет, соответственно тип «Строка(10)». У ресурса «СпособОткрытияФайла» будет, также соответственно, иметь вид перечислений «СпособыОткрытияФайлов».
Следующим шагом, нам необходимо внести информацию в регистр, для того, чтобы прописать то, какие виды файлов система 1С должна каким из видов способов запускать. В случае, если один из видов не был прописан, то система 1С выдаст всплывающее окно с информацией о том, что не способна открыть файл такого типа.
Ниже представлен пример соответствия видов файлов с видами способов их запуска:
Способы открытия файлов
Обязательно, важно помнить, что необходимо внести перечисления, а также сам регистр в подсистему с наименованием «Основная».
Следующим шагом, нужно в регистре «ФайловоеХранилище» кликнуть по ссылке «Показать файл», после чего, отобразится всплывающее окно с вопросом, как можно увидеть далее:
ФайловоеХранилище
Если мы выберем пункт «Показать», тогда система 1С будет пытаться запустить файл каким-то своим способом, к примеру, таким образом, как случилось с этим файлом «Excel»:
Наш файл: Список.xlsx
В случае, когда данный вид файла не был занесён в регистр «СпособыОткрытияФайлов», тогда появится системное окно с предупреждением, как показано далее:
Системное окно с предупреждением
В случае, если при системном вопросе был выбран вариант «Сохранить», тогда будет запущен диалог по запуску файла, который является стандартным, и файл будет скачан так, как обычно по настройкам браузера принято.
Такой метод полностью подходит под поставленную задачу и является одновременно и кросс-браузерным, и кросс-платформенным.
Ниже представлен программный код 1С для данного способа, который помогает открыть при помощи системы 1С файл на веб-клиенте или загрузить его асинхронным способом:
Специалист компании ООО “Кодерлайн”,
Туренко Лев
Добавить комментарий