gifts2017

Как «подружить» 1С v8.2 и IIS

Опубликовал Вячеслав Кадацкий (marsohod) в раздел Администрирование - Системное

Иллюстрированное руководство по предоставлению доступа к БД 1С v8.2 через веб-сервер IIS.

Заинтересовала возможность версии 8.2 (файловый вариант) работать с веб-сервером. Так как на моей машине с Windows XP SP3 уже был настроенный IIS 5.1 по адресу http://localhost/ , то решено было Апача не ставить. Но достаточно внятной документации по настройке IIS почему-то в инете найти не удалось. Бумажной вообще нет. Пришлось разбираться самому, делая по аналогии с настройкой Апача. На полноту освещения вопроса я не претендую, надеюсь, что для кого-то этот материал окажется полезным.

Для «опытов» была выбрана самописная конфигурация, находящаяся в папке «D:\DataBase\1C\tennis.v82»

 

Каталог БД до первого запуска

Итак, прежде всего создадим в этом каталоге пустой текстовый файл в кодировке UTF-8 или 1252 (кодировка 1251 не "проходит", а другие - не проверялись) с именем «default.vrd» и следующим содержимым:

<vrs:point
    xmlns
:vrs="http://v8.1c.ru/8.2/virtual-resourse-system"
    base ="/tennis"
    ib ="FILE=&quot;D:\DataBase\1C\tennis.v82\&quot;"/>

Здесь параметр base="/tennis" указывает на то, что к базе мы будем подключаться по адресу http://localhost/tennis, а параметр ib="..." - это строка подключения к базе (та же, что и внизу окна запуска 1С:Предприятия при выборе информационной базы). Малопонятный набор буковок &quot; - символ кавычки.

На этом этапе самый, пожалуй, неприятный «подводный камень» заключается именно в кодировке файла «default.vrd». Поэтому, лучше набирать текст руками, а не копировать через буфер обмена.

Каталог БД перед интеграцией

Теперь приступаем к созданию виртуального каталога на веб-сервере IIS. Запускаем консоль управления сервером и выбираем меню «Создать/Виртуальный каталог»:

Оснастка IIS

Указываем псевдоним «tennis» - тот же, что и в параметре «base» файла «default.vrd»:

Мастер создания ВК

Указываем путь к каталогу базы данных 1С:

Мастер создания ВК

Ставим нужные галки и завершаем работу мастера:

Мастер создания ВК

Теперь в консоли управления IIS у нас появилась виртуальная папка «tennis» с характерным значком:

Оснастка с созданным ВК

Отредактируем свойства этого каталога (не всего узла!). Уровень защиты  в принципе можно установить «Низкая (процесс IIS)», но лучше хотя бы - «Средняя (объединенная)». Также нам необходимо указать IIS, что все файлы в этом каталоге будут обрабатываться 1С:Предприятием. Жмем кнопку «Настройка…»:

Свойства ВК

На закладке «Сопоставления» жмем «Добавить» и указываем путь к 1С-овской библиотеке «wsisapi.dll» (она находится в подкаталоге «\bin» каталога установки 1С:Предприятия):

Окно сопоставления расширений

В качестве обрабатываемых расширений указываем все файлы «.*» (точка-звездочка). Сохраняемся и на всякий случай проверим разрешения по доступу сервиса IIS к каталогу базы данных. Если его там нет, то - добавляем и разрешаем ему чтение, выполнение и изменение файлов и подкаталогов (см. рис.):

Свойства папки БД

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

Теперь по поводу браузеров и их настройки. Возможно, эта тема заслуживает отдельного разговора, а здесь ограничимся лишь некоторыми впечатлениями.
Конечно, общим для всех является отмена блокировки всплывающих окон и включение JavaScript (если не включено). Итак,

Opera. Не очень дружит с яваскриптом, который генерирует 1С. Иногда по непонятным причинам вместо русских букв показывает знаки вопроса. Плохо форматирует формы. С другой конфигурацией вообще отказалась работать – после прохождения авторизации пользователя 1С разругалась восьмиэтажным яваскриптом и выбросила на пустую страницу.
Safari. Просто интеллигентно молчит… Показывает заголовок «1С:Предприятие», сплэш-скрин восьмерки и … молчит. Культура прежде всего.
Arora. Малоизвестный и немного сыроватый браузер. Не смог показать даже сплэш-скрин, вместо него выдал абракадабру на всю страницу и сообщил «Готово».

Firefox. Работает быстро, но есть недостаток – невозможно копировать через буфер обмена:

Ошибка буфера обмена Firefox

Если кто-то знает в чем может быть причина и как с этим бороться - просьба отписаться в комментариях. (см. постскриптум в конце статьи).
Chrome. Почти то же что и Firefox, может - чуть быстрее и - невозможно использовать буфер обмена. "Выпадений" при проведении документов замечено не было, возможно (хотя и не обязательно) из-за более низкого , чем Интернете уровня защиты веб-сервера (имеются в виду: http://demo-ma.1c.ru/demo-unf/ru/ и http://demo-ma.1c.ru/demo_ma/ru/).
IE. Полностью работоспособен, только притормаживает.

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

Помимо браузера для работы с БД через IIS можно использовать и «тонкого клиента» 1С. Запускаем «1С:Предприятие (тонкий клиент)», добавляем в список новую информационную базу, указав в качестве источника веб-сервер:

Настройка тонкого клиента 1

Далее указываем адрес подключения «http://localhost/tennis/»:

Настройка тонкого клиента 2

Остальные настройки (прокси, аутентификация и т.д.) можно оставить без изменения.
Жмем «Готово» и запускаем 1С:Предприятие (тонкий клиент) Smile

P.S. Разумеется, для подключения к серверу из локальной сети или Интернет следует  заменить "http://localhost/tennis/" на "http://xxx.xxx.xxx.xxx/tennis/", где xxx.xxx.xxx.xxx - ваш ip-адрес (внутренний или внешний соответственно).

P.P.S.
Благодаря подсказке Lyekka удалось разрешить вышеописанную проблему с браузером FireFox.
В адресной строке браузера вводим "about:config" (без кавычек), жмём Enter и попадаем в тонкие настройки ОгнеЛиса :)
Здесь меняем значения следующих параметров:
network.standard-url.encode-query-utf8 - для использования нелатинских символов в адресной строке (значение true);
signed.applets.codebase_principal_support - для работы с буфером обмена, внешними компонентами и расширенной работы с файлами (значение true);
dom.popup_allowed_events - для разрешения навигации по окнам приложения с клавиатуры  (добавляем к значению параметра событие keydown).
Быстро найти эти параметры можно используя фильтр: жмём Ctrl+F и вводим в строке фильтра любое слово из названия параметра, например principal. Редактируются двойным кликом, либо правый клик и пункт "Изменить" на соответствующей строке.

Скачать файлы

Наименование Файл Версия Размер
Статья + файл default.vrd 442
.rar 144,37Kb
06.12.09
442
.rar 144,37Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Oberonm (oberonm) 13.11.09 10:20
А разве нельзя было это сделать из конфигуратора выбрав пункт "Публикация на веб-сервере"?
BigB; taishy; +2 Ответить 1
2. Вячеслав Кадацкий (marsohod) 13.11.09 10:44
(1) Тогда Вы не поймете "как это работает" :) что вообще говоря желательно для админа.
3. Андрей Скляров (coder1cv8) 13.11.09 11:02
Вообще в описаний с настройкой IIS и Apache полно... ) Но за хорошо оформленную статью - плюс.
Щупал и то, и то. По моим субъективным ощущениям Apache просто несравнимо проще и понятней в настройке и работе.
4. Вячеслав Кадацкий (marsohod) 13.11.09 15:42
(3) Вопросик можно? Апач тоже блокирует для Фаерфокса использование буфера обмена?
5. Андрей Скляров (coder1cv8) 13.11.09 17:54
(4) Не замечал, проверю.
Фаерфокс и ИЕ - два браузера, которые официально поддерживаются в качестве веб-клиента, проблем быть не должно...
6. Вячеслав Кадацкий (marsohod) 14.11.09 01:00
(5) Сейчас удалось попробовать из-под ALT Linux 4.0 c FF 2.0 - та же проблема :|
1С, конечно, хорошую фишку придумала "Переход по ссылке", но вот реализовать полноценно пока у них не получилось...
7. Юрий (tree1с) 18.11.09 11:43
а под IIS 5.0 (w2k) есть варианты? у меня не получилось
8. Дмитрий Шерстобитов (DitriX) 19.11.09 03:06
(5) только последний 8.2.396 поддерживает фаерфокс 3.5 и последний ИЕ
9. Вячеслав Кадацкий (marsohod) 19.11.09 08:00
(7) если найду инсталлятор w2k - попробую под VMWare. А что именно не получилось?
10. Вячеслав Кадацкий (marsohod) 19.11.09 08:34
(7) Пардон, был напуган... :)
IIS поддерживается версий 5.1, 6.0 (из справки).
11. Юрий (tree1с) 19.11.09 10:19
ок
понял
закрыто

в целом процесс настройки не ахти какой - не сложнее чем веб для 7,7 - все получалось
12. Кирилл Краснов (kirillkr) 19.11.09 11:49
Гилев уже публиковал видеоурок по настройке IIS и 8.2
Gilev Blogpost
13. Вячеслав Кадацкий (marsohod) 20.11.09 12:14
(12) У него - для Апача :)
Но не спорю - можно и через Конфигуратор "Публикация на веб-сервере"...
Легко и просто... :|
14. Кирилл Краснов (kirillkr) 21.11.09 19:21
(13) Прошу прощения. Не тот ролик нашел.. Видимо где-то еще лежит урок. Если Вячеслав поможет - он скинет ссылку на ролик.
15. Илья Ушаков (iluha_u) 14.12.09 09:34
16. Igor2010 (IgorXml) 07.02.10 00:24
IIS 6 для 2003 видимо похоже. Сегодня пытался поставить но не успел или не смог. Не подскажите отличия для 2003?
17. Вячеслав Кадацкий (marsohod) 10.02.10 05:17
(16) Не думаю, что есть какие-то существенные отличия. Когда у меня появится возможность попробовать на 2003 сервере - сообщу.
18. rasswet (rasswet) 27.04.10 14:40
первые две картинки тут не отображаются.
19. Вячеслав Кадацкий (marsohod) 27.04.10 15:28
(18) да, что-то движок ИС глючит.
Удалил эти картинки и вновь добавил - они снова появились. :o
20. Максим Шуйский (maxpiter) 23.11.10 14:32
По инструкции не завелось.
Кусок
<vrs:point
xmlns:vrs="http://v8.1c.ru/8.2/virtual-resourse-system"
base ="/tennis"
ib ="FILE="D:\DataBase\1C\tennis.v82\""/>
выводится неверно, возможно из-за этого.
Опубликовать через конфигуратор, все сразу заработало.
21. Елена (Lyekka) 24.12.10 09:35
Это не веб-сервер блокирует работу с буфером обмена, это в браузере изначально нет "привилегий", о чем Вам программа и написала.
В Мозилле это решается либо ручной установкой привилегии, либо уже в сеансе 1С:Предприятия команда Сервис - Настройка веб-браузера. И в окне пункт Разрешить работу с буфером обмена, расширением для работы с файлами, внешними компонентами.

И вся любовь.
BigB; marsohod; +2 Ответить 1
22. Вячеслав Кадацкий (marsohod) 21.04.11 19:21
(21) Спасибо за подсказку :)
Понял, где копать :)
У меня, правда, в сеансе работы веб-клиента 1С:Предприятия всё же не получается отредактировать настройки веб-браузера, но через "about:config" в строке адреса отредактировал нужные параметры:
network.standard-url.encode-query-utf8 - для использования нелатинских символов в адресной строке (значение true);
signed.applets.codebase_principal_support - для работы с буфером обмена, внешними компонентами и расширенной работы с файлами (значение true);
dom.popup_allowed_events - для разрешения навигации по окнам приложения с клавиатуры (добавить к значению параметра событие keydown).
23. Helen I (Bruk) 20.10.11 12:12
спасибо автору, документации практически нет, ваше руководство помогло подружить 1С v8.2 и веб-сервер IIS.
24. Дмитрий Титов (dtitov) 21.12.11 13:57
Написано доступно и понятно. А главное актуально. Огромное спасибо!!!
26. sys1c (sys1c) 19.01.12 16:32
Делал как в инструкции в этой статье и как в бумажной инструкции, результат один и тотже (
http://s018.radikal.ru/i525/1201/d7/376691e6ab6e.jpg

где я ошибся? подскажите пожалуйста
27. Вячеслав Кадацкий (marsohod) 19.01.12 19:37
(26) sys1c, информации маловато, но похоже, что проблема в хасп-ключе. 1С открывается не через веб-сервер?
28. sys1c (sys1c) 20.01.12 02:37
Да, на самом серваке 1с запускается и работает.

Если делать по этой инструкции - то у меня затык вот на этой фразе:

"В качестве обрабатываемых расширений указываем все файлы «.*» (точка-звездочка). "

У меня не добавляется такое расширение! также не добавляется *.* и просто звездочка, сообщение об ошибки: Неправильный формат расширения.

Поэтому пробовал просто через конфигуратор публиковать.
Если конектиться через Хром, то сайт выдает ошибку: %1 не является приложением Win32
Если конектиться через IE, то Веб-узел не может отобразить страницую HTTP 500
Если через Тонкий клиент, то появляется окошко авторизации пользователя, и какой бы не ввелся пароль, правильный или не правильный, выпадает сообщение которое я показал постом выше.
29. Вячеслав Кадацкий (marsohod) 20.01.12 15:56
(28) sys1c, гм... странно... Вы из-под админской учетки настраиваете? И ещё, какой версии у вас IIS?
P.S. Если у вас IIS седьмой версии, то надо ещё виртуальный каталог сконвертировать в приложение (делается правым кликом по виртуальному каталогу и выбором соотв. пункта меню).
30. sys1c (sys1c) 01.02.12 16:52
MS Server 2003 R2 x64, IIS получается 6-ой версии.
1С лицензии программные, на серваке работают.

Интернет подключен по технологии ADSL, т.е. стоит роутер D-Link, в нем подымается соединение. ADSL роутер воткнут в хаб, сервер тоже в хаб, в шлюзе сетевой карты сервера прописан IP ADSL роутера. Windows Терминал ( 3389 порт) при этом без проблем пробрасывается, а вот с Тонким/веб клиентом 1с, мучаюсь уже с пол месяца. Никак не получается.

Какой порт нужно пробросить от ADSL роутера до сервера? Подскажите пожалуйста.
31. sys1c (sys1c) 01.02.12 17:18
Даже если не через Интернет.
в браузере, на самом сервере набираю
http://localhost/DemoTrd/

В Chrom получаю
%1 не является приложением Win32.

В IE получаю
Веб-узел не может отобразить страницу
HTTP 500


и еще, в конфигураторе, нажимаем Публикация на веб-сервере.
появляется окошко.
Имя
Веб-сервер
Каталог
[]Публиковать тонкий клиент и веб
[]Публиковать web-сервисы

а затем идет табличная часть, вот для чего она вообще???
у меня там подставляются
Имя Files
адрес files.1cws
это что вообще? для чего?
32. sys1c (sys1c) 01.02.12 17:55
С табличной частью в окне "публикация" разобрался, Web сервисы не использую. Нужен тока тонкий и веб клиент. Подскажите пожалуста почему не работает даже через localhost (
33. Вячеслав Кадацкий (marsohod) 03.02.12 15:34
(32) sys1c, извините за задержку - семейные обстоятельства :)
Так, хорошо... давайте сначала определимся правильно ли работает сам IIS. Что он вам показывает по адресу http://localhost/ ??? Отображает ли он обычный статический html? Или у вас там веб-морда почтового сервера (или какого-нибудь другого приложения)? :) Если так, то тогда либо надо отвязать веб-морду от 80 порта и пересадить на другой, либо создать новый веб-узел IIS с привязкой на другой порт (81,82 или другой свободный) и уже для него настроить интеграцию с 1С. Подключаться к 1С, как вы понимаете, тогда придется по адресу http://localhost:81/DemoTrd/ или http://localhost:82/DemoTrd/ etc...
34. sys1c (sys1c) 04.02.12 06:43
Все разобрался.. вообщем через IIS ни в какую не захотел завестись, но через апач получилось. При этом долго пялил глаза когда увидел, что есть разница в URL - DemoTrd и demotrd.
35. sys1c (sys1c) 04.02.12 06:43
сейчас вот сижу и думаю, а может и в IIS я регистр не тот забивал в адресе..
36. Вячеслав Кадацкий (marsohod) 04.02.12 17:20
(35) sys1c, :o Сейчас уже не могу проверить для 6 версии IIS - уже вин7 поставил. Но для IIS 7.5, который у меня сейчас стоит регистр букв в адресе не имеет никакого значения.
38. Alex Misanets (Misanets) 23.03.12 12:43
На первых картинках пример с файловой ИБ, а как быть со скульно?
ИМХО, используйте личку для переписки по проблем/решениям, читать портянку "пустых" коментов неприятно.
39. Viktor Kupko (zipik) 23.03.12 15:29
как реализовать чтоб через https:// было!?
40. Viktor Kupko (zipik) 23.03.12 15:30
на сколько я знаю это возможно..
41. Andrey Dyak (electronik) 03.04.12 15:56
Подскажите пожалуйста а если у меня 1С8.2 обычное приложение и работает на SQL Windows оно будет работать так ка вы показиваете
42. dimazzz84 (dimazzz84) 21.11.12 14:19
Никак не могу найти решение проблемы - не могу попасть в свойства веб-узла: все время выдает:
"Указанные метаданные не были найдены"
Никто не сталкивался?
43. Albert A (albert) 21.05.13 16:19
(32) sys1c,
Скорее всего
ВАЖНО. Если вы используете 32-х разрядный вариант сервера 1С:Предприятия 8 на 64-х разрядной версии
операционной системы, то необходимо указать веб-серверу, что он может выполнять 32-х разрядные приложения
(подробнее об особенностях запуска 32-х битных приложений на 64-х разрядной версии операционной системы можно
посмотретьв MSDN). Это делается с помощью следующей команды, которую надо запустить в командном интерпретаторе
системы (START -> COMMAND PROMPT):
CSCRIPT %SYSTEMDRIVE%\INETPUB\ADMINSCRIPTS\ADSUTIL.VBS SET W3SVC/APPPOOLS/ENABLE32BITAPPONWIN641
44. rasswet (rasswet) 20.02.14 16:57
это до сих пор актуально? или для новых версий какие-то уточнения будут?