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

Расширения конфигураций 1С все чаще стали использоваться для добавления нового функционала в конфигурации 1С Предприятие. Сегодня рассмотрим инструкцию по установке одного из популярных расширений, позволяющим заполнять реквизиты контрагентов по ИНН и наименованию.

Сначала будет подробная текстовая инструкция, а ниже можете посмотреть видео по установке этого расширения.

Подключение расширения в 1С 8.3

1. Откройте базу 1С:Предприятие 8 и перейдите в раздел «Администрирование». Зайдите в пункт «Печатные формы, отчеты, обработки».

2. Нажмите на пункт «Расширения» (если у Вас нет такого пункта меню, значит это старая конфигурация и она не поддерживает работу с расширениями)

3. Нажмите кнопку «Добавить» и выберите файл с расширением (*.cfe), который вы скачали. Откройте его:

4. Может появиться окно «Предупреждение безопасности» - нажмите «Да» :

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

Разрешить открывать данный файл?

5. Может появиться окно с информацией, что нужно еще раз повторить действие. Просто вернитесь на пункт 3 и повторите добавление расширения.

Текущее выполнение действия было прервано для выдачи предупреждения.
Вы подтвердили выполнение действия для данного модуля. В дальнейшем это действие для данного модуля будет выполняться без выдачи предупреждений.

Просьба сейчас вызвать это действие еще раз.

6. Т.к. для заполнения реквизитов, расширение будет обращаться в интернет, то нужно снять галочку «Безопасный режим» и после этого перезапустить программу 1С.

После запуска 1С:Предприятие, расширение должно будет автоматически подключиться и вы можете начать работу с ним. Если при работе возникнут какие-то вопросы, то всегда можете обратиться к нашей тех.поддержки через чат или .

В новой версии платформы «1С:Предприятие 8» будут расширены возможности работы с файлами в веб-клиенте.

В ней появятся такие функции, как перетаскивание файлов «извне», а также увеличится количество возможностей, доступных без установки специального расширения работы с файлами.

Как сообщается в официальном блоге разработчиков фирмы «1С», для метода НачатьПомещениеФайлов() больше не потребуется расширение работы с файлами. Теперь этот метод будет использовать свой «собственный» диалог выбора файлов, позволяющий выбирать сразу несколько из них. Если же расширение работы с файлами все-таки установлено, будет использоваться диалог выбора файлов операционной системы.

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

В методы НачатьПомещениеФайла() и НачатьПомещениеФайлов() можно будет передавать заранее настроенный диалог выбора файлов. Например, установить ему собственный заголовок с описанием того, какие файлы может выбирать пользователь.

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

Здесь вы сможете ознакомиться с подробной информацией по настройке и конфигурации веб-браузеров Microsoft Internet Explorer, Mozilla Firefox, Apple Safari и Google Chrome для работы с программой «1С:Управление нашей фирмой» («УНФ»).

Настройка и использование веб-браузера Microsoft Internet Explorer

Особенности использования

Для работы с веб-клиентом в операционной системе Windows XP SP 2 требуется наличие системной библиотеки jscript.dll версии 5.6.0.8834 или выше.

Библиотека находится в каталоге system32 операционной системы. Если на вашем компьютере установлена более ранняя версия библиотеки, то возможно значительное замедление работы веб-клиента. Для обновления версии необходимо скачать пакет обновлений, находящийся по адресу http://support.microsoft.com/kb/942840/en-us .

При использовании Microsoft Internet Explorer 7 и Microsoft Internet Explorer 8 при включенных закладках, в том окне, где закладки есть, для переключения с помощью клавиатуры из главного (окно с закладками) в дочернюю форму (отдельное окно) следует использовать сочетания клавиш +Ctrl+F6. Если закладки отключены, то для переключения можно использовать также сочетания клавиш Ctrl+Tab.

Для этого

  • В меню Сервис (Tools) выберите пункт Свойства обозревателя (Internet Options) и выполните настройки:
    • на вкладке Безопасность (Security) для зоны Internet нажмите кнопку Другой (Custom level) ;
    • в разделе Сценарии (Scripting) для параметра Астивные сценарии (Active scripting) установите Разрешить (Enable) и нажмите кнопку "OK" .
  • Разрешите всплывающие окна:
    • перейдите на вкладку Конфиденциальность (Privacy) ;
    • в разделе Блокирование всплывающих окон (Pop-up Blocker) снимите флажок Блокировать всплывающие окна (Block Pop-ups) .
    • на вкладке Конфиденциальность (Privacy) с помощью регулятора выберите уровень использования cookies - не выше Умеренно высокий (Medium High) .

Если предполагается совместная работа со сканером штрих-кодов, электронными весами или другими внешними компонентами, необходимо выполнить следующую настройку веб-браузера:

  • на вкладке Безопасность (Security) нажмите кнопку Другой (Custom level) ;
  • в открывшемся окне необходимо установить Разрешить (Enable) для следующих параметров:
    • Запрос разрешения для ActiveX объектов (Automatic promting for ActiveX controls) ;
    • Загрузка подписанных ActiveX объектов с разрешения пользователя (Download signed ActiveX controls) ;
    • Работа с ActiveX объектам и плагинами (Run ActiveX controls and plug-ins) ;
    • Работа с объектами, помеченными как безопастные (Script ActiveX controls marked safe for scripting) .

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

Для настройки языка ввода по умолчанию выполните следующие действия:

  • откройте настройки операционной системы "Язык и региональные стандарты" ("Regional and Languages Options") ;
  • на закладке "Языки" ("Languages") в разделе "Языки и службы текстового ввода" ("Text services and input languages") нажмите кнопку "Подробнее..." ("Details...") ;
  • в открывшемся окне на закладке "Параметры" ("Settings") в разделе "Язык ввода по умолчанию" ("Default input language") выберите нужный язык;
  • нажмите кнопку "OK" .

При работе в Internet Explorer 8 в некоторых ситуациях при переходе к уже открытому окну из другого окна будет выдаваться диалог с текстом "Нажмите OK для перехода к окну" и кнопкой OK. После нажатия кнопки будет осуществлен переход к окну.

Особенности использования расширенных средств работы с файлами

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

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

Для работы с файлами используется библиотека Microsoft Core XML Services (MSXML). Рекомендованные версии MSXML 6.0 и MSXML 4.0. В случае использования MSXML 3.0, возможны проблемы с передачей файлов большого размера с клиента на сервер.

Со списком версий модулей MSXML, ограничений и рекомендаций по установке можно ознакомиться на этой странице .

Настройка и использование веб-браузера Mozilla Firefox

Особенности использования

Все операции с файловой системой (получение файла с сервера, передача файла на сервер, удаление файла и т.п.) выполняются строго интерактивно. Если выполнение действия не требует взаимодействия с пользователем (напрмер выбора файла), то выдается диалог-предупреждение, требующий от пользователя подтверждения.

Настройки использования веб-браузера

Для подключения к информационным базам 1С:Предприятия 8 с помощью Mozilla Firefox нужно выполнить следующие настройки:

  • Откройте браузер, в меню Инструменты (Tools) выберите пункт Настройки (Options) ;
  • Содержимое (Content)
    • Снимите флажок ;
    • Установите флажок Использовать JavaScript (Enable JavaScript) .
  • Перейдите в раздел Приватность (Privacy) установите следующие настройки:
    • Установите флажок Принимать cookies с сайтов (Assept cookies from sites) ;
    • Для детальной настройки приема или отклонения cookies щелкните кнопку Исключения (Exeptions) и следуйте пояснениям диалога настройки.

В случае если в качестве браузера используется английская версия Mozilla Firefox, то для правильной работы веб-клиента требуется выполнить следующую настройку (расположение настроек приведено для версии 3.5):

  • Откройте браузер, в меню Tools выберите пункт Options ;
  • На закладке Contents в группе Fonts & Colors нажмите кнопку Advanced ;
  • В параметре Default Character Encoding выберите Unicode .

Модификацию остальных параметров, которые могут потребоваться для работы с веб-клиентом 1С:Предприятия, можно осуществить с помощью команды "Сервис - Настройка веб-браузера" . В окне выполняются настройки, которые можно также выполнить в настройках самого веб-браузера в диалоге запроса привилегий.

В окне осуществляется настройка следующих параметров обозревателя (в круглых скобках указывается аналогичные параметры настроек веб-браузера):

  • Разрешить работу с буфером обмена, расширением работы с файлами, внешними компонентами (signed.applets.codebase_principal_support) - для работы с буфером обмена, внешними компонентами и расширенной работы с файлами (значение true);
  • Разрешить использование в параметрах строки запуска нелатинских символов (network.standard-url.encode-query-utf8) - для использования нелатинских символов в адресной строке (значение true);
  • Разрешить использование клавиатуры для переключения между окнами приложений (dom.popup_allowed_events) - для разрешения навигации по окнам приложения с клавиатуры (добавляет к значению параметра событие keydown);
  • Использовать аутентификацию операционной системы (network.automatic-ntlm-auth.trusted-uris) - если установлен, то будет выполняться аутентификация операционной системы. Данная настройка изменяет только значение ключа network.automatic-ntlm-auth.trusted-uris. Для аутентификации операционной системы в конкретной конфигурации сети и веб-сервера, возможно, потребуется задание значений для ключей network.negotiate-auth.trusted-uris и network.negotiate-auth.delegation-uris. Дополнительную информацию см. в https://developer.mozilla.org/en/Integrated_Authentication .

Данные параметры можно также настроить вручную. Для этого необходимо в адресной строке веб-браузера набрать about:config , затем в строке фильтра набрать любое слово из имени параметра (например, principal ) и поменять его значение в списке.

  • Откройте браузер, в меню Инструменты (Tools) выберите пункт Настройки (Options) ;
  • В открывшемся окне перейдите в раздел Основные ;
  • Установите флажок Всегда выдавать запрос на сохранения файла .

Для ручной настройки аутентификации следует:

  • в адресной строке браузера набрать about:config .
  • затем на странице настроек в строке фильтра ввести название параметра.
    Данная настройка осуществляется для трех параметров:
    • network.automatic-ntlm-auth.trusted-uris,
    • network.negotiate-auth.delegation-uris,
    • network.negotiate-auth.trusted-uris.
  • далее задать список веб-серверов, через которые будет осуществляться работа с базой "1С:Предприятия".
  • Веб-сервер поддерживает NTLM -аутентификацию.
    Если имя веб-сервера, к которому осуществляется попытка доступа, перечислено в списке имен, содержащихся в параметре network.automatic-ntlm-auth.trusted-uris , то будет осуществлена попытка автоматической аутентификации. Если же имени веб-сервера там нет, то браузер покажет диалог, в котором необходимо указать логин и пароль пользователя для доступа к веб-серверу.
  • Веб-сервер поддерживает Kerberos -аутентификацию.
    Для того, чтобы получить доступ к веб-серверу с данным типом аутентификации, в параметр нужно добавить имя этого веб-сервера. При работе с файловой информационной базой этого будет достаточно. В случае необходимости обеспечить автоматическую аутентифкацию пользователей веб-клиента при использовании клиент-серверного варианта "1С:Предприятия", необходимо добавить DNS-имя этого веб-сервера в параметр network.negotiate-auth.delegation-uris .
    В случае, если имя веб-сервера, к которому осуществляется доступ, не обнаружено в параметре network.negotiate-auth.trusted-uris , аутентификация производиться не будет, и пользователь увидит сообщение об ошибке 401 Unauthorized. Для информирования пользователя о действиях, которые ему необходимо предпринять, администратор может модифицировать страницу сообщения об ошибке 401 (см. документацию к используемому веб-серверу).

Особенности использования расширенных средств работы с файлами

Все операции с файловой системой (получение файла с сервера, передача файла на сервер, удаление файла и т.п.) выполняются строго интерактивно. Если выполнение действия не требует взаимодействия с пользователем (напрмер выбора файла), то выдается диалог-предупреждение, требующий от пользователя подтверждения.

Расширение для работы с файлами требует предоставления привилегии UniversalXPConnect . Веб-браузер Mozilla FireFox выполняет запрос привилегии интерактивно, но пользователь может запомнить решение для данного веб-сайта.

В случае, если веб-браузер Mozilla FireFox запомнил решение пользователя по предоставлению привилегии, а пользователь хочет изменить это решение, ему придется самостоятельно отредактировать файл prefs.js , который хранится в папке его профиля веб-браузера Mozilla Firefox.

Описание, как найти папку профиля, находится здесь:
http://wiki.mozilla.ru/index.php/О профилях Mozilla Firefox (русскоязычная статья)
http://support.mozilla.com/en-US/kb/Profiles (англоязычная статья).

Далее нужно:
1. Завершить работу Mozilla FireFox.
2. Открыть prefs.js любым текстовым редактором
3. Найти в тексте строку UniversalXPConnect . Будет найден фрагмент текста следующего вида:
user_pref("capability.principal.codebase.p.granted", "UniversalXPConnect");


либо
user_pref("capability.principal.codebase.p.denied", "UniversalXPConnect");
user_pref("capability.principal.codebase.p.id", "");
user_pref("capability.principal.codebase.p.subjectName", "");
где - любое число, а - это адрес нужного веб сайта. Если другой, то нужно продолжить поиск "UniversalXPConnect" по тексту.
4. Удалить найденные строки из текста.

Настройка и использование веб-браузера Apple Safari

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

Для этого откройте меню выберите пункт Настройки (Preferences) и выполните настройки:

  • Разрешите выполнение JavaScript скриптов:
    на закладке Безопасность (Security) выберите Подключить JavaScript (Enable JavaScript)
  • Разрешите использование cookies:
    на закладке Безопасность (Security) в группе Принимать cookies (Accept cookies) выберите Только от посещаемых сайтов (Only from sites I visit) ;
  • Разрешите всплывающие окна:
    на закладке Безопасность (Security) снимите флажок Блокировать всплывающие окна (Block pop-up windows) .
  • В меню Настройки Safari (Safari Settings) выберите пункт Настройки (Preferences) ;
  • На закладке Основные (General) установите флажок Всегда выполнять запрос перед загрузкой (Always prompt before downloading) .

Настройка и использование веб-браузера Google Chrome

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

Для этого откройте меню Инструменты (Tools) , выберите пункт Параметры (Options) , на закладке Расширенные (Under the Hood) нажмите кнопку Настройки содержания (Content settings) и выполните настройки:

  • Разрешите использование cookies:
    на закладке Файлы cookie (Cookies) выберите Разрешить сохранять локальные данные (рекомендуется) (Allow local data to be set (recommended)) или настройте исключения;
  • Разрешите выполнение JavaScript скриптов:
    на закладке JavaScript выберите Разрешить всем сайтам использовать JavaScript (рекомендуется) (Allow all sites to run JavaScript (recommended) или настройте исключения;
  • Разрешите всплывающие окна:
    на закладке Всплывающие окна (Pop-ups) выберите Разрешить всплывающие окна для всех сайтов (Allow all sites to show pop-ups) или настройте исключения.
  • Откройте меню Инструменты (Tools) , выберите пункт Параметры (Options) ;
  • На закладке Расширенные (Under the Hood) в разделе Загрузки (Downloads) установите флажок Запрашивать место для сохранения каждого файла перед загрузкой (Ask where to save each file before download) .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поэтому ваши

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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