Как опубликовать базу 1С:Документооборот на веб-серверах Apache и IIS?
Для начала проверим запущены ли веб-серверы 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. Видим следующее:
авторизуйтесь
{ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(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
{ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(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
{ОбщийМодуль.ДлительныеОперацииГлобальный.Модуль(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/ОбщаяКоманда.ПредупрежденияПриЗавершенииРаботы",
Мобильное приложение содержит синтаксические ошибки.