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

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

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

(Рис.1)

(Рис.2)

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

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

(Рис.3)

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

(Рис.4)

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

(Рис.5)

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

(Рис.6)

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

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

Реализация для Internet Explorer требует установки специального ActiveX компонента 1С:Предприятие 8.2. Расширение работы с файлами для Internet Explorer (x86) либо его 64-разрядного варианта для 64-разрядного Internet Explorer. Компонент включен в платформу, но его установка должна быть предусмотрена в прикладном решении. Если у пользователя недостаточно прав для установки компоненты, то ее может выполнить администратор.

Для работы с компонентом, в браузере должны быть предоставлены права на установку и использование подписанных ActiveX компонентов для зоны, в которой находится веб-сайт.

ПРИМЕЧАНИЕ. Для корректной работы расширения для работы с файлами рекомендуется использование библиотеки Microsoft Core XML Services (MSXML) версии 4.0 или 6.0.
Список версий модулей MSXML, ограничения и рекомендации по установке расположены по адресу:http://support.microsoft.com/kb/269238.

Настройка Mozilla Firefox

Для использования браузера Mozilla Firefox требуется следующая настройка:

1. В меню Инструменты (Tools) выберите пункт Настройки (Options).

● На панели Содержимое (Content) установите следующие настройки:

● Снимите флажок Блокировать всплывающие окна (Block pop-up windows).

● Установите флажок Использовать JavaScript (Enable JavaScript).

● На панели Приватность (Privacy) установите следующие настройки:

● Установите флажок Принимать cookies с сайтов (Aссept cookies from sites).

● Для детальной настройки приема или отклонения cookies нажмите кнопку Исключения (Exсeptions) и следуйте пояснениям диалога настройки.

● Нажмите OK.

2. Запустите веб-клиент «1С:Предприятия», введя в адресную строку браузера адрес информационной базы. В главном меню веб-клиента выберите пункт Сервис – Настройка веб-браузера. На экране отобразится диалог Настройка веб-браузера.

§ Для работы с буфером обмена операционной системы, расширением для работы с файлами и внешними компонентами установите флажок Разрешить работу с буфером обмена, расширением для работы с файлами, внешними компонентами.

● Для использования нелатинских символов в адресной строке браузера (например, при переходе по ссылкам 1С:Предприятия) установите флажок Разрешить использование в параметрах строки запуска нелатинских символов.

§ Чтобы включить возможность активировать окна с помощью нажатия сочетания клавиш, установите флажок Разрешить использование клавиатуры для переключения между окнами приложений.

● Аутентификация средствами операционной системы настраивается изменением флажка Использовать аутентификацию операционной системы. В некоторых случаях может потребоваться дополнительное изменение настроек самого браузера: в параметрах network.negotiate-auth.trusted-uris и network.negotiate-auth.delegation-uris необходимо указать список сайтов, которые поддерживают режим аутентификации ОС. Чтобы настроить эти параметры следует в адресной строке браузера набрать about:config, затем в строке фильтра набрать имена парметров и задать список сайтов в качестве значения параметров.

ПРИМЕЧАНИЕ. Дополнительная информация о настройке аутентификации средствами ОС в браузере Mozilla Firefox доступна по адресу (на английском языке): https://developer.mozilla.org/en/Integrated_Authentication

Время неумолимо идёт вперёд, а платформа 1С 8 бежит ещё быстрей этого времени.

Управляемые формы теперь называются "интерфейс ТАКСИ", модальные окна запрещены, а режим использования синхронных вызовов расширений и внешних компонент наглухо положил работоспособность большинства этих расширений и внешних компонент, и половину старых методов в добавок.

В общем, пацаны, дела такие - многие из вас читали статью великолепного Чистова П. о работе с файлами в 8.3

Если Вы ещё этого не сделали - бегом марш! ()

Суть механизма работы с файлами в кратце:

1) На клиенте выбираем файл

2) Пихаем его в чёрный ящик

3) Сохраняем содержимое чёрного ящика на сервере

Загвоздка состоит в том, что делать это надо особенно, по-новому и с душой.

Поэтому ваши

ВыбранныйФайл.Существует()

и прочие языческие штучки здесь не прокатят.

Итак, поехали!

Вот листинг кода, который позволяет загрузить файл с клиента

ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтаФорма); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.МножественныйВыбор = Ложь; НачатьПомещениеФайлов(ОписаниеОповещения, ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);

Нас интересует метод "НачатьПомещениеФайлов ", который, собственно, вызывает диалог выбора файла и помещает этот файл во временное хранилище. Заморачиваться с описанием временного хранилища нет смысла, просто запомните - это то место, куда помещаются все выбранные нами файлы в виде двоичных данных (черный ящик).

&НаКлиенте Процедура ОбработатьВыборФайла(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт Если ПомещенныеФайлы = Неопределено Тогда Возврат; КонецЕсли; Для каждого ПереданныйФайл Из ПомещенныеФайлы Цикл ПутьКФайлу = ПереданныйФайл.Имя; Запись.ИмяФайла = РазборСтроки(ПутьКФайлу, "\"); Элементы.ОткрытьФайл.Заголовок = Запись.ИмяФайла; Адрес = ПереданныйФайл.Хранение; КонецЦикла; КонецПроцедуры // ()

Понять, что там и как храниться в этом временном хранилище практически невозможно. Можно только обратиться к нашему файлу по навигационной ссылке, которая присваивается автоматически (см. переменную "Адрес ").

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

Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Адрес));

С одним разобрались, теперь второе - как достать файл из этого хранилища значений (которое, напомню, находится на сервере) и сохранить на диск клиента?

Прежде всего, нам надо получить навигационную ссылку на реквизит с типом "Хранилище значения ", куда у нас помещается файл в виде бинарных данных.

Будьте, внимательны! Эта навигационная ссылка уже не имеет с временным хранилищем ничего общего! Проверить тип навигационной ссылки можно методом

ЭтоАдресВременногоХранилища(Адрес)

По традиции, листинг кода, который вызывает диалог сохранения файла

ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаСохраненияФайлов", ЭтаФорма); Файл = Новый ОписаниеПередаваемогоФайла(ИмяФайла, Адрес); ПолучаемыеФайлы = Новый Массив; ПолучаемыеФайлы.Добавить(Файл); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогОткрытияФайла.МножественныйВыбор = Ложь; НачатьПолучениеФайлов(ОписаниеОповещения,ПолучаемыеФайлы, ДиалогОткрытияФайла, Истина);

Значение переменной "Файл " это ещё одна особенность данного способа. Здесь стоит обратить внимание на "ИмяФайла ". Дело в том, что помещая файл во временное хранилище, информация о его имени и расширении теряется. Поэтому не забудьте где-нибудь сохранять корректное имя файла, или хотя бы его расширение, чтобы потом не мучаться с вопросом "А это вордовский документ или мп3? "

Метод "НачатьПолучениеФайлов " аналогичен методу "НачатьПомещениеФайлов ". Просто один открывает диалог для выбора файла, другой же, наоборот, открывает диалог для сохранения файла.

В принципе всё.

При использовании данного способа, никакие совместимости модальности и синхронных вызовов в свойствах конфигурации устанавливать не нужно.

Статью писал больше как памятку для себя.


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

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

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

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

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

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

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

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

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

Загрузить ":

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

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

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

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

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

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

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

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

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

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