Отправить эту статью на мою почту
Статья описывает пошаговые действия по публикации в интернете базы 1С Предприятие 8.3 (Управление торговлей 11) и собственного HTTP-сервиса на веб-сервере Microsoft IIS.
Для доступа к функционалу 1С и вашей рабочей базе через обыкновенный веб-браузер или тонкий клиент. При этом никаких ограничений в вашей работе не будет, это все-равно что 1С установлен на вашем компьютере, только доступен через веб-браузер (даже со смартфона, правда, в случае смартфона – не очень удобно будет из-за отсутствия масштабирования).
Что касается HTTP-сервиса, то это более специфический функционал, кто понимает, что такое HTTP REST API, то уже может представить, что это такое. Если кратко, то HTTP-сервисы предназначены для программного обмена информацией между интернет-ресурсами, например, в моей статье про Скайп-боты в 1С HTTP-сервис обязательно нужен – он выполняет функции приема и обработки сообщений которые отправляются Боту в Скайпе от человека.
Веб-сервер рекомендую устанавливать на серверной операционной системе, в моем случае это был Microsoft Windows Server 2012 R2.
Веб-сервер IIS можно устанавливать на рабочем сервер даже с активными RDP подключениями других пользователей, не бойтесь, их не выкинет из сервера :)
Если вы решили установить IIS на Windows 10 (7, 8), то установка IIS будет примерно такая же, только там не будет оснастки «Диспетчер серверов», вместо этого нужно зайти в Панель управления – Удаление программ, далее слева ссылка – «Включение и отключение компонентов Windows», ставим флаг напротив «Службы IIS», далее установите флаги как было описано выше.
Проверяем корректность установки веб-сервера IIS, для этого запускаем интернет-браузер, например, Хром и в адресной строке указываем локальный адрес текущего сервера: http://127.0.0.1, если всё сделано правильно, то откроется главная страница веб-сервера IIS.
Чтобы открыть панель управления веб-сервером IIS, перейдите в Панель управления компьютером, далее кнопка Просмотр – Категория – Мелкие значки, кликаем по «Администрирование».
Открываем ярлык – «Диспетчер служб IIS».
Обратите внимание на разрядность установленной платформы 1С - х64:
После того как вы поняли какая разрядность у вашей платформы 1С (х32 или как на скриншоте выше – х64), в диспетчере служб IIS выберите «Пулы приложений», один раз кликните левой кнопкой мыши по «DefaultAppPool» и справа нажмите ссылку «Дополнительные параметры», далее в строке «Разрешены 32-разрядные приложения» должность стоять False, а если платформа 1С у вас была бы не х64, т.е. х32, то здесь должно быть установлено значение True.
Заранее имейте ввиду, если после публикации 1С на веб-сервере вы откроете 1С в веб-браузере, далее откроете список документов и получите ошибку «Обнаружено потенциально опасное значение Request.Path, полученное от клиента (:)», то в настройках «DefaultAppPool» рядом с «Разрешены 32-разрядные приложения» есть строка «Режим управляемого контейнера», он должен быть «Classic».
Кликаем по ярлыку 1С правой кнопкой мыши и выбираем пункт – «Запуск от имени администратора».
Запускаем нужную базу 1С в режиме конфигуратора. Внимание! Конфигурация 1С должна быть на управляемых формах, иначе публикация будет бессмысленная, например, Управление торговлей редакции 11.х можно публиковать и иметь к ней доступ через веб-браузер, а Управление торговлей редакции 10.х нельзя. Но это не касается HTTP-сервисов, если вы создадите свой HTTP-сервис в Управление торговлей редакции 10.х, то он будет работать.
В конфигураторе нажмите кнопку меню Администрирование – Публикация на веб-сервере. Далее кнопку «Опубликовать». Только запомните название публикации, в моем случае (на скрине ниже) – «DemoTrd».
Может появиться просьба перезапустить веб-сервер IIS, соглашаемся.
Если база файловая:
То может отобразиться предупреждение при публикации на веб-сервере:
Дайте полные права пользователю IUSR на директорию в которой установлена база 1С (адрес директории отображается в окне с ошибкой о правах см. выше или в окне «О программе» также смотрите выше).
Теперь можете проверить работу 1С в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd
Если всё сделали правильно, то откроется база 1С.
Давайте по-быстрому создадим свой HTTP-сервис который будет просто возвращать слова «Всё хорошо!» при обращении к нему через обычный веб-браузер.
В конфигураторе создаем новый HTTP-сервис, с шаблоном по умолчанию и одним GET методом у которого будет обработчик такого вида:
Обновим нашу публикацию на веб-сервере, для этого снова нажмите в меню Администрирование – Публикация на веб-сервере, убедитесь, что на закладен HTTP-сервисы установлен флаг на против нашего HTTP-сервиса:
Нажимаем «Опубликовать». Должно появиться сообщение – «Публикация обновлена».
Теперь можете проверить работу опубликованного HTTP-сервиса в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd/hs/test где «test» это корневой URL HTTP-сервиса, в итоге, если всё настроено верно, то получим сообщение «Все хорошо». Единственное, браузер может попросить указать логин и пароль пользователя из базы 1С.
Если IP адрес вашего сервера внешний и статический (это можно узнать у вашего системного администратора и интернет-провайдера), то открывать вашу базу 1С и HTTP-сервис через интернет можно будет с любого компьютера подключенного к интернету, для этого в интернет-браузере вводите внешний статический IP-адрес сервера вместо 127.0.0.1 в адресах указанных выше.