Новая версия платформы на сервере, а клиент старый: что делать
Содержание
Чтобы обновить тонкий клиент
1С, установите на компьютер пользователя ту же версию платформы, что стоит на сервере 1С (или на веб-сервере с публикацией), до последней цифры: например, 8.3.25.1445 на сервере — 8.3.25.1445 у клиента. Старую версию удалять не обязательно: стартер 1cestart.exe сам выберет подходящую.
Обычно об обновлении вспоминают, когда утром база не открывается с сообщением о разных версиях клиента и сервера. Чаще всего хватает поставить новую версию рядом со старой. Сложности начинаются, когда у пользователей нет прав администратора, а база опубликована на IIS — эти случаи тоже разобраны.
Подготовка: какую версию тонкого клиента ставить
Тонкий клиент — это исполняемый файл 1cv8c.exe из состава платформы. Он лежит в папке конкретной версии, например C:\Program Files\1cv8\8.3.25.1445\bin\1cv8c.exe. На одном компьютере могут стоять несколько версий рядом, они друг другу не мешают.
Главное правило одно: версия клиента должна совпадать с версией сервера полностью, все четыре числа. Совпадения по 8.3.25 недостаточно.
Как узнать версию сервера:
- 🖥️ на сервере 1С откройте
C:\Program Files\1cv8\— там папки с номерами версий; рабочая та, что указана в пути к службе «Агент сервера 1С:Предприятия» (свойства службы вservices.msc); - 🌐 для веб-публикации версия видна в пути к модулю расширения веб-сервера (об этом ниже, в разделе про IIS);
- 👤 у пользователя, у которого база уже открывается: меню с «гамбургером» в заголовке окна →
Справка → О программе.
Как узнать, что стоит у клиента: загляните в C:\Program Files\1cv8\ (64-битные версии) и C:\Program Files (x86)\1cv8\ (32-битные). Каждая папка с номером — установленная версия.
Ещё один момент подготовки — разрядность. Тонкий клиент бывает 32- и 64-битный. Для работы с базой разницы нет, но 64-битный лучше справляется с большими отчётами. Если в компании пользуются внешними компонентами (драйверы торгового оборудования, старые COM-объекты), проверьте, что они есть в нужной разрядности.
Способ 1. Автоматическое обновление при запуске базы
Автообновление удобно, когда пользователей десятки и обходить каждый компьютер не хочется. Работает оно так: клиент подключается к базе, видит, что его версия не совпадает с версией на той стороне, и предлагает скачать нужный дистрибутив. После согласия пользователя дистрибутив загружается и устанавливается, база открывается уже в новой версии.
Откуда берётся дистрибутив, зависит от способа подключения.
| Подключение | Откуда клиент берёт новую версию | Что настроить |
|---|---|---|
Через веб-сервер (http://…) | Адрес из атрибута pubdst в файле default.vrd публикации | Выложить дистрибутив тонкого клиента и прописать адрес |
Напрямую к серверу 1С (Srvr=…) | Только локально установленные версии | Поставить версию заранее (способ 2 или тихая установка) |
| Файловая база | Стартер берёт версию из настроек списка баз | Указать версию в свойствах базы |
Как настроить загрузку с веб-публикации
- Скачайте дистрибутив тонкого клиента той версии, что стоит на веб-сервере, с портала поддержки 1С (нужен действующий договор ИТС).
- Распакуйте его в каталог, доступный по HTTP, например рядом с публикацией.
- Откройте файл
default.vrdв каталоге публикации и добавьте в элементpointатрибутpubdstс адресом этого каталога. - Перезапустите пул приложений IIS или службу Apache, чтобы публикация перечитала настройки.
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
base="/buh"
ib="Srvr="srv1c";Ref="buh";"
pubdst="http://srv-web/distr/thinclient/">
</point>
Повторная публикация из Конфигуратора перезаписывает default.vrd. Ручную правку с pubdst после неё нужно вернуть — держите копию файла.
Ограничение у автообновления одно, но частое: установка в Program Files требует прав администратора. Если пользователь работает без них, загрузка начнётся, а установка остановится на запросе UAC. Как это обойти, разобрано в разделе про права.
Версия базы в списке баз
В окне запуска у каждой базы есть свойство «Версия 1С:Предприятия». Откройте Изменить → Далее и посмотрите, что указано в последнем шаге мастера.
8.3— стартер возьмёт самую новую установленную версию ветки 8.3;8.3.25— самую новую из 8.3.25;8.3.25.1445— строго эту версию.
Для клиент-серверной базы удобнее всего писать полную версию. Тогда после обновления сервера достаточно поменять одну строку, а не гадать, что выберет стартер.
Способ 2. Ручная установка новой версии тонкого клиента
Самый надёжный вариант для одного-двух компьютеров.
- Скачайте дистрибутив нужной версии. Для пользователей хватит пакета «Тонкий клиент»; полный пакет «Технологическая платформа» тоже подойдёт — при установке отметьте только компонент тонкого клиента.
- Распакуйте архив и запустите
setup.exeот имени администратора. - В списке компонентов оставьте «Тонкий клиент». Конфигуратор и сервер пользователю не нужны.
- Язык интерфейса — русский, драйвер защиты (HASP) ставьте, только если лицензии на ключах.
- Дождитесь окончания и запустите базу из окна запуска.
После установки рядом со старой папкой появится новая. Старые версии можно оставить: место они занимают немного. Удаляют их через «Программы и компоненты», когда убедятся, что все базы открываются на новой.
Тихая установка на много компьютеров
Для развёртывания через групповые политики или скрипт используйте MSI-пакет из дистрибутива. Имя файла .msi смотрите в распакованном архиве — оно зависит от разрядности и пакета.
@echo off
rem Тихая установка тонкого клиента из сетевой папки
set DISTR=\\fileserver\distr\1c\8.3.25.1445
msiexec /i "%DISTR%\<имя пакета>.msi" /qn /norestart /l*v "%TEMP%\1c_install.log"
if %errorlevel% neq 0 echo Установка завершилась с кодом %errorlevel%, смотрите журнал %TEMP%\1c_install.log
Ключ /qn убирает окна установщика, /l*v пишет подробный журнал — он пригодится, если что-то пошло не так.
Не запускайте установку на компьютере, где в эту минуту открыта 1С. Установщик может потребовать перезагрузку или не заменить файлы, которые заняты процессом.
Очистка кэша после обновления тонкого клиента
Тонкий клиент хранит на компьютере кэш конфигурации и пользовательские данные. После смены версии платформы старый кэш иногда мешает: формы открываются с ошибками, база запускается долго, появляются сообщения о неверном формате данных.
Где лежит кэш:
- 📁
%APPDATA%\1C\1cv8\— папки с длинными именами-идентификаторами, по одной на каждую базу; - 📁
%LOCALAPPDATA%\1C\1cv8\— тоже кэш, его чистят вместе с первой папкой.
Способы очистки, от мягкого к жёсткому:
- Параметр запуска. В свойствах базы в окне запуска, в поле дополнительных параметров, добавьте
/ClearCache. Клиент очистит кэш этой базы при следующем входе. Потом параметр уберите, иначе база будет каждый раз загружаться дольше. - Ручное удаление. Закройте все окна 1С, затем удалите папки с идентификаторами в обоих каталогах выше.
- Удаление всего каталога
1cv8. Крайний вариант — вместе с кэшем пропадут сохранённые настройки окна запуска.
Список баз хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i. Перед ручной чисткой скопируйте его в надёжное место — если случайно удалить, пользователь останется без списка баз.
Кэш на клиенте — это не данные базы. Документы и справочники от его удаления не пострадают, пострадает только скорость первого запуска: конфигурация загрузится с сервера заново.
Права доступа и реестр при установке
Обычная беда в компаниях, где пользователи работают без прав администратора: автообновление скачивает дистрибутив и останавливается.
Что можно сделать:
| Вариант | Как работает | Минусы |
|---|---|---|
| Развёртывание через групповые политики | MSI-пакет ставится от имени системы при загрузке компьютера | Нужен домен и время на настройку политики |
| Скрипт в планировщике от имени SYSTEM | Тот же msiexec /qn по расписанию | Нужно следить, чтобы версия в скрипте была актуальной |
| Администратор ставит вручную | Подключение удалённо и установка | Не масштабируется |
Политику Windows AlwaysInstallElevated, которую советуют на форумах, не включайте. Она разрешает любому пользователю ставить любые MSI-пакеты с правами системы — это дыра в безопасности, а не настройка для 1С.
Где искать следы установки в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall— записи об установленных версиях 64-битной платформы;HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall— то же для 32-битной.
Если версия «стоит» по реестру, но папки в Program Files нет, установщик откажется ставить её заново. Удалите версию через «Программы и компоненты» (или командой msiexec /x с кодом продукта из этой записи), затем установите снова.
Пользователю для работы нужны права на запись в свои %APPDATA%\1C и %LOCALAPPDATA%\1C. Если их урезали политиками, тонкий клиент не сможет сохранить кэш и настройки — база откроется с ошибкой или будет загружаться заново при каждом входе.
Выбор версии по умолчанию
Стартер читает файл 1cestart.cfg: для одного пользователя — в %APPDATA%\1C\1CEStart\, для всех — в %ALLUSERSPROFILE%\1C\1CEStart\. Строка DefaultVersion задаёт версию, которую стартер берёт, если в свойствах базы версия не указана.
DefaultVersion=8.3.25.1445
Обновление клиента для базы, опубликованной на IIS
Когда пользователи подключаются по адресу http://…, версия определяется модулем расширения веб-сервера. Для IIS это wsisapi.dll, для Apache 2.4 — wsap24.dll. Модуль лежит в папке bin конкретной версии платформы на веб-сервере.
Порядок обновления:
- Установите на веб-сервер новую версию платформы с компонентом «Модули расширения веб-сервера» той же версии, что и сервер 1С.
- Обновите публикацию: запустите Конфигуратор новой версии от имени администратора и откройте
Администрирование → Публикация на веб-сервере. Нажмите «Опубликовать» для существующей публикации — путь к обработчику перепишется на новую версию. - Проверьте в диспетчере IIS, в «Сопоставлениях обработчиков» сайта, что путь к
wsisapi.dllведёт в папку новой версии. - Перезапустите пул приложений.
- Обновите тонкие клиенты у пользователей — вручную или через
pubdst.
Перезапуск пула приложений и повторная публикация обрывают сеансы всех, кто работает через этот адрес. Делайте это вне рабочего времени или после предупреждения пользователей.
Разрядность модуля должна совпадать с разрядностью пула приложений. 32-битный wsisapi.dll работает только в пуле, где в дополнительных параметрах включено «Разрешены 32-разрядные приложения». Ставите 64-битный модуль — этот параметр выключите.
Если тонкий клиент не запускается после обновления
Сначала проверьте текст ошибки. По нему почти всегда понятно, в какую сторону копать.
/l*v, ищите строку с «Return value 3» — выше будет причина. Частые: нет прав, занят файл, остатки прошлой версии в реестре.Если не помогло
- 🔁 Удалите проблемную версию через «Программы и компоненты» и поставьте заново из свежескачанного дистрибутива: битый архив — частая скрытая причина.
- 🧪 Создайте новую запись базы в окне запуска с нуля. Если с ней всё работает, дело в настройках старой записи.
- 👥 Зайдите под другой учётной записью Windows. Если там база открывается, проблема в профиле пользователя: кэш, права,
1cestart.cfg. - 🛡️ Временно добавьте папку
C:\Program Files\1cv8\в исключения антивируса. Некоторые антивирусы блокируют распаковку1cv8c.exeпри установке.