19.04.2023

Расширение для работы с файлами в веб-клиенте. Настройка расширения для работы с файлами Установить расширение работы с файлами 1с


Ошибка подключения расширения... для 1С:Бухгалтерии 8.3, редакция 3.0

2016-12-08T16:04:02+00:00

В этой инструкции расскажу как бороться с ошибкой подобной этой: "Ошибка подключения расширения: ИмяРасширения ..." для 1С:Бухгалтерии 8.3, редакция 3.0.

Загрузить ":

6. После этого нажать кнопку "Перезапустить":

1С перезапустится и заработает новая версия расширения, уже без ошибок.

Отключить расширение

Если же получить новую версию расширения невозможно или вы решили отказаться от него по другим причинам, тогда нужно:

1. Зайти в базу в режиме пользователя.

2. Открыть меню "Все функции" ():

3. В открывшемся диалоге раскрыть пункт "Стандартные" и выбрать обработку "Управление расширениями конфигурации":

4. Здесь среди установленных расширений найти нужное (по его имени в сообщении об ошибке), выделить его и нажать кнопку "Удалить ":

После этого расширение удалиться из базы (оно уже и так не работало) и сообщение об ошибке при открытии программы больше появляться не будет.

С уважением, Владимир Милькин (преподаватель и разработчик ).


Ключевые слова: Расширение для работы с файлами, веб-клиент, НачатьПодключениеРасширенияРаботыСФайлами, НачатьУстановкуРасширенияРаботыСФайлами

В прекрасном новом мире веб-клиентов и асинхронного программирования нельзя просто так взять и
загрузить в базу файл при работе в веб-клиенте. При попытке использования диалога выбора файла будет
сообщение о необходимости наличия некоего "Расширения для работы с файлами". Не следует путать это
расширение с расширением для веб-браузера (которое тоже необходимо). Это таки две разные сущности.

Если расширение для веб-браузера устанавливается из интернет-магазина Chrome (или откуда там для
других браузеров), то расширение для работы с файлами устанавливается неизвестно откуда при
выполнении метода встроенного языка 1С "НачатьУстановкуРасширенияРаботыСФайлами()". При выполнении
этого метода в папку "Загрузки" закачивается файл вида "1CExtension1509032170224.exe". Необходимо
выполнить запуск этого файла для каждого пользователя компьютера, использующего расширение. Файл
можно сохранить и централизовано засетапить всем нужным пользователям.

Теперь перед использованием функционала передачи файлов между клиентом и сервером следует выполнять
метод встроенного языка "НачатьПодключениеРасширенияРаботыСФайлами(Оповещение)". Метод требует в
параметре "Оповещение" наличие описания оповещения с процедурой содержащей параметры:
- <Подключено> – результат подключения, Тип: Булево. Истина - расширение успешно подключено
- <ДополнительныеПараметры> - значение, которое было указано при создании объекта
ОписаниеОповещения.

В этой процедуре проверяем, если Подключено = Истина, то значит подключение прошло успешно, и тогда
возврат и едем дальше.

Обратите внимание, что весь функционал работы с файлами должен быть написан в асинхронном стиле,
т.е. чередой процедур с обработчиками оповещения внутри.
Пример реализации асинхронной передачи файлов с использованием расширения можно посмотреть в модуле
"ОбменДаннымиКлиент" + общая форма "ВопросОбУстановкеРасширенияРаботыСФайлами" в типовом ЗУПР 3. Там
на удивление довольно немного процедур.

Правой кнопкой мышки нажмите в любую свободную область под адресной строкой и в появившемся меню выберите пункт Строка меню.

Можно просто нажать "Alt" - позиционирование на строку меню, в любом окне винды (если оно есть).

(Рис.1)

(Рис.2)

Под адресной строкой появится меню. Найдите пункт Сервис .

Нажмите на него, откроется меню. Выберите пункт Свойства обозревателя .

(Рис.3)

В появившемся окне перейдите на закладку Безопасность .

(Рис.4)

Нажмите кнопку Другой .

(Рис.5)

В появившемся окне в списке найдите пункт Автоматические запросы элементов управления ActiveX и установите переключатель в положение Включить .

(Рис.6)

Обратите внимание! Эта настройка необходима для загрузки дополнительных компонентов. Перед установкой компонента проверяйте, что его издателем является 1С:Company (или другой поставщик программ, который Вам известен и которому Вы доверяете) .

В текущем окне нажмите кнопку ОК .

Печать (Ctrl+P)

Работа с файлами в асинхронном режиме присутствует только на стороне клиентского приложения. В общем случае рекомендуется использовать синхронные методы для работы на стороне сервера и асинхронные – для работы на стороне клиентского приложения.
Рассмотрим пример работы с файлами в асинхронной технике: удаление всех файлов в каталоге временных файлов. Для синхронной техники такое действие будет выглядеть следующим образом:

&НаКлиенте
Процедура Удалить(Команда)
УдалитьФайлы(КаталогВременныхФайлов(), ПолучитьМаскуВсеФайлыКлиента());

КонецПроцедуры
Асинхронная техника будет выглядеть по-другому:

&НаКлиенте
Процедура Удалить(Команда)
ОбратныйВызов = Новый ОписаниеОповещения(“ПолучитьКаталогВременныхФайловЗавершение”, ЭтотОбъект, “УдалитьОшибка”, ЭтотОбъект);
НачатьПолучениеКаталогаВременныхФайлов(ОбратныйВызов);
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКаталогВременныхФайловЗавершение(ИмяКаталогаВременныхФайлов, ДополнительныеПараметры) Экспорт
ОбратныйВызов = Новый ОписаниеОповещения(“УдалитьЗавершение”, ЭтотОбъект, “ФайловаяОшибка”, ЭтотОбъект);
НачатьУдалениеФайлов(ОбратныйВызов, ИмяКаталогаВременныхФайлов, ПолучитьМаскуВсеФайлыКлиента());
КонецПроцедуры
&НаКлиенте
Процедура УдалитьЗавершение(ДополнительныеПараметры) Экспорт
Сообщить(“Удаление успешно завершено”);
КонецПроцедуры
&НаКлиенте
Процедура ФайловаяОшибка (ИнформацияОбОшибке, СтандартнаяОбработка, ДополнительныеПараметры) Экспорт
Сообщить(“При выполнении файловой операции обнаружена ошибка: ” + КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПроцедуры

Во-первых , следует обратить внимание, что практически все файловые операции стали асинхронными. Даже такие простые действия, как получение каталога временных файлов. И необходимость получения такого каталога приводит к первому асинхронному вызову. Затем происходит вызов собственно удаления всех файлов. И обработка завершения удаления требует второй обработчик, в котором должны располагаться действия, которые должны происходить после удаления всех файлов в каталоге временных файлов. В данном примере это выдача сообщения о завершении операции.
Если при выполнении файловых операций произойдет ошибка – управление будет передано обработчику ФайловыеОшибка() . В нем можно корректно обработать сложившуюся ситуацию.

Работа с файлами в веб-клиенте

Работа с файлами в веб-клиенте имеет ряд особенностей:
1. Без установки расширений, в любом веб-браузере, доступны только методы ПолучитьФайл() и НачатьПомещениеФайла(). Метод ПоместитьФайл() не поддерживается при работе с веб-браузером Google Chrome и в том случае, если для конфигурации запрещено использование модальных методов (свойство конфигурации Режим использования модальности, см. здесь).
2. При установке расширения работы с файлами во всех веб-браузерах, кроме Google Chrome, доступы как синхронные, так и асинхронные методы работы с файлами (синхронность или асинхронность зависит от свойства конфигурации Режим использования модальности),
3. Для веб-браузера Google Chrome доступно только асинхронное расширение работы с файлами. Синхронная работа не поддерживается.
4. Расширение работы с файлами не поддерживает работу по протоколу HTTPS с использованием клиентского сертификата.
Примечание 1. Для корректной работы расширения работы с файлами в веб-браузере Microsoft Internet Explorer рекомендуется использование
библиотеки Microsoft Core XML Services (MSXML) версий 4.0 или 6.0.
Примечание 2. Расширение работы с файлами для веб-браузера Microsoft Internet Explorer устанавливается в каталог %APPDATA%\1C\1СEWebExt\FileSystemExtIE