Как запустить нужную версию конфигуратора 1С при наличии нескольких платформ и решить проблему несовместимости с сервером

Системный администратор 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

При работе с программными продуктами 1С часто возникает ситуация, когда на одном компьютере или сервере необходимо поддерживать работу сразу нескольких конфигураций, требующих разные версии платформы. Например, устаревшая Зарплата и Управление Персоналом 2.5 может стабильно работать на платформе 8.3.6, в то время как современная ЗУП 3.1 требует версию не ниже 8.3.18 или 8.3.21. В этой статье мы подробно разберем, почему система может игнорировать ваши попытки запустить конкретный исполняемый файл и как правильно настроить окружение для работы с разными версиями.

Различие между 1cestart.exe и 1cv8.exe

Для начала проанализируем механизм запуска 1С. В папке с установленной программой (обычно это C:\Program Files\1cv8\common\) находится файл 1cestart.exe. Это так называемый "программный стартер" или загрузчик. Его основная задача — прочитать список баз, определить настройки конкретной информационной базы и запустить подходящую версию 1cv8.exe, которая находится в папке конкретного релиза (например, ...\8.3.11.3034\bin\1cv8.exe).

Когда мы пытаемся запустить конфигуратор напрямую через 1cv8.exe конкретной версии, указывая параметры командной строки, мы ожидаем, что именно она и откроется. Однако в клиент-серверном варианте работы ситуация меняется коренным образом. Давайте выясним причину этого поведения.

Жесткая связь версии клиента и сервера

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

Если ваша база данных расположена на сервере 1С версии 8.3.6.2041, то при попытке подключения Конфигуратор выполнит следующие действия:

  1. Клиентское приложение обращается к менеджеру кластера серверов.
  2. Сервер сообщает свою версию.
  3. Если версии различаются, система ищет на локальном компьютере установленную платформу нужной версии.
  4. Если нужная версия (в данном случае 8.3.6.2041) найдена, стартер автоматически перезапускает процесс именно под этой версией, игнорируя тот файл, который вы запустили изначально.

Именно поэтому, как заметил автор темы, при работе с файловой базой запускается правильная версия (так как там нет контроля со стороны серверной службы), а при работе с серверной — всегда старая. Вывод: вы не сможете использовать функционал новой платформы (например, для загрузки .dt), если сама база данных привязана к старому серверу.

Настройка версии платформы в свойствах информационной базы

Если нам нужно, чтобы для конкретной базы (например, файловой или при наличии нескольких серверов) всегда выбиралась определенная версия, мы можем прописать это в настройках. Разберем по шагам:

  1. Запустим окно списка информационных баз (через 1cestart.exe).
  2. Выберем нужную базу и нажмем кнопку "Изменить".
  3. Нажмем "Далее" до последней страницы настроек.
  4. В поле "Версия платформы" укажем конкретный номер, например 8.3.11.

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

Проблема переноса данных через выгрузку (.dt)

Проанализируем ситуацию с загрузкой файла .dt. Файл выгрузки информационной базы не является просто "архивом", это структурированные данные, формат которых зависит от версии платформы, в которой производилась выгрузка. Если вы выгрузили данные из платформы 8.3.11, файл может содержать новые типы объектов или структуры индексов, которые платформа 8.3.6 не умеет обрабатывать.

Важно: Платформа 1С поддерживает обратную совместимость "снизу вверх" (старый .dt можно загрузить в новую платформу), но не гарантирует и чаще всего блокирует загрузку "сверху вниз" (из новой в старую).

Развертывание двух серверов 1С на одном физическом хосте

Если вам жизненно необходимо использовать разные платформы для разных серверных баз (например, одну для ЗУП 2.5, другую для ЗУП 3.1), единственным корректным решением будет запуск двух независимых экземпляров службы 1C:Enterprise 8 Server Agent. Рассмотрим, как это реализовать.

Для запуска второго сервера необходимо использовать разные порты и разные каталоги данных кластера. По умолчанию 1С использует порт 1540 (агент), 1541 (менеджер кластера) и диапазон 1560-1591 для рабочих процессов. Для второго сервера выберем, например, 1640, 1641 и 1660-1691 соответственно.

Регистрация второй службы выполняется через командную строку от имени администратора. Пример команды для создания службы:


sc create "1C:Enterprise 8.3.11 Server" binPath= "C:\Program Files\1cv8\8.3.11.3034\bin\ragent.exe -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d \"C:\Program Files\1cv8\srvinfo_new\"" displayname= "1C:Enterprise 8.3.11 Server" depend= tcpip start= auto

Разберем параметры этой команды:

После создания службы ее необходимо запустить через оснастку services.msc. Теперь в консоли администрирования серверов 1С вы сможете добавить новый сервер, указав адрес в формате ИмяСервера:1640, и перенести туда необходимые базы.

Использование файла conf.cfg для управления версиями

Существует еще один инструмент — файл conf.cfg, расположенный в папке bin\conf. В нем можно задать параметр DefaultVersion, который будет указывать, какую версию платформы использовать по умолчанию для всех новых подключений. Рассмотрим пример содержания такого файла:


SystemPrefix=C:\Program Files\1cv8
DefaultVersion=8.3.11.3034

Однако помните, что этот метод является вспомогательным и не отменяет требования идентичности версий клиента и сервера в сетевом режиме.

Рекомендации по обновлению

Подводя итог, отметим, что работа на крайне старых платформах (таких как 8.3.6) несет в себе риски безопасности и стабильности. Вместо развертывания зоопарка серверов, наиболее рациональным решением будет обновление платформы до актуальной стабильной версии (например, из веток 8.3.22 или выше), которая поддерживает режим совместимости. ЗУП 2.5 вполне корректно работает на современных платформах, если в свойствах самой конфигурации в Конфигураторе установлен соответствующий Режим совместимости.

Таким образом, мы выяснили, что "магическое" переключение версий при запуске — это штатная работа системы контроля версий 1С, и для работы с обновленными конфигурациями вам неизбежно придется обновлять либо весь сервер целиком, либо поднимать параллельную службу для новых баз данных.

← На главную