Обновление 1С в браузере: платформа, публикация и база по шагам

· 9 мин

Содержание

Чтобы обновить 1С веб-версию, нужно пройти три шага в строгом порядке. Сначала ставим новую платформу на сервер вместе с модулями расширения веб-сервера. Затем переводим публикацию на новый модуль wsap24.dll (Apache) или wsisapi.dll (IIS) и перезапускаем веб-сервер. И только потом обновляем конфигурацию базы из конфигуратора или тонкого клиента .

Веб-клиент — это та же платформа 1С:Предприятие 8.3, только «клиентская часть» работает в браузере. Поэтому при обновлении меняется то, что стоит на сервере. У пользователей ничего переустанавливать не нужно, кроме, иногда, расширения браузера.

Что проверить до обновления веб-версии 1С

Обновление веб-версии чаще ломается не на самой установке, а на мелочах, которые не проверили заранее. Пройдитесь по списку:

  • 🔢 Текущая версия платформы. Посмотрите её в браузере: меню с шестерёнкой → «О программе». Запишите номер, например 8.3.24.1467.
  • 🎯 Целевая версия. Для типовых конфигураций в описании релиза указан минимальный номер платформы. Новая платформа должна быть с номером не ниже этого.
  • 🧩 Разрядность веб-сервера. 64-разрядный Apache работает только с 64-разрядным модулем из C:\Program Files\1cv8, 32-разрядный — с модулем из C:\Program Files (x86)\1cv8. Смешивать нельзя.
  • 🖥️ Где стоит веб-сервер. Если Apache или IIS на той же машине, что и сервер 1С, обновляете всё в одном месте. Если на отдельной — платформу ставите на обе.
  • 💾 Резервная копия. Выгрузка .dt или бэкап СУБД, плюс копия файла httpd.conf и папки публикации с default.vrd.
  • ⏰ Окно работ. Сервер и веб-сервер придётся перезапускать, все сеансы оборвутся. Предупредите пользователей и выбирайте вечер или выходной.

Номер платформы в публикации виден прямо в httpd.conf: строка LoadModule содержит путь вида .../1cv8/8.3.24.1467/bin/wsap24.dll. Это самый быстрый способ понять, какой модуль сейчас обслуживает браузер.

Если 1С в браузере у вас в облаке

Если вы открываете 1С по адресу провайдера (1С:Фреш или другой облачный сервис), всё, что описано ниже, делает провайдер. Вам остаётся дождаться окончания регламентных работ и перезагрузить страницу. Настраивать ничего не нужно, а доступа к серверу у вас и не будет.

Шаг 1. Ставим новую платформу 1С на сервер

Дистрибутив берите той же разрядности, что и текущая установка. Для Windows это пакет «Сервер 1С:Предприятия» нужной разрядности.

  1. Предупредите пользователей и дождитесь их выхода. Оставшиеся сеансы завершите в консоли кластера.
  2. Остановите службу агента сервера. По умолчанию на 64-разрядной системе она называется 1C:Enterprise 8.3 Server Agent (x86-64).
  3. Остановите веб-сервер: службу Apache (обычно Apache2.4) или пул приложений IIS.
  4. Запустите setup.exe новой версии. В списке компонентов отметьте «Сервер 1С:Предприятия» и обязательно «Модули расширения веб-сервера». Без второго пункта нового wsap24.dll просто не будет.
  5. Если сервер работал как служба, отметьте установку службы Windows и укажите ту же учётную запись, что и раньше.
  6. Запустите службу агента и проверьте, что она стартует от новой версии.

Проверка пути службы делается одной командой:

sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

В строке BINARY_PATH_NAME должен стоять каталог новой версии, например C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe. Если там старый номер, служба продолжает запускать прежний сервер.

Старую версию платформы не удаляйте, пока не проверите работу базы в браузере. Она понадобится для быстрого отката.

На Linux порядок тот же: остановить службу сервера , установить пакеты новой версии вместе с компонентом расширения веб-сервера, запустить службу. Модуль Apache там лежит в каталоге версии, например /opt/1cv8/x86_64/8.3.25.1374/wsap24.so.

Шаг 2. Перепубликуем базу на веб-сервере

Публикация жёстко привязана к номеру платформы через путь к модулю. После установки новой версии браузер продолжит работать через старый модуль, пока вы не поменяете этот путь. Сделать это можно тремя способами.

СпособКогда удобенНа что смотреть
Конфигуратор новой версииОдна-две базы, есть доступ к рабочему столу сервераЗапускать конфигуратор именно новой версии
Утилита webinstМного баз, нужен скриптБрать webinst.exe из папки bin новой версии
Правка httpd.conf рукамиНужно быстро поменять одну строкуВсе публикации на этом Apache переедут разом

Через конфигуратор

Откройте базу в конфигураторе новой версии платформы. В меню выберите Администрирование → Публикация на веб-сервере. Проверьте имя публикации, каталог и тип веб-сервера и нажмите «Опубликовать». Конфигуратор сам перепишет строку LoadModule и предложит перезапустить веб-сервер .

Через webinst

Утилита лежит в папке bin каждой установленной версии. Вызывать нужно ту, что относится к новой платформе:

"C:\Program Files\1cv8\8.3.25.1374\bin\webinst.exe" -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"

Здесь buh — имя публикации в адресе браузера, srv1c — имя сервера 1С, Ref=buh — имя базы в кластере. Для файловой базы вместо Srvr и Ref пишут File="D:\Bases\buh";. Для IIS ключ -apache24 меняется на -iis, а -confpath не указывается.

Правкой httpd.conf

В конфигурации Apache модуль 1С подключается одной строкой, а публикации идут блоками ниже:

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.25.1374/bin/wsap24.dll"

Alias "/buh" "C:/Apache24/htdocs/buh/"
<Directory "C:/Apache24/htdocs/buh/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/Apache24/htdocs/buh/default.vrd"
</Directory>

Меняете номер версии в пути LoadModule, остальное трогать не нужно. Файл default.vrd номера платформы не содержит, его оставляете как есть. Перед перезапуском проверьте синтаксис:

C:\Apache24\bin\httpd.exe -t

Ответ Syntax OK значит, что путь к модулю верный. После этого перезапустите службу Apache. Для IIS после перепубликации выполните iisreset.

Файловая база, опубликованная в браузере

Если база файловая, сервера 1С нет: модуль веб-сервера сам работает с файлом 1Cv8.1CD. Значит, обновлять нужно только платформу на машине с Apache и строку LoadModule.

Есть одна тонкость. Если ту же базу открывают ещё и через тонкий или толстый клиент по сетевой папке, обновите платформу и на этих компьютерах. Иначе одни пользователи будут работать новой версией, другие старой, и при входе возможны ошибки совместимости.

На одном экземпляре Apache может работать только одна версия модуля 1С. Если две базы требуют разных платформ, поднимайте второй экземпляр Apache на другом порту со своим httpd.conf.

Шаг 3. Обновляем конфигурацию базы, открытой через браузер

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

Варианты такие:

  • 🖱️ Тонкий клиент. Откройте ту же базу на сервере или на рабочем месте администратора через тонкий клиент новой версии. В типовых конфигурациях на базе БСП обновление запускается из раздела Администрирование → Интернет-поддержка и сервисы, блок обновления версии программы.
  • 🛠️ Конфигуратор. Конфигурация → Поддержка → Обновить конфигурацию, выбрать файл .cfu или .cf, пройти сравнение и объединение. Затем Конфигурация → Обновить конфигурацию базы данных (клавиша F7).

Для обновления структуры базы нужен монопольный доступ. Сеансы веб-клиента его тоже держат, хотя пользователь мог просто оставить вкладку открытой. Поставьте в консоли кластера в свойствах базы галочку «Блокировка начала сеансов включена» и завершите оставшиеся сеансы.

Завершение сеансов обрывает работу пользователей без сохранения. Делайте это после предупреждения и в согласованное время.

После обновления конфигурации первым в режиме «1С:Предприятие» должен зайти администратор. Программа запустит обработчики обновления данных, это может занять от пары минут до часа на крупной базе. Если первым войдёт бухгалтер без прав администратора, он увидит сообщение о том, что обновление выполнить нельзя, и работа встанет.

Проверка после обновления
Выполнено: 0 / 6

Шаг 4. Чистим кэш браузера и обновляем расширение

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

  1. Закройте все вкладки с 1С.
  2. Нажмите Ctrl+Shift+Delete в Chrome, Edge, Яндекс Браузере или Firefox.
  3. Отметьте кэшированные изображения и файлы. Файлы cookie для адреса 1С тоже можно удалить: сохранённый сеанс сбросится, придётся войти заново.
  4. Откройте адрес базы и обновите страницу с Ctrl+F5.

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

Если у пользователя проблема только в одном браузере, проверьте второй. Открылось в другом — дело в кэше или расширении, а не в сервере.

Если веб-версия 1С не открывается после обновления

Большинство сбоев после обновления сводится к тому, что какая-то часть осталась на старой версии. Сначала проверьте журнал ошибок Apache (C:\Apache24\logs\error.log) и журнал событий Windows. Там обычно виден точный путь к модулю, который не загрузился.

Типичная запись при неверном пути выглядит так:

httpd.exe: Syntax error on line 540 of C:/Apache24/conf/httpd.conf: Cannot load C:/Program Files/1cv8/8.3.24.1467/bin/wsap24.dll into server
Диагностика: выберите симптом

Если не помогло

Остаётся кэш сервера 1С. Его очищают так: остановить службу агента, удалить папки snccntx* в каталоге кластера (по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541), запустить службу.

Остановка службы агента обрывает все сеансы всех баз этого сервера, не только веб-клиента. Делайте это в нерабочее время и только при остановленной службе: при работающем сервере файлы кэша удалять нельзя.

Если и после этого база не открывается, откатитесь: верните в LoadModule путь к старой версии, переключите службу агента на старый каталог и разбирайтесь уже без давления пользователей.

Частые вопросы

Нужно ли перепубликовывать базу, если обновил только конфигурацию?
Нет. Публикация зависит от версии платформы, а не от релиза бухгалтерии или ЗУП. Достаточно обновить конфигурацию и попросить пользователей обновить страницу.
Можно ли сразу удалить старую версию платформы?
Можно, но только когда ни одна строка LoadModule и ни одна служба не ссылаются на её каталог. Иначе после удаления Apache или сервер 1С не запустятся.
Надо ли что-то ставить на компьютеры пользователей?
Платформу — нет, работа идёт через браузер. Иногда потребуется заново поставить расширение браузера для работы с файлами, веб-клиент сам предложит это сделать.
Почему у одного пользователя после обновления всё работает, а у другого нет?
Почти всегда это кэш браузера или старое расширение на конкретном компьютере. Сервер у всех один, поэтому разница только на стороне клиента.
Можно ли обновлять платформу, пока пользователи работают в браузере?
Нет. Для замены модуля веб-сервер перезапускается, а для обновления сервера 1С останавливается служба агента. Все сеансы при этом оборвутся, несохранённые данные пропадут.