Будут ли одновременно работать 32-битная и 64-битная версии 1С:Предприятие?

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

В процессе администрирования и поддержки систем на базе 1С:Предприятие часто возникает необходимость совместного использования различных архитектур платформы. Системные администраторы и разработчики регулярно задаются вопросами: можно ли установить одновременно 32-битного и 64-битного клиента? Будут ли они бесконфликтно работать с сервером приложений? Как правильно настроить веб-публикацию и интеграцию через COM? В этой статье мы подробно разберем все технические нюансы совместной работы 32- и 64-битных версий 1С.

1. Одновременный запуск клиентов разной разрядности на одном компьютере

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

  1. 32-битная версия (x86) устанавливается в каталог: C:\Program Files (x86)\1cv8\
  2. 64-битная версия (x86_64) устанавливается в каталог: C:\Program Files\1cv8\

Для управления запуском используется единая программа — стартер 1С (1cestart.exe). Мы можем гибко управлять разрядностью запуска для каждой информационной базы. Разберем по шагам, как это настроить:

  1. Запустите окно со списком информационных баз 1С.
  2. Выберите необходимую базу и нажмите кнопку Изменить.
  3. В открывшемся окне перейдите на последнюю вкладку настроек.
  4. Найдите поле Разрядность. По умолчанию там установлено значение "Авто" (в этом случае система автоматически выбирает наиболее подходящую версию, чаще всего 64-битную, если она установлена).
  5. Принудительно укажите требуемое значение: 32 (x86) или 64 (x86_64) в зависимости от ваших задач.

Начиная с версии платформы 8.3.20, разработчики 1С существенно упростили жизнь администраторам, внедрив единый дистрибутив для Windows, который содержит в себе обе архитектуры. Это минимизирует ручные операции при развертывании платформы на рабочих местах пользователей.

2. Работа клиентов разной разрядности с сервером 1С

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

Такая конфигурация работает стабильно и без сбоев. Единственное критически важное условие — полное совпадение номеров релизов платформы. Например, если на сервере установлена версия 8.3.22.1709 (x64), то все подключающиеся клиенты — и 32-битные, и 64-битные — должны иметь точно такой же номер версии 8.3.22.1709.

Почему пользователи часто остаются на 32-битных клиентах, несмотря на наличие 64-битного сервера? Основная причина кроется в совместимости со старым торговым оборудованием и внешними библиотеками. Однако у 32-битного клиента есть существенный недостаток: ограничение адресуемой оперативной памяти на один процесс (не более 2-4 ГБ). При формировании тяжелых отчетов или выгрузке огромных объемов данных в XML на стороне клиента такое приложение завершит работу с ошибкой "Недостаточно памяти". В таких ситуациях переход на 64-битный клиент является единственным надежным решением.

3. Особенности работы смешанного кластера серверов 1С

Проанализируем более сложную конфигурацию: объединение серверов разной разрядности в единый рабочий кластер 1С. Технически платформа позволяет добавлять в один кластер рабочие серверы как x86, так и x64 архитектуры.

Для создания такой связки необходимо соблюдать жесткие правила:

  1. Версии исполняемых файлов на всех серверах кластера должны быть идентичными до последнего знака в номере релиза.
  2. Центральный сервер кластера рекомендуется делать исключительно 64-битным.
  3. Дополнительный 32-битный рабочий сервер в кластере обычно выделяют под конкретные задачи — например, для выполнения фоновых заданий, которые используют специфические 32-битные COM-объекты или внешние компоненты, не имеющие 64-битных аналогов.

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

4. Проблема внешних компонент и COM-соединения: обход ограничений

Разберем детально главное препятствие при переходе на 64-битную архитектуру. Процесс разрядности 64-бит физически не может загрузить в свое адресное пространство 32-битную динамическую библиотеку (.dll). Это приводит к ошибкам при подключении торгового оборудования, работе с банками или интеграции с внешними системами.

Если вам необходимо инициализировать 32-битное COM-соединение из-под 64-битного процесса 1С, рассмотрим классическое решение через создание пустого приложения в службе компонентов Windows (COM+):

  1. Откройте средство администрирования Службы компонентов (выполните команду dcomcnfg).
  2. Перейдите в ветку Компьютеры -> Мой компьютер -> Приложения COM+.
  3. Кликните правой кнопкой мыши, выберите Создать -> Приложение.
  4. В мастере создания выберите Создать новое приложение, укажите его имя (например, "1C_COM_Bridge") и установите способ активации — Серверное приложение.
  5. В свойствах созданного приложения на вкладке Удостоверение укажите пользователя, от имени которого будет запускаться процесс (обычно это локальный администратор или системная учетная запись).
  6. Перейдите внутрь созданного приложения в папку Компоненты. Нажмите Создать -> Компонент.
  7. Выберите установку новых компонентов и укажите путь к 32-битной библиотеке 1С (например, comcntr.dll из папки Program Files (x86)).

После этой настройки операционная система Windows будет использовать системный процесс-прослойку dllhost.exe для трансляции вызовов между 64-битным процессом 1С и 32-битной COM-библиотекой.

Для регистрации библиотеки в системе вручную используется стандартная утилита:

regsvr32 "C:\Program Files (x86)\1cv8\8.3.22.1709\bin\comcntr.dll"

5. Публикация на веб-серверах (IIS и Apache)

При использовании веб-клиентов и интеграции через HTTP/SOAP-сервисы необходимо строго следить за соответствием разрядностей веб-сервера и используемого модуля расширения 1С.

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

Apache:

Если вы устанавливаете 64-битный веб-сервер Apache, вам необходимо использовать только 64-битный модуль расширения 1С (файл wsap24.dll из каталога 64-битной платформы). Если разрядности не совпадут, служба Apache просто не сможет запуститься. Пример подключения модуля в файле конфигурации httpd.conf:


# Подключение 64-битного модуля расширения 1С для Apache 2.4
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.22.1709/bin/wsap24.dll"

IIS (Internet Information Services):

В Windows Server веб-сервер IIS по умолчанию функционирует в 64-битном режиме. Если вам по какой-то причине требуется задействовать 32-битный пул приложений для публикации баз 1С, выполните следующие шаги:

  1. Откройте Диспетчер служб IIS.
  2. Перейдите в раздел Пулы приложений.
  3. Выберите пул, на котором опубликована ваша база 1С, и нажмите Дополнительные параметры.
  4. Установите свойство Разрешены 32-разрядные приложения в значение True.

6. Особенности лицензирования при смешанной архитектуре

Выясним, как разрядность платформы влияет на использование лицензий. Здесь действуют простые правила:

Таким образом, одновременное использование и плавный переход с 32-битных версий на 64-битные вполне реализуемы. Главное — следить за идентичностью релизов платформы, правильно настраивать веб-серверы и использовать COM+ для устаревших внешних библиотек.

← На главную