Многие системные администраторы и специалисты 1С сталкиваются с задачей массового обновления платформы 1С на компьютерах пользователей — для этого есть инструмент централизованного обновления 1С на рабочих местах. В условиях, когда количество рабочих мест исчисляется десятками или сотнями, а также при отсутствии возможности использования терминального доступа, ручное обновление каждого клиента становится неэффективным и трудозатратным процессом. Рассмотрим, как можно автоматизировать этот процесс, учитывая особенности различных операционных систем клиентов (Windows и Linux) и требования к лицензиям 1С.
Представьте ситуацию: ваш сервер 1С работает на Centos 7 (поможет инструментарий администратора для управления кластером серверов 1С), и вы успешно обновили на нем платформу. Теперь необходимо, чтобы все клиентские приложения автоматически обновились до актуальной версии без ручного вмешательства и без использования дорогостоящего терминального доступа. Такая задача является весьма актуальной и имеет несколько решений, которые мы подробно разберем.
Одним из наиболее универсальных и рекомендуемых способов автоматического обновления тонких клиентов 1С является настройка публикации дистрибутивов клиентского приложения через веб-сервер. Этот метод поддерживает как Windows, так и Linux-клиенты, и является предпочтительным для распределенных сред или при работе с большим количеством пользователей (для которых пригодится система учета заявок и техподдержки в 1С).
Ранее, как обсуждалось на форуме (сообщения 8, 9, 10), возможность автоматического обновления тонкого клиента с сервера требовала наличия лицензии уровня КОРП. Однако, начиная с платформы версии 8.3.15 (или более новой), эта функциональность стала доступна и для лицензии ПРОФ, что значительно расширяет ее применимость. Важно также отметить, что для Linux-клиентов автоматическое обновление тонкого клиента стало возможным с версии платформы 8.3.20, если обновление настроено через сервер и используются соответствующие форматы дистрибутивов.
Разберем по шагам, как настроить автоматическое обновление тонкого клиента:
Подготовка дистрибутивов клиентского приложения:
Нам потребуется скачать дистрибутивы тонкого клиента для всех операционных систем, которые используют ваши пользователи (Windows и Linux). Дистрибутивы обычно доступны на портале 1С:ИТС.
.deb для Debian/Ubuntu, .rpm для Red Hat/CentOS или универсальный .run файл). Эти дистрибутивы также могут быть размещены напрямую или упакованы.Размещение дистрибутивов на веб-сервере:
Вы можете разместить подготовленные дистрибутивы несколькими способами:
/var/www/1c_client_distr/) и поместите туда ZIP-архивы для Windows и нативные пакеты для Linux. Убедитесь, что веб-сервер настроен на отдачу этих файлов.distr внутри каталога конкретной версии системы "1С:Предприятие": Если вы уже используете веб-сервер для публикации информационных баз, вы можете разместить дистрибутивы в специальном подкаталоге distr внутри каталога соответствующей версии платформы 1С.Для примера, если ваш веб-сервер доступен по адресу http://your-web-server.com, а дистрибутивы находятся в каталоге 1c_client_distr, то пути будут выглядеть как http://your-web-server.com/1c_client_distr/client_win.zip и http://your-web-server.com/1c_client_distr/client_linux.rpm.
Настройка файла conf.cfg с параметром PublishDistributiveLocation:
Это ключевой шаг. Для каждой информационной базы, для которой вы хотите настроить автоматическое обновление, необходимо указать путь к дистрибутиву в конфигурационном файле conf.cfg или при публикации базы через диалог администрирования 1С. Параметр PublishDistributiveLocation указывает, откуда тонкий клиент должен загружать обновления.
Файл conf.cfg обычно находится в каталоге установки платформы 1С на сервере. Вам потребуется добавить (или изменить) в нем секцию для вашей информационной базы или для всего сервера.
Например, в файле conf.cfg для конкретной информационной базы можно добавить следующую запись:
[Application]
PublishDistributiveLocation=http://your-web-server.com/1c_client_distr/
Важно: Указывайте путь к каталогу, где лежат ZIP-архивы для Windows и пакеты для Linux. Система 1С сама определит нужный дистрибутив по версии и операционной системе клиента.
Публикация информационной базы на веб-сервере:
При публикации информационной базы на веб-сервере через консоль администрирования или утилиту webinst.exe, убедитесь, что вы указали корректные параметры для автоматического обновления. В диалоге публикации есть соответствующие поля для указания путей к дистрибутивам.
После публикации или обновления конфигурации веб-сервера (часто требуется перезапуск веб-сервера, например, Apache или Nginx), клиентские приложения при подключении к информационной базе проверят версию платформы на сервере. Если версия клиента не совпадает с серверной, клиенту будет предложено обновиться, и дистрибутив будет загружен с указанного вами веб-сервера.
Критические замечания и версии:
Обратите внимание на то, что на форуме (сообщение 5) было указано, что автоматическое обновление тонкого клиента с использованием PublishDistributiveLocation поддерживается только для Windows начиная с платформы 8.3.1. Однако, согласно последней информации, с версии 8.3.20 эта функциональность стала доступна и для Linux-клиентов, что является большим шагом вперед для компаний, использующих различные операционные системы. Для автоматизации развертывания дистрибутивов на таких рабочих станциях можно использовать сценарий обновления платформы 1С для deb-based операционных систем Linux.
Лицензирование: Также мы выяснили, что требование КОРП-лицензии для базового автообновления тонкого клиента актуально не для всех версий. Для платформ 8.3.15 и выше функциональность автоматического обновления тонкого клиента через веб-сервер доступна и для лицензии ПРОФ. Лицензия КОРП по-прежнему предоставляет расширенные возможности по администрированию и поддержке, но базовая возможность обновления клиента уже не привязана исключительно к ней.
Для небольших компаний, использующих Windows-клиенты и не имеющих развернутого домена Active Directory, существует альтернативный способ массового обновления платформы 1С через общий сетевой каталог. Этот метод позволяет тонким клиентам автоматически загружать и устанавливать новую версию платформы при запуске 1С.
Рассмотрим шаги по настройке этого метода:
Создание общей сетевой папки на файловом сервере:
На файловом сервере создайте общую папку, доступную всем пользователям 1С на чтение (например, \\SRV\1CDist\). Убедитесь, что права доступа настроены корректно, и пользователи могут получить доступ к этой папке.
Размещение разархивированных дистрибутивов платформ:
Внутри этой общей папки создайте подкаталоги для каждой версии платформы 1С. Например, \\SRV\1CDist\8.3.ХХ.ХХХ\, где ХХ.ХХХ — номер версии платформы. В каждый такой подкаталог поместите разархивированный дистрибутив тонкого клиента для Windows.
Создание и настройка конфигурационного файла 1cestart.cfg:
В корне общей папки (\\SRV\1CDist\) создайте файл с именем 1cestart.cfg. В этом файле необходимо указать два ключевых параметра:
DistributiveLocation: путь к каталогу с дистрибутивами.AppAutoInstallLastVersion: флаг, указывающий на необходимость автоматической установки последней версии.Пример содержимого файла 1cestart.cfg:
DistributiveLocation=\\SRV\1CDist\
AppAutoInstallLastVersion=1
Примечание: Параметр DistributiveLocation должен указывать на корневой каталог, где находятся подкаталоги с версиями платформ.
Копирование файла 1cestart.cfg на клиентские машины:
Скопируйте созданный файл 1cestart.cfg на каждую клиентскую машину в каталог профиля пользователя %appdata%\1C\1CEStart\. Например, для пользователя это будет что-то вроде C:\Users\ИмяПользователя\AppData\Roaming\1C\1CEStart\1cestart.cfg.
При запуске 1С программа сначала проверит локальный файл 1cestart.cfg, затем обратится к сетевому каталогу, указанному в DistributiveLocation. Если в сетевом каталоге будет найдена более свежая версия платформы, соответствующая текущей операционной системе, и установлен флаг AppAutoInstallLastVersion=1, система автоматически предложит установить обновление.
В корпоративных средах, где развернут домен Active Directory, наиболее мощным и централизованным инструментом для массовой установки и обновления программного обеспечения, включая платформу 1С, являются групповые политики (GPO). Этот метод позволяет автоматизировать процесс развертывания без необходимости ручного вмешательства на каждой клиентской машине.
Рассмотрим общий подход к использованию групповых политик для обновления платформы 1С:
Подготовка MSI-пакета дистрибутива 1С:
Для развертывания через GPO вам потребуется MSI-пакет платформы 1С. Обычно дистрибутивы 1С включают такой пакет. Если его нет, можно создать MSI-пакет из обычного дистрибутива с помощью сторонних утилит или скриптов, но это требует дополнительных знаний.
Создание сетевой точки распространения:
Разместите MSI-пакет платформы 1С на общем сетевом ресурсе, доступном для чтения всем компьютерам в домене (например, \\DOMAIN_SERVER\Software\1C\).
Создание и настройка объекта групповой политики (GPO):
В консоли "Управление групповыми политиками" (gpmc.msc) создайте новый GPO или отредактируйте существующий. Свяжите этот GPO с организационной единицей (OU), содержащей компьютеры, на которые необходимо установить или обновить платформу.
Назначение пакета 1С через GPO:
В созданном GPO перейдите в раздел "Конфигурация компьютера" -> "Политики" -> "Настройка программ" -> "Установка программного обеспечения". Щелкните правой кнопкой мыши по "Установка программного обеспечения", выберите "Создать" -> "Пакет". Укажите сетевой путь к вашему MSI-пакету платформы 1С.
Выберите тип развертывания "Назначенный" (Assigned). Это приведет к автоматической установке программы при перезагрузке компьютера или входе пользователя в систему.
Обновление политики на клиентах:
После применения GPO, клиентские компьютеры автоматически получат и установят новую версию платформы при следующей перезагрузке или обновлении групповых политик (можно принудительно запустить gpupdate /force на клиенте).
Использование групповых политик — это стандартный и надежный способ управления программным обеспечением в Windows-домене. Он предоставляет полный контроль над процессом установки, обновления и удаления приложений.
Хотя основной вопрос касается обновления клиентских приложений, важно помнить, что процесс начинается с обновления сервера 1С:Предприятие. Поскольку в нашей ситуации сервер работает на Centos 7, рассмотрим кратко этапы его обновления:
Скачивание дистрибутива для Linux:
С официального сайта 1С:ИТС скачайте дистрибутив сервера 1С:Предприятие для Linux, соответствующий вашей операционной системе (.rpm для Centos).
Перенос дистрибутива на сервер:
С помощью утилит, таких как WinSCP или SCP-команды, перенесите скачанный дистрибутив на ваш сервер Centos 7.
Остановка службы сервера 1С:
Перед началом установки новой версии необходимо остановить службу сервера 1С:Предприятие — в этом поможет обработка принудительного завершения сеансов и блокировки соединений. Обычно это делается командой:
sudo systemctl stop srv1cv83
Запуск установки:
После остановки службы запустите установку новой версии из консоли. Для .rpm-пакета это будет:
sudo rpm -Uvh 1c-enterprise83-server-*.rpm
Команда -Uvh выполнит обновление, сохраняя существующие конфигурации.
Запуск службы сервера 1С:
После успешной установки запустите службу сервера 1С:
sudo systemctl start srv1cv83
Проверка работы:
Убедитесь, что сервер успешно запустился и информационные базы доступны.
Таким образом, мы видим, что задача массового обновления платформы 1С у пользователей без терминального доступа является вполне решаемой. Выбор конкретного метода зависит от используемых операционных систем на клиентских машинах, наличия Active Directory в инфраструктуре и версии платформы 1С. Важно внимательно изучить все требования и возможности, чтобы выбрать наиболее эффективное и подходящее решение для вашей организации.