Нужно ли обновлять клиентскую часть 1С до 64 бит после перехода сервера на x64?

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

Перевод серверной части «1С:Предприятия» на 64-разрядную архитектуру (x64) — стандартный шаг при развитии ИТ-инфраструктуры предприятия. Это позволяет серверу использовать весь объем оперативной памяти и эффективно справляться с высокими нагрузками. Однако сразу после такого обновления перед системными администраторами встает вопрос: нужно ли в обязательном порядке обновлять клиентские приложения на рабочих станциях пользователей с 32 бит (x86) до 64 бит (x64)?

В этой статье мы подробно проанализируем технические нюансы взаимодействия клиента и сервера разной разрядности, взвесим все плюсы и минусы перехода на 64-битный клиент, а также рассмотрим возможные проблемы, с которыми можно столкнуться на практике.

Базовое правило совместимости клиента и сервера

Начнем с главного технического правила платформы «1С:Предприятие»: разрядность (битность) клиента и сервера не связана между собой и не обязана совпадать. Вы можете использовать абсолютно любую комбинацию архитектур:

  1. 32-битный клиент (x86) и 64-битный сервер (x64) — наиболее популярная и стабильная схема работы во многих организациях.
  2. 64-битный клиент (x64) и 64-битный сервер (x64) — современный стандарт для производительных рабочих станций.
  3. 64-битный клиент (x64) и 32-битный сервер (x86) — экзотический, но технически полностью рабочий вариант.

Единственное жесткое и обязательное требование платформы — полное совпадение версии релиза платформы на клиенте и сервере. Например, если на сервере установлена версия 8.3.22.1709, то и на клиентском компьютере должна быть запущена именно версия 8.3.22.1709, независимо от разрядности.

Таким образом, чисто технически после обновления сервера на x64 ваши старые 32-битные клиенты продолжат успешно запускаться и работать без каких-либо доработок.

Зачем вообще переходить на 64-битный клиент 1С?

Если все работает «из коробки», зачем задумываться о переходе на x64? Основная и главная причина кроется в системных ограничениях адресации памяти.

Любой 32-битный процесс в операционной системе Windows имеет жесткое ограничение на объем используемой оперативной памяти — не более 2 ГБ (в редких случаях, при использовании специальных ключей операционной системы, лимит можно расширить до 3–4 ГБ). Если пользователю требуется обработать объем данных, превышающий этот лимит, работа программы аварийно завершается.

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

  1. Решение проблемы нехватки памяти (ошибка «Недостаточно памяти»): Это ключевой аргумент. Тяжелые отчеты (например, ведомости по амортизации, анализ себестоимости в крупных базах ERP или Комплексной автоматизации), групповые обработки данных, закрытие месяца или процесс обновления крупных конфигураций в режиме Конфигуратора зачастую требуют более 2 ГБ памяти. 64-битный клиент 1С может адресовать практически весь объем доступной физической оперативной памяти компьютера (до терабайта и выше).
  2. Стабильность работы с большими файлами: При выгрузке или загрузке объемных файлов данных (тяжелые файлы XML, выгрузки в JSON, огромные таблицы MXL) клиент x64 работает стабильно и не падает на середине процесса из-за переполнения кучи (heap allocations).

Для определения разрядности текущего сеанса в коде конфигурации мы можем использовать свойства системной информации. Разберем небольшой пример кода, помогающий программно определить тип запущенной платформы:


СистемнаяИнформация = Новый СистемнаяИнформация;
ТипПл = СистемнаяИнформация.ТипПлатформы;

Если ТипПл = ТипПлатформы.Windows_x86 Или ТипПл = ТипПлатформы.Linux_x86 Тогда
    ЗаписьЖурналаРегистрации("ПроверкаРазрядности", УровеньЖурналаРегистрации.Предупреждение, , , "Используется 32-разрядный клиент. Возможны проблемы с памятью при формировании тяжелых отчетов.");
ИначеЕсли ТипПл = ТипПлатформы.Windows_x86_64 Или ТипПл = ТипПлатформы.Linux_x86_64 Тогда
    ЗаписьЖурналаРегистрации("ПроверкаРазрядности", УровеньЖурналаРегистрации.Информация, , , "Используется стабильный 64-разрядный клиент.");
КонецЕсли;

Подводные камни и риски при переходе на x64-клиент

Несмотря на очевидные плюсы работы с памятью, повальный и необдуманный перевод всех пользователей на 64-битные версии клиентов может парализовать работу некоторых подразделений. Выясним основные причины и риски:

  1. Повышенное потребление оперативной памяти (ОЗУ): Процессы x64 в силу своей архитектуры (размера указателей в памяти) потребляют в среднем на 30–50% больше оперативной памяти для выполнения тех же самых операций, что и x86. Если ваши пользователи работают в терминальном режиме (RDP-сервер), одновременный запуск десятков 64-битных сеансов 1С может мгновенно исчерпать всю свободную память сервера терминалов, вызвав общую деградацию производительности.
  2. Проблемы с внешними компонентами и торговым оборудованием: Многие драйверы торгового оборудования (сканеры штрихкодов, фискальные регистраторы ККТ, терминалы сбора данных, весы) поставляются в виде внешних компонент (файлы .dll). Если производитель оборудования написал внешнюю компоненту только под 32-битную архитектуру, 64-битный клиент 1С физически не сможет ее загрузить. В итоге оборудование просто откажется работать, выдав ошибку инициализации драйвера. Это же касается и работы с двумерными штрихкодами (PDF417, QR, DataMatrix) на старых релизах библиотек.
  3. Проблемы с COM-соединениями и интеграцией с Microsoft Office:

    Если в вашей конфигурации активно используется прямой обмен данными с Excel или Word через COM-объекты, разрядность платформы 1С обязана совпадать с разрядностью установленного пакета Microsoft Office. Проанализируем типичный сценарий инициализации:

    Excel = Новый COMОбъект("Excel.Application");

    Если на компьютере пользователя установлен 32-разрядный MS Office, а вы запустили 64-битного клиента 1С, данная строка вызовет неустранимую ошибку «Класс не зарегистрирован» (или наоборот). Для исправления ситуации придется либо менять разрядность Office, либо возвращаться на 32-битный клиент.

  4. Криптография и КЭП: Некоторые старые СКЗИ (средства криптографической защиты информации) и их библиотеки (например, для работы с электронными подписями при сдаче отчетности или в ЭДО) корректно взаимодействуют только с 32-битным окружением.

Особенности настройки запуска разрядности

Важно понимать, как именно запускается нужная версия платформы на компьютере пользователя. Даже если вы скачали и установили на ПК обе версии платформы (и x86, и x64), программа запуска 1cestart.exe по умолчанию имеет настройку приоритета.

В операционной системе Windows утилита запуска по умолчанию отдает приоритет 32-битной версии (настройка «Приоритет 32 (x86)»). Чтобы принудительно заставить базу запускаться в 64-битном режиме, выполните следующие шаги:

  1. Откройте окно со списком информационных баз 1С.
  2. Выберите необходимую базу и нажмите кнопку «Изменить».
  3. Перейдите на последнюю вкладку параметров запуска.
  4. В поле «Разрядность» вместо значения «Выбирать автоматически» укажите «64 (x64)».
  5. Сохраните настройки. Теперь данная база на этом ПК всегда будет стартовать под управлением 64-разрядного клиента.

Подводим итоги: нужно ли обновлять?

Посмотрим на общую картину и сформируем четкие рекомендации для системного администратора по принятию решения:

Оставляйте клиентов на 32-бит (x86), если:

Переводите клиентов на 64-бит (x64), если:

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

← На главную