1С8:Публикация информационной базы 1С на веб-сервере — различия между версиями

Материал из КинтВики
Перейти к: навигация, поиск
(Коды ошибок при работе с веб-сервером)
 
(не показано 48 промежуточных версий 7 участников)
Строка 1: Строка 1:
[[Категория:Администрирование 1С:Предприятие 8]] [[Категория:Мобильные приложения (КУС)]]
+
<noinclude>[[Категория: Установка и обновление|*08]] [[Категория: Мобильные приложения]]</noinclude>
 +
Публикация информационной базы 1С на веб-сервере нужна для того, чтобы:
 +
* работать с базой удаленно по интернету;
 +
* подключаться к базе, используя мобильные приложения.
 +
{{notice|Действия выполняются на сервере под правами администратора. Для работы по интернету нужно, чтобы было настроено сетевое оборудование.}}
 +
Порядок действий:
 +
# Выполните установку веб-сервера IIS или Apache.
 +
#* IIS работает быстрее, чем Apache. (https://forum.infostart.ru/forum9/topic222705/)
 +
#* Apache. Рекомендуется к установке версия 2.2, либо 2.4. Разрядность должна соответствовать разрядности клиентской платформы 1С.
 +
# Запустите службу Apache на сервере и проверьте доступность: с компьютера, находящегося в одной сети с сервером, в адресной строке браузера введите адрес сервера или его имя. Должна загрузиться страница с текстом «It's work!».
 +
# На сервере запустите публикуемую базу в режиме конфигуратора. Выберите пункт меню '''Администрирование — Публикация на веб-сервере'''.
 +
# Заполните параметры:
 +
#* Укажите имя публикации. Выберите каталог для сохранения данных публикации, по которому она будет доступна по сети.
 +
#* Если снять галочку «'''Публиковать доступ для клиентских приложений'''», то к базе будет невозможно подключиться по веб-ссылке в обычном пользовательском режиме через браузер или платформу. Такой вариант публикации базы выбирают, если требуется опубликовать только HTTP-сервис, например, API.
 +
# Закладку '''Web-сервисы''' оставьте без изменений. На закладке '''http-сервисы''' выберите необходимые сервисы и нажмите кнопку '''''Опубликовать'''''.
 +
#: [[Файл:ФАЙЛ РАСШИРЕНИЙ.png|600px]]
 +
#* Включите галочку '''KintAPI''' (KintAPI.hs), если планируется подключение к этой базе по [[API (КУС)]].
 +
<!--#* '''WubookPushNotification''' — для интеграции с онлайн-бронированием WuBook.-->
 +
#* '''ЕГИСЗ''' — для интеграции с системой [https://egisz.rosminzdrav.ru/ https://egisz.rosminzdrav.ru/].
 +
# В адресной строке браузера наберите http://[адрес_сервера]/[имя_публикации].
 +
{{notice|'''Важно'''. В дальнейшем в настройке нужно использовать имя публикации точно такое, с каким она была опубликована — соблюдая регистр символов.}}
 +
Если база успешно опубликована и веб-сервер запущен, появится окно ввода логина и пароля пользователя для входа в вашу базу. Пользователь должен быть добавлен в список пользователей информационной базы.<br>
  
Для того, чтобы иметь возможность работы с базой удалённо -- по сети интернет -- и подключаться к базе используя мобильные приложения, необходимо выполнить публикацию информационной базы на веб-сервере:
+
Если произвести авторизацию не представляется возможным, можно произвести публикацию базы с беcпарольной аутентификацией (когда пользователь и его пароль прописаны на веб-сервере в '''<code>default.vrd</code>'''), но в этом случае следует учитывать, что любой пользователь, у которого будет ссылка на неё, сможет заходить в базу через режим 1С: Предприятие, если соответствующие права у него имеются. Для отключения запроса пароля нужно в файле публикации Default.vrd прописать логин/пароль по умолчанию, пример: ib="Srvr="SERVERNAME";Ref="BASE_NAME";usr="Администратор";pwd="12345";enable="false";".
  
{{notice|Действия выполняются на сервере, под правами администратора. Для работы по сети интернет потребуется настройка сетевого оборудования.}}
+
== Возможные проблемы ==
*выполнить установку веб-сервера ''Apache''. Рекомендуется к установке версия 2.2, 32 разрядная;
+
* Публикация базы на IIS не работает.
 +
** Решение: проверить разрядность wsisapi.dll (Модуль расширения веб-сервера 1С). Возможно в файле web.config публикации прописана ссылка на dll из другой разрядности. Должно соответствовать разрядность платформы. Попробовать добавить/убрать "(x86)"
 +
: [[Файл:Ошибка публикации путь к dll.png]]
  
*запустить службу Apache на сервере, проверить доступность: с компьютера в одной с сервером сети в адресной строке браузера ввести адрес сервера или его имя, должна загрузиться страница с текстом ''"It's work!"'';
 
  
*на сервере запустить публикуемую базу в режиме конфигуратора, вызвать меню ''Администрирование - Публикация на веб-сервере..''., указать имя публикации, выбрать каталог для сохранения данных публикации по которому она будет доступна по сети;
+
* После обновления платформы не работает расширение для обмена данными.
 +
** Решение: проверьте установлены ли права на использование HTTP-сервиса и назначена ли пользователю соответствующая роль.
 +
:: Для этого:
 +
: 1. В 1С:Конфигураторе откройте настройки расширения «Кинт: Обмен данными».
 +
: 2. Раскройте ветку HTTP-сервиса «ОбменДанными_API».
 +
: 3. Откройте дополнительные свойства для метода «GetData».
  
*вкладку Web-сервисы оставить без изменений, на вкладке http-сервисы выбрать необходимые и нажать кнопку Опубликовать;
+
: [[Файл:Конфигуратор HTTP-сервисы Дополнительно.png]]
  
*в адресной строке браузера набрать адрес_сервера/имя_публикации, если база успешно опубликована и веб-сервер запущен появится окно ввода логина и пароля для входа в вашу базу.
+
: 4. Во вкладке «Права» установите флаг на право использования.
 +
 
 +
: [[Файл:Конфигуратор HTTP-сервисы Дополнительно2.png]]
 +
 
 +
: 5. Повторите шаги 3 и 4 для метода «PostData».
 +
: 6. В меню «Администрирование» откройте список пользователей.
 +
: 7. Откройте настройки пользователя и на вкладке «Прочие» в списке доступных ролей установите флаг на роли «ОбменДанными_ОсновнаяРоль».
 +
 
 +
: [[Файл:Конфигуратор Роль пользователя.png]]
 +
 
 +
== Коды ошибок при работе с веб-сервером ==
 +
'''500''' — ошибка доступа к веб-сервису. Для исправления обычно достаточно переопубликовать информационную базу на веб-сервере.
 +
 
 +
== См. также ==
 +
* Описание процесса публикации базы: https://its.1c.ru/db/v8318doc#bookmark:adm:TI000000196
 +
* Установка и настройка Apache 2.2 https://marabar.ru/blogs/server/apachephpmysql-phpmyadmin-on-windows/apache-2222-ustanovka-i-nastrojka/
 +
* \\demo\Видеозаписи\Широбоков Сергей\Как опубликовать базу на ENTRY.mp4 — памятка для сотрудников Кинт
 +
* https://youtu.be/4RdZJmBsEJ4 Обмен данными между «Кинт: Управление санаторием» и «1С:Бухгалтерия 8» через API

Текущая версия на 09:34, 22 ноября 2024

Публикация информационной базы 1С на веб-сервере нужна для того, чтобы:

  • работать с базой удаленно по интернету;
  • подключаться к базе, используя мобильные приложения.
Действия выполняются на сервере под правами администратора. Для работы по интернету нужно, чтобы было настроено сетевое оборудование.

Порядок действий:

  1. Выполните установку веб-сервера IIS или Apache.
    • IIS работает быстрее, чем Apache. (https://forum.infostart.ru/forum9/topic222705/)
    • Apache. Рекомендуется к установке версия 2.2, либо 2.4. Разрядность должна соответствовать разрядности клиентской платформы 1С.
  2. Запустите службу Apache на сервере и проверьте доступность: с компьютера, находящегося в одной сети с сервером, в адресной строке браузера введите адрес сервера или его имя. Должна загрузиться страница с текстом «It's work!».
  3. На сервере запустите публикуемую базу в режиме конфигуратора. Выберите пункт меню Администрирование — Публикация на веб-сервере.
  4. Заполните параметры:
    • Укажите имя публикации. Выберите каталог для сохранения данных публикации, по которому она будет доступна по сети.
    • Если снять галочку «Публиковать доступ для клиентских приложений», то к базе будет невозможно подключиться по веб-ссылке в обычном пользовательском режиме через браузер или платформу. Такой вариант публикации базы выбирают, если требуется опубликовать только HTTP-сервис, например, API.
  5. Закладку Web-сервисы оставьте без изменений. На закладке http-сервисы выберите необходимые сервисы и нажмите кнопку Опубликовать.
    ФАЙЛ РАСШИРЕНИЙ.png
    • Включите галочку KintAPI (KintAPI.hs), если планируется подключение к этой базе по API (КУС).
    • ЕГИСЗ — для интеграции с системой https://egisz.rosminzdrav.ru/.
  6. В адресной строке браузера наберите http://[адрес_сервера]/[имя_публикации].
Важно. В дальнейшем в настройке нужно использовать имя публикации точно такое, с каким она была опубликована — соблюдая регистр символов.

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

Если произвести авторизацию не представляется возможным, можно произвести публикацию базы с беcпарольной аутентификацией (когда пользователь и его пароль прописаны на веб-сервере в default.vrd), но в этом случае следует учитывать, что любой пользователь, у которого будет ссылка на неё, сможет заходить в базу через режим 1С: Предприятие, если соответствующие права у него имеются. Для отключения запроса пароля нужно в файле публикации Default.vrd прописать логин/пароль по умолчанию, пример: ib="Srvr="SERVERNAME";Ref="BASE_NAME";usr="Администратор";pwd="12345";enable="false";".

Возможные проблемы

  • Публикация базы на IIS не работает.
    • Решение: проверить разрядность wsisapi.dll (Модуль расширения веб-сервера 1С). Возможно в файле web.config публикации прописана ссылка на dll из другой разрядности. Должно соответствовать разрядность платформы. Попробовать добавить/убрать "(x86)"
Ошибка публикации путь к dll.png


  • После обновления платформы не работает расширение для обмена данными.
    • Решение: проверьте установлены ли права на использование HTTP-сервиса и назначена ли пользователю соответствующая роль.
Для этого:
1. В 1С:Конфигураторе откройте настройки расширения «Кинт: Обмен данными».
2. Раскройте ветку HTTP-сервиса «ОбменДанными_API».
3. Откройте дополнительные свойства для метода «GetData».
Конфигуратор HTTP-сервисы Дополнительно.png
4. Во вкладке «Права» установите флаг на право использования.
Конфигуратор HTTP-сервисы Дополнительно2.png
5. Повторите шаги 3 и 4 для метода «PostData».
6. В меню «Администрирование» откройте список пользователей.
7. Откройте настройки пользователя и на вкладке «Прочие» в списке доступных ролей установите флаг на роли «ОбменДанными_ОсновнаяРоль».
Конфигуратор Роль пользователя.png

Коды ошибок при работе с веб-сервером

500 — ошибка доступа к веб-сервису. Для исправления обычно достаточно переопубликовать информационную базу на веб-сервере.

См. также