1С8:Публикация информационной базы 1С на веб-сервере
Публикация информационной базы 1С на веб-сервере нужна для того, чтобы:
- работать с базой удаленно по интернету;
- подключаться к базе, используя мобильные приложения.
Действия выполняются на сервере под правами администратора. Для работы по интернету необходимо, чтобы было настроено сетевое оборудование. |
Порядок публикации ИБ
Порядок действий:
- Выполните установку веб-сервера IIS или Apache.
- IIS работает быстрее, чем Apache. (https://forum.infostart.ru/forum9/topic222705/)
- Apache. Рекомендуется к установке версия 2.4. Разрядность должна соответствовать разрядности клиентской платформы 1С.
- Запустите службу Apache на сервере и проверьте доступность: с компьютера, находящегося в одной сети с сервером, в адресной строке браузера введите адрес сервера или его имя. Должна загрузиться страница с текстом «It's work!».
- На сервере запустите публикуемую базу в режиме конфигуратора. Выберите пункт меню Администрирование — Публикация на веб-сервере.
- Заполните параметры:
- Укажите имя публикации. Выберите каталог для сохранения данных публикации, по которому она будет доступна по сети.
- Если снять галочку «Публиковать доступ для клиентских приложений», то к базе будет невозможно подключиться по веб-ссылке в обычном пользовательском режиме через браузер или платформу. Такой вариант публикации базы выбирают, если требуется опубликовать только HTTP-сервис, например, API.
- Закладку Web-сервисы оставьте без изменений. На закладке http-сервисы выберите необходимые сервисы и нажмите кнопку Опубликовать.
- Включите галочку KintAPI (KintAPI.hs), если планируется подключение к этой базе по API (КУС).
- ЕГИСЗ — для интеграции с системой https://egisz.rosminzdrav.ru/.
- В адресной строке браузера наберите 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)"
- После обновления платформы не работает расширение для обмена данными.
- Решение: проверьте установлены ли права на использование HTTP-сервиса и назначена ли пользователю соответствующая роль.
- Для этого:
- 1. В 1С:Конфигураторе откройте настройки расширения «Кинт: Обмен данными».
- 2. Раскройте ветку HTTP-сервиса «ОбменДанными_API».
- 3. Откройте дополнительные свойства для метода «GetData».
- 4. Во вкладке «Права» установите флаг на право использования.
- 5. Повторите шаги 3 и 4 для метода «PostData».
- 6. В меню «Администрирование» откройте список пользователей.
- 7. Откройте настройки пользователя и на вкладке «Прочие» в списке доступных ролей установите флаг на роли «ОбменДанными_ОсновнаяРоль».
Коды ошибок при работе с веб-сервером
500 — ошибка доступа к веб-сервису. Для исправления обычно достаточно переопубликовать информационную базу на веб-сервере. Подробнее посмотреть можно в логах веб-сервера error.log
- Если у вас на сервере используется операционная система Astra Linux и в логе ошибок зафиксирована проблема Authentication not configured, то:
- Для версии ОС 1.6, 1.7, 4.7, 8.1 Отключение авторизации можно задать в файле /etc/apache2/apache2.conf поменять строку #AstraMode on на AstraMode off.
Syntax error on line ХХХ of /etc/apache2/apache2.conf: API module structure '_1cws_module' in file /opt/1cv8/x86_64/8.3.24.1368/wsap22.so is garbled - expected signature 41503234 but saw 41503232 - perhaps this is not an Apache module DSO, or was compiled for a different Apache version? - в настройках публикации базы данных 1С указана версию Apache отличная от установленной. Необходимо перепубликовать базу данных на установленную версию вебсервера.
Публикация базы без авторизации
Отключение авторизации — только часть мероприятий по настройке публикации. Обычно требуется для обеспечения работы отдельных http-сервисов. Например, KintAPI или ЕГИСЗ. При отключении авторизации в обязательном порядке необходимо отключить публикацию доступа для клиентских приложений. Рекомендуем в настройках публикации оставить активным только публикуемый сервис.
Так будут выглядеть настройки публикации для сервися KintAPI.
Когда база будет опубликована, в указанном для публикации каталоге будет создан файл default.vrd. Найдите в файле строку с параметром ib и отредактируйте его значение. Допишите usr=Логин;pwd=Пароль. Где логин — это имя пользователя с которым при работе с сервисом будет происходить авторизация, а Пароль — пароль к этой учётной записи.
Как опубликовать одну базу 1с на веб-сервисе несколько раз
При публикации отдельных web или http-сервисов может потребоваться отключение авторизации и доступа клиентских приложений. Если при этом необходимо обеспечить работу с публикацией базы 1С через тонкий или web-клиент, требуется создать отдельную публикацию. Для этого:
- Запустите «1С:Предприятие».
- Добавьте информационную базу в список ещё раз, указав другое наименование.
- Запустите базу в режиме Конфигуратора.
- Выберите пункт меню Администрирование — Публикация на веб-сервере.
- Укажите имя публикации (не должно повторять имя первой публикации).
- Укажите каталог публикации (необходимо создать отдельный каталог для этой публикации).
- Завершите публикацию, нажав кнопку Опубликовать.
См. также
- Описание процесса публикации базы
- \\demo\Видеозаписи\Широбоков Сергей\Как опубликовать базу на ENTRY.mp4 — памятка для сотрудников Кинт
- Видео "Обмен данными между «Кинт: Управление санаторием» и «1С:Бухгалтерия 8» через API"