Введение

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

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

В данной статье, мы будем использовать файловую базу данных и веб-сервер IIS. Настройку веб-сервера будем рассматривать в минимально необходимом варианте для целей публикации 1с.

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

1. Установка из дистрибутива 1с-предприятия компоненты "Модули расширения веб-сервера"

 Запускаем из дистрибутива программы файл 1CEnterprise 8.msi. В появившемся окне выбираем "Изменить"

Теперь щелкаем "Далее >"

Выбираем для установки "Модули расширения веб-сервера" и, щелкнув "Далее >", устанавливаем выбранный компонент.

2. Установка Web-сервера (IIS)

Теперь нам надо получить работающий веб-сервер. Как уже отмечалось, для демонстрации был выбран IIS. Качать ничего ниоткуда не надо, он уже есть в Windows, и сейчас мы его установим.

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

Нажимаем кнопки Win+R чтобы вызвать командную строку, вводим "Control" и нажимаем OK

После этого у нас должна открыться "Панель управления"

 

Для удобства выбираем просмотр "Мелкие значки" и выбираем "Программы и компоненты". Далее нам необходим выбрать пункт "Включение или отключение компонентов Windows"

 

Для того, чтобы web-сервер работал в локальной сети нам необходимо найти каталог со службами IIS и проставить следующие галочки:

Расширения ISAPI, Контроль управления IIS, Служба управления IIS, Сценарии и средства управления IIS.

После этого нажимаем OK и применяем наши изменения.

Сейчас нам надо вновь вернуться в Панель управления и перейти в этот раз по ссылке "Администрирование". После подключения дополнительных компонентов Windows здесь появится оснастка "Диспетчер служб IIS"

 

 Запускаем ее, выбираем "Пулы приложений" >" Default App Pool", щелкаем правой кнопкой мыши и в появившемся меню выбираем пункт "Дополнительные параметры", устанавливаем параметр "Разрешены 32-разрядные приложения" в True.

 

Дополнительно настроим Default Web Site и пропишем ему IP-адрес нашего компьютера в сети. Щелкаем правой кнопкой мыши на "Default Web Site" , выбираем "Изменить привязки", указываем IP адрес машин с Web-сервером и сохраняем. Порт по умолчанию 80.

На этом настройку Web-сервера можно считать законченной. Осталось добавить в базу данных, к примеру HTTP-сервис и опубликовать. В этой статье мы рассматривали работу с Http-сервисом, вот им и воспользуемся в целях демонстрации.

3. Публикация базы 1с на Web-сервере

Запускаем базу в конфигураторе под правами администратора локального компьютера. HTTP-сервис используем отсюда.

 

Создаем папку для обмена. В нашем случае она будет расположена на диске D, назовем ее Exchange.

Добавляем пользователю IUSR необходимые права на чтение на каталог Bin  текущего релиза конфигурации и права на изменение каталога базы, если база файловая.  (Правая кнопка мыши на папке, Свойства-Безопасность). Вот выдержка из ИТС, думаю, тут можно без комментариев оставить:

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

 

В нашем каталоге обмена создано два файла, оба можно прочитать обычным блокнотом. Интересовать нас будет default.vrd


 

Открываем и пролистываем до секции HTTP-сервисов, они в конце. Тут сейчас один-единственный http-сервис, который называется "Передача данных". Копируем его:

Меняем у нового блока соответствующие поля на названия нашего http-сервиса из расширения. Name = "HS_Price", rootUrl = "hs_price", reuseSessions = "autouse" (почему то с значением use у меня работать на захотел). Сохраняем.

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

 

Результат:

Все прекрасно, http-сервис работает и возвращает то, что от него ожидается. Прайс-лист заданного в ссылке наименования вида цен со штрих-кодами.

Ну, и напоследок, ответ на вопрос, как убрать окошко авторизации. Очень просто! Нам надо отредактировать тот же самый файл default.vrd. Добавим в базу нового пользователя HttpUser, дадим ему для простоты полные права и назначим пароль "123". Редактируем:

 

Красным выделено место куда надо вставить имя и пароль пользователя.