Самый детальный видеокурс по 1С:Документообороту

Публикация на веб-сервере базы 1С:Документооборот

Как опубликовать базу 1С:Документооборот на веб-серверах Apache и IIS?

У нас имеется два веб-сервера Apache и IIS. Веб-сервер Apache мы будем использовать для публикации базы 1С:Документооборот в Internet для работы через веб-клиент и через мобильный клиент. Веб-сервер IIS нам нужен для доступа к 1С:Документооборот внутри локальной сети для обменов с другими системами.



Для начала проверим запущены ли веб-серверы Apache и IIS. В браузере на веб-серверах наберем в адресной строке localhost и localhost:8080.
Если сервер Apache работает по 80 порту, то мы увидим сообщение «It works!».
Если сервер IIS работает по порту 8080, то увидим следующую картинку.

Теперь опубликуем базу и веб-сервисы 1С:Документооборот на веб-серверах.

Публикация на веб-сервере Apache с использованием конфигуратора

Для публикации на веб-сервере Apache воспользуемся конфигуратором. В базе 1С:Документооборот заходим в конфигуратор, в меню Администрирование выбираем пункт Публикация на веб-сервере.
Указываем имя публикации, веб-сервер, каталог публикации, а также устанавливаем флаги «Публиковать тонкий клиент и веб-клиент», «Публиковать Web-сервисы» и отмечаем веб-сервисы для работы с мобильными клиентами:
MobileDM132,
MobileDM142,
MobileDMVersionService.
Поскольку часть пользователей будет работать через Интернет, то они могут работать через веб-клиент или через тонкий клиент. Для работы с файлами в 1С:Документооборот удобнее использовать тонкий клиент. Однако при обновлении платформы на сервере 1С у пользователей может не оказаться актуальной версии тонкого клиента. Поэтому мы будем всегда размещать на сервере Apache актуальный дистрибутив тонкого клиента.
Возьмем дистрибутив тонкого клиент и заархивируем его в ZIP-архив. В папку веб-сервера Apache найдем папку htdocs, в которой создадим подпапку distr. Скопируем в эту папку наш zip-архив.
Проверим в браузере доступность скачивания нашего архива.
Теперь снова откроем публикацию на веб-сервере, установим флаг «Публиковать дистрибутив» и укажем путь http://localhost/distr/setuptc.zip. Вместо localhost нужно будет указать адрес DNS-сервера, по которому доступен веб-сервер Apache в Интернет. И снова нажимаем кнопку Опубликовать.

В результате в папке htdocs веб-сервера Apache в папке doc создался файл default.vrd.
Публикация 1С:Документооборот на веб-сервере Apache завершена. Проверим запуск 1С:Документооборот в режиме веб-клиента. Набираем в адресной строке браузера http://localhost/doc.

Публикация на веб-сервере IIS с использованием компоненты webinst

В справке по публикации на веб-сервере написано следующее:
Для публикации на удаленном компьютере можно также использовать утилиту webinst. Данная утилита должна запускаться из каталога двоичных файлов платформы (для ее запуска требуется наличие динамических библиотек, входящих в состав платформы):
Публикация:
webinst [-publish] websrv -wsdir VirtualDir -dir Dir -connstr connStr [-confPath confPath] [-osauth]
Удаление публикации:
webinst -delete websrv -wsdir VirtualDir [-dir Dir] [-connstr connStr] [-confPath confPath]
-publish – опубликовать (ключ по умолчанию);
-delete – удалить публикацию;
websrv – тип веб-сервера. Может принимать следующие значения:
iis – публикация веб-клиента для IIS;
apache2 – публикация веб-клиента для Apache 2.0;
apache22 – публикация веб-клиента для Apache 2.2;
-wsdir VirtualDir – виртуальный каталог;
-dir Dir – физический каталог, в который будет отображен виртуальный каталог;
-connstr connStr – строка соединения информационной базы;
-confPath confPath – полный путь к конфигурационному файлу Apache (только для публикации на Apache);
-osauth – использование Windows авторизации (только для IIS);
–descriptor <путь к vrd файлу> – указывает новый файл-дескриптор публикации. При публикации существующий vrd файл полностью переписывается указанным. Если в вызове утилиты указаны также ключи –wsdir и/или –connstr, их значения перекрывают значения полей vrd-файла base и ib соответственно. Если указан ключ –delete, ключ –descriptor используется для получения имени публикации (поле base vrd-файла) и проверки строки соединения (проверка, что по этому имени опубликована требуемая база). Должен использоваться именно файл-дескриптор публикации.
Запускаем командную строку под правами Администратора. Затем переходим в папку, где находится компонента webinst.
Если установлен 64-х разрядный модуль расширения веб-сервера, то выполняем команду:
cd c:\Program Files\1cv8\8.3.6.2014\bin\
Если установлен 32-х разрядный модуль расширения веб-сервера, то выполняем команду:
cd c:\Program Files (x86)\1cv8\8.3.6.2014\bin\
Далее выполняем команду:
webinst -publish -iis -wsdir doc -dir c:\inetpub\wwwroot\doc\ -connstr "Srvr=dv;Ref=doc;"
Далее нам потребуется скорректировать файл default.vrd, чтобы было запрещено работать с приложением из веб-браузера из локальной сети и были опубликованы только веб-сервисы для обмена. Для удобства скопируем ветку из файла default.vrd, созданного в результате публикации 1С:Документооборот для веб-сервера Apache.
В результате файл default.vrd будет иметь вид:
Публикация 1С:Документооборот на веб-сервере IIS завершена. Проверим нашу публикацию. В браузере наберем адрес http://localhost:8080/doc. Видим, что работа через веб-клиент не доступна.
Проверим работу веб-сервиса Files в 1С:Документооборот. Набираем в адресной строке браузера адрес http://localhost:8080/doc/ws/files.1cws?wsdl. Видим следующее:
Теперь проверим, что веб-сервис MobileDM142 в 1С:Документообороте не доступен. Набираем в браузере адрес http://localhost:8080/doc/ws/MobileDM142.1cws?wsdl. Видим следующее:

6 комментариев:

  1. Доброе утро.
    Подскажите как решить проблему. Пытаюсь опубликовать мобильное приложение, при обновлении выпадает ряд ошибок. Конфигурация типовая. 1С ДО КОРП 2.1
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(100,3)}: Процедура или функция с указанным именем не определена (ВыполнитьОбработкуОповещения)
    «?»ВыполнитьОбработкуОповещения(ДлительнаяОперация.ОповещениеОПрогрессеВыполнения, Прогресс);
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(158,2)}: Процедура или функция с указанным именем не определена (ВыполнитьОбработкуОповещения)
    «?»ВыполнитьОбработкуОповещения(ДлительнаяОперация.ОповещениеОЗавершении, Результат);
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(140,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(?(Оповещение.Текст <> Неопределено, Оповещение.Текст, НСтр("ru = 'Действие выполнено'; en = 'Action complete'")),
    {ОбщийМодуль.ОбменДаннымиГлобальный.Модуль(34,3)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Установить обновление'; en = 'Install the update'"), "e1cib/app/Обработка.ВыполнениеОбменаДанными",
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(87,3)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(119,4)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(129,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СтандартныеПодсистемыГлобальный.Модуль(53,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(, "e1cib/command/ОбщаяКоманда.ПредупрежденияПриЗавершенииРаботы",
    Мобильное приложение содержит синтаксические ошибки.

    ОтветитьУдалить
    Ответы
    1. Обновите мобильное приложение, ошибки должны были исправить

      Удалить
  2. Добрый день.
    Подскажите как решить проблему. Пытаюсь опубликовать мобильное приложение, при обновлении выпадает ряд ошибок. Конфигурация типовая. 1С ДО КОРП 2.1
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(100,3)}: Процедура или функция с указанным именем не определена (ВыполнитьОбработкуОповещения)
    «?»ВыполнитьОбработкуОповещения(ДлительнаяОперация.ОповещениеОПрогрессеВыполнения, Прогресс);
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(158,2)}: Процедура или функция с указанным именем не определена (ВыполнитьОбработкуОповещения)
    «?»ВыполнитьОбработкуОповещения(ДлительнаяОперация.ОповещениеОЗавершении, Результат);
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(140,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(?(Оповещение.Текст <> Неопределено, Оповещение.Текст, НСтр("ru = 'Действие выполнено'; en = 'Action complete'")),
    {ОбщийМодуль.ОбменДаннымиГлобальный.Модуль(34,3)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Установить обновление'; en = 'Install the update'"), "e1cib/app/Обработка.ВыполнениеОбменаДанными",
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(87,3)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(119,4)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(129,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СтандартныеПодсистемыГлобальный.Модуль(53,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(, "e1cib/command/ОбщаяКоманда.ПредупрежденияПриЗавершенииРаботы",
    Мобильное приложение содержит синтаксические ошибки.

    ОтветитьУдалить
    Ответы
    1. Обновите мобильное приложение, ошибки должны были исправить

      Удалить
  3. Доброе вечер. Подскажите как решить проблему. Пытаюсь опубликовать мобильное приложение, при обновлении выпадает ряд ошибок. Конфигурация типовая. 1С ДО КОРП 2.1
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(100,3)}: Процедура или функция с указанным именем не определена (ВыполнитьОбработкуОповещения)
    «?»ВыполнитьОбработкуОповещения(ДлительнаяОперация.ОповещениеОПрогрессеВыполнения, Прогресс);
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(158,2)}: Процедура или функция с указанным именем не определена (ВыполнитьОбработкуОповещения)
    «?»ВыполнитьОбработкуОповещения(ДлительнаяОперация.ОповещениеОЗавершении, Результат);
    {ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(140,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(?(Оповещение.Текст <> Неопределено, Оповещение.Текст, НСтр("ru = 'Действие выполнено'; en = 'Action complete'")),
    {ОбщийМодуль.ОбменДаннымиГлобальный.Модуль(34,3)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Установить обновление'; en = 'Install the update'"), "e1cib/app/Обработка.ВыполнениеОбменаДанными",
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(87,3)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(119,4)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СоединенияИБГлобальный.Модуль(129,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(НСтр("ru = 'Завершение работы пользователей'; en = 'User sessions termination'"),
    {ОбщийМодуль.СтандартныеПодсистемыГлобальный.Модуль(53,2)}: Процедура или функция с указанным именем не определена (ПоказатьОповещениеПользователя)
    «?»ПоказатьОповещениеПользователя(, "e1cib/command/ОбщаяКоманда.ПредупрежденияПриЗавершенииРаботы",
    Мобильное приложение содержит синтаксические ошибки.

    ОтветитьУдалить
    Ответы
    1. Обновите мобильное приложение, ошибки должны были исправить

      Удалить