При работе с системой 1С:Предприятие пользователи часто сталкиваются с ситуацией, когда на локальном компьютере установлена одна версия платформы, а на сервере – другая. Возникает вопрос: возможно ли запустить серверную информационную базу клиентским приложением, версия которого отличается от версии платформы, установленной на сервере? Рассмотрим эту проблему подробнее, выясним причины возникающих сложностей и предложим эффективные пути решения.
Наш читатель столкнулся именно с такой ситуацией: на сервере установлена платформа 8.3.19.1150, а он пытается запустить базу с локальной платформы 8.3.19.1229. При этом, даже указывая прямой путь к исполняемому файлу новой версии (C:\Program Files\1cv8\8.3.19.1229\bin\1cv8s), запускается все равно старая версия 8.3.19.1150. Давайте проанализируем, почему так происходит и что необходимо сделать.
Основное правило, которое необходимо усвоить при работе с клиент-серверными информационными базами 1С:Предприятие, заключается в строгом соответствии версий технологической платформы на клиентской машине и на сервере 1С:Предприятия. Это фундаментальное требование, отклонение от которого ведет к невозможности подключения и работе системы.
Как справедливо отмечают коллеги в обсуждаемой теме, база запускается только под той платформой, что установлена на сервере. Если на сервере работает 8.3.19.1150, то клиент 8.3.19.1229 запустить серверную базу не сможет никак. Никакие специальные настройки или прямой запуск исполняемых файлов (1cv8s.exe, 1cv8.exe или 1cv8c.exe) из каталога новой версии не помогут. Должна быть одна совпадающая версия как на сервере, так и на клиентских рабочих станциях.
1cv8s.exe не помог?Наш читатель, пытаясь запустить базу под новой версией, использовал исполняемый файл 1cv8s.exe из каталога C:\Program Files\1cv8\8.3.19.1229\bin\. Давайте разберемся, как работают программы запуска 1С:Предприятие и почему в данном случае это не привело к желаемому результату.
В системе 1С:Предприятие существуют несколько ключевых стартеров:
1cestart.exe (Стандартный стартер): Этот файл обычно находится в каталоге C:\Program Files (x86)\1cv8\common\ и является основной точкой входа для запуска 1С. При установке каждой новой версии платформы 1С:Предприятие, файл 1cestart.exe обновляется, указывая на самую последнюю установленную версию. Его задача — упростить запуск, автоматически выбирая подходящую версию клиента.1cv8s.exe (Интерактивная программа запуска): Сам 1cestart.exe затем запускает интерактивную программу 1cv8s.exe, которая находится в подкаталоге bin последней установленной на компьютере версии платформы (например, C:\Program Files\1cv8\8.3.19.1229\bin\1cv8s.exe).Программа 1cv8s.exe обладает расширенной функциональностью и призвана автоматизировать выбор подходящей версии платформы и клиентского приложения. Однако, её возможности не безграничны, и она работает по определенным правилам:
1cv8s.exe автоматически выбирает версию платформы, необходимую для работы с сервером. Это означает, что при попытке подключения к серверной базе, 1cv8s.exe сначала получает от сервера информацию о требуемой версии платформы.1cv8s.exe запустит клиентское приложение именно этой версии.1cv8s.exe также может автоматически обновлять тонкий клиент, если подключение к базе осуществляется по HTTP(S)-соединению и активирована интернет-поддержка, но это отдельный механизм, не касающийся базового требования совпадения версий клиента и сервера.В нашем случае, когда сервер требует 8.3.19.1150, а пользователь пытается запустить 1cv8s.exe из каталога 8.3.19.1229, происходит следующее: 1cv8s.exe из версии 1229 пытается подключиться к серверу. Сервер сообщает, что он работает на версии 1150. Если на локальной машине не установлена или не доступна версия 1150, или же 1cv8s.exe не смог её определить/запустить, то произойдет отказ в подключении. Именно поэтому, даже прямой запуск новой версии не поможет, если сервер не готов с ней работать.
Как верно подмечено, функционал 1cv8s.exe для автоматического выбора версии более применим, если в компании используются несколько разных серверов 1С:Предприятия, каждый из которых работает на своей версии платформы. Например, один сервер для управленческой базы на 8.3.19.1150, а другой для бухгалтерской на 8.3.19.1229. Тогда 1cv8s.exe (запускаемый через 1cestart.exe) смог бы определить нужную версию для каждого сервера и запустить соответствующее клиентское приложение, если оно, конечно, установлено локально. Но это не решает проблему несовместимости одной серверной базы с клиентом другой версии.
Наиболее правильным и рекомендуемым способом решения проблемы несовпадения версий клиента и сервера является обновление платформы 1С:Предприятие на сервере до той версии, которую вы хотите использовать (в нашем случае 8.3.19.1229) или которая является актуальной и стабильной. Для автоматизации установки и обновления на Linux можно использовать помощник установки и обновления сервера 1С.
Разберем процесс обновления по шагам:
8.3.19.1229 в нашем случае) с официального сайта поддержки 1С (portal.1c.ru).compmgmt.msc -> Службы -> Агент сервера 1С:Предприятия 8.3).8.3.19.1229.LoadModule _1cws_module "C:/Program Files/1cv8/8.3.19.1150/bin/wsap22.dll" для Apache).LoadModule _1cws_module "C:/Program Files/1cv8/8.3.19.1229/bin/wsap22.dll").8.3.19.1229).1cestart.exe, который автоматически выберет нужную версию, или же создайте новые ярлыки, указывающие на 1cestart.exe.Только после выполнения этих шагов вы сможете корректно запускать серверную базу клиента 8.3.19.1229.
Если по каким-либо причинам обновление платформы на сервере в данный момент невозможно, единственным рабочим вариантом для пользователя будет установка на своем локальном компьютере версии клиентского приложения, которая строго соответствует версии платформы на сервере 1С:Предприятия. В нашем случае это означает, что пользователю необходимо установить клиент 8.3.19.1150.
Вот как это можно сделать:
8.3.19.1150 с портала 1С.C:\Program Files\1cv8\8.3.19.1150\ и C:\Program Files\1cv8\8.3.19.1229\).1cestart.exe: Если вы хотите использовать стандартный подход, убедитесь, что в списке информационных баз в стартере 1С:Предприятие для вашей серверной базы указана опция "Выбирать автоматически" или "Последняя". 1cestart.exe через 1cv8s.exe должен будет определить, что сервер требует 8.3.19.1150, и запустить соответствующую локально установленную версию клиента.1cv8.exe или 1cv8c.exe из каталога C:\Program Files\1cv8\8.3.19.1150\bin\. Однако это менее гибкий подход, чем использование 1cestart.exe.Таким образом, для успешного подключения к серверной базе на 8.3.19.1150 вам потребуется клиент именно этой версии. Другие версии, даже более новые, работать не будут.
Хотя стандартный подход требует совпадения версий клиента и сервера, существуют более сложные конфигурации, которые могут ввести в заблуждение или, наоборот, предоставить определенную гибкость при наличии множества информационных баз.
На одном физическом сервере можно установить несколько версий платформы 1С:Предприятие. Это часто делается для поддержки различных информационных баз, которым по каким-либо причинам необходимы разные версии платформы. Например, у вас может быть одна конфигурация, работающая стабильно на 8.3.19.1150, а другая, требующая функционала из 8.3.19.1229. В таком случае, для каждой версии платформы требуется создать отдельный кластер серверов. Для удобного администрирования нескольких кластеров пригодится мультиверсионная консоль администрирования кластера серверов 1С.
Разберем это подробнее:
1540 для одного кластера, а 2540 для другого). Также каждая служба должна использовать свой отдельный каталог кластера для хранения служебных файлов.radmin.dll из каталога конкретной версии платформы).8.3.19.1150, регистрируется в кластере 8.3.19.1150, а база, требующая 8.3.19.1229, регистрируется в кластере 8.3.19.1229.Именно такой сценарий позволяет 1cv8s.exe автоматически выбирать нужную версию клиента: когда пользователь подключается к базе, стартер получает информацию о кластере и его версии, и запускает локально установленный клиент, соответствующий этому кластеру.
Важное предупреждение: Хотя технически возможно установить несколько кластеров с разными платформами на одном сервере, крайне не рекомендуется регистрировать одну и ту же информационную базу одновременно в нескольких кластерах с разными версиями платформы. Это является серьезным "недомыслием" и может привести к катастрофическим последствиям:
Поэтому, даже если "умельцам" удалось запустить одну базу под разными версиями платформы (как было описано в одном из сообщений), это не является стандартной или безопасной практикой и допустимо только для очень специфических тестовых целей, с полным осознанием рисков. Для продуктивной эксплуатации рабочую базу следует всегда удалять из неиспользуемого кластера.
Помимо версии платформы, есть еще один важный аспект, который может вызывать вопросы – это разрядность (битрейт) приложений: 32-разрядные (x86) и 64-разрядные (x64).
Важно понимать, что разрядность кластера серверов 1С:Предприятия может не совпадать с разрядностью клиентских приложений. Например, вполне нормально, когда 64-разрядный сервер 1С:Предприятия работает с 32-разрядными клиентскими приложениями. И наоборот, теоретически, 32-разрядный сервер может обслуживать 64-разрядных клиентов (хотя это менее распространено из-за ограничений 32-битных систем).
На клиентском компьютере также могут быть установлены несколько версий клиентских приложений 1С:Предприятия разной разрядности. Выбор разрядности клиентского приложения для запуска можно задать несколькими способами:
/AppArch.1cv8s.exe.Таким образом, разрядность — это отдельный параметр, который нужно учитывать, но он не отменяет строгого требования к совпадению номера версии платформы между клиентом и сервером.
Мы подробно рассмотрели ситуацию, когда пользователь пытается запустить серверную базу 1С:Предприятие под клиентским приложением другой версии. Главный вывод: версия платформы клиентского приложения должна строго соответствовать версии платформы, установленной на сервере 1С:Предприятия. Это фундаментальное требование для стабильной и корректной работы системы.
Выяснили, что механизмы автоматического выбора версии (1cestart.exe, 1cv8s.exe) помогают в случае наличия нескольких версий платформы локально или при работе с разными серверами, но они не могут обойти требование о совпадении версий между одним клиентом и одним сервером.
Предложенные решения включают:
Также мы обсудили возможность использования нескольких версий платформы и кластеров на одном физическом сервере для разных информационных баз, но предостерегли от попыток запуска одной и той же базы под разными версиями платформы одновременно из-за высоких рисков потери и повреждения данных. Всегда помните о необходимости резервного копирования и тщательной проверки версий перед любыми изменениями в инфраструктуре 1С:Предприятия.