Какая у вас 1С — 32 или 64 бита: способы проверки

· 9 мин

Содержание

Быстрее всего разрядность видно по папке установки: платформа 64 бита лежит в C:\Program Files\1cv8\, а 32 бита — в C:\Program Files (x86)\1cv8\. Если нужна проверка изнутри, откройте Справка → О программе: в окне указана версия платформы и признак разрядности.

Узнать битность 1С Предприятия обычно требуется, когда не подключается внешняя компонента, не находится драйвер ODBC или база упирается в нехватку памяти. Ниже — все рабочие способы: от ярлыка до скрипта. Отдельно разобрано, как проверить разрядность сервера 1С и его процессов.

Сначала разберитесь, что именно проверяете

У «1С» не одна разрядность, а несколько, и они независимы друг от друга:

  • 🖥 Операционная система — 32 или 64 бита. Определяет, что вообще можно установить.
  • 📦 Платформа на компьютере пользователя — тонкий, толстый клиент и конфигуратор. Ставится отдельно под x86 или x86-64.
  • 🗄 Сервер 1С:Предприятия — агент, менеджер кластера, рабочие процессы.
  • 🧩 Внешние компоненты и драйверы — у каждой своя разрядность, и она должна совпасть с клиентом.

Клиент и сервер могут быть разной разрядности: 32-битный клиент спокойно работает с 64-битным сервером. А вот 64-битная платформа не встанет на 32-битную Windows.

Если вы смотрите причину ошибки подключения компоненты, нужна разрядность именно того процесса, который её грузит. Это клиент, а не сервер и не система.

Способ 1. Папка установки и ярлык

Самый простой способ — посмотреть, куда установлена платформа.

  1. Щёлкните ярлык базы или запуска 1С правой кнопкой и выберите «Свойства».
  2. На вкладке «Ярлык» посмотрите поле «Объект» (путь к 1cv8.exe или 1cv8c.exe).
  3. Сравните с таблицей.
Путь к файлуРазрядность
C:\Program Files\1cv8\8.3.xx.xxxx\bin\64 бита
C:\Program Files (x86)\1cv8\8.3.xx.xxxx\bin\32 бита

Здесь 8.3.xx.xxxx — номер установленной версии платформы. Файл 1cv8.exe — толстый клиент и конфигуратор, 1cv8c.exe — тонкий клиент.

Оговорка: папку можно выбрать при установке, и тогда путь ничего не скажет. Ставили в D:\1C\ — переходите к следующим способам.

На Linux признак тот же, только в пути: платформа 64 бита лежит в /opt/1cv8/x86_64/<версия>/, 32-битная — в каталоге с i386 в названии.

Способ 2. Окно «О программе» в самой 1С

Это самый надёжный способ для клиента, потому что окно сообщает о процессе, в котором вы работаете прямо сейчас.

  1. Запустите базу в нужном режиме (тонкий клиент, толстый клиент или конфигуратор).
  2. Откройте Справка → О программе. В интерфейсе «Такси» меню справки находится в главном меню, значок со стрелкой в левом верхнем углу. В конфигураторе пункт Справка → О программе… есть в строке меню.
  3. В окне найдите версию платформы. Рядом указан признак разрядности: у 64-битной сборки он присутствует (x86-64/«64-разрядная»), у 32-битной сборки такой пометки нет или указан x86.

Формулировка в окне зависит от релиза платформы, поэтому, если сомневаетесь, сверьтесь вторым способом — по диспетчеру задач.

Узнать разрядность кодом 1С

Если проверку нужно встроить в обработку или в расширение, используйте системную информацию:

Тип = СистемнаяИнформация.ТипПлатформы;
Если Тип = ТипПлатформы.Windows_x86_64 Тогда
    Сообщить("Клиент 64 бита");
ИначеЕсли Тип = ТипПлатформы.Windows_x86 Тогда
    Сообщить("Клиент 32 бита");
Иначе
    Сообщить("Другая платформа: " + Строка(Тип));
КонецЕсли;

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

Способ 3. Диспетчер задач Windows

Запущенный процесс нельзя перепутать с установленным.

  1. Запустите 1С и откройте диспетчер задач (Ctrl+Shift+Esc).
  2. На вкладке «Процессы» найдите «1С:Предприятие» или процесс 1cv8.exe / 1cv8c.exe.
  3. 32-битные процессы в Windows 10 и новее помечены (32 бита) рядом с именем. Нет пометки — процесс 64-битный.

На вкладке «Подробности» процессы 32 бита видны так же, если включить столбец «Платформа» (правый щелчок по заголовку → «Выбрать столбцы»).

Не завершайте процессы рабочего сервера для проверки. Пользователи потеряют несохранённые данные. Для серверов смотрите процессы только в режиме просмотра.

Способ 4. Свойства исполняемого файла и PowerShell

Проводник сам по себе разрядность exe-файла не показывает: во вкладке «Подробности» свойств файла такого поля нет. Надёжный путь — прочитать заголовок файла. Для этого хватит PowerShell:

$p = "C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
$b = [IO.File]::ReadAllBytes($p)
$pe = [BitConverter]::ToInt32($b, 0x3C)
$m  = [BitConverter]::ToUInt16($b, $pe + 4)
if ($m -eq 0x8664) { "64 бита" } elseif ($m -eq 0x14C) { "32 бита" } else { "Другая архитектура" }

Замените путь на свой. Скрипт читает поле машинного типа заголовка PE: 0x14C — это x86, 0x8664 — x86-64. Так можно проверить и серверные файлы ragent.exe, rmngr.exe, rphost.exe, и компоненты .dll.

Способ 5. Командная строка: что даёт ver и что нужно на самом деле

Утилита ver выводит версию Windows, к 1С она отношения не имеет. Разрядность платформы через неё не узнать.

Из командной строки проверяют разрядность операционной системы:

echo %PROCESSOR_ARCHITECTURE%
systeminfo | findstr /C:"Тип системы"
  • AMD64 или «x64-based PC» — система 64-битная.
  • x86 — 32-битная, и 64-битную платформу здесь не поставить.

Если нужна разрядность ODBC-драйвера для внешних источников данных, помните: администраторов два. 64-битный открывается через «Источники данных ODBC», а 32-битный — файлом C:\Windows\SysWOW64\odbcad32.exe. Драйвер, созданный не в том, что нужно, 1С не увидит.

Способ 6. Как проверить разрядность сервера 1С

Сервер проверяют отдельно: клиентская платформа на другом компьютере ничего не говорит о нём.

Службы и процессы

  1. Откройте services.msc на сервере.
  2. Найдите службу «Агент сервера 1С:Предприятия 8.3». У 64-битной версии в названии есть (x86-64).
  3. В свойствах службы посмотрите «Исполняемый файл» — путь к ragent.exe ведёт в Program Files (64 бита) или в Program Files (x86) (32 бита).
  4. В диспетчере задач на вкладке «Подробности» найдите ragent.exe, rmngr.exe, rphost.exe. Помета (32 бита) в процессах означает 32-битный сервер.

Рабочих процессов rphost.exe обычно несколько, и у них одна разрядность с агентом.

Linux-сервер

ls /opt/1cv8/
ps aux | grep -E "ragent|rphost"
file /opt/1cv8/x86_64/8.3.xx.xxxx/ragent

Команда file назовёт архитектуру прямо: ELF 64-bit или ELF 32-bit. Путь с x86_64 — 64 бита.

Консоль администрирования

В консоли серверов 1С разрядность не показана одним полем, но видно, сколько памяти занимают рабочие процессы. Если rphost упирается примерно в 2–3 ГБ и тормозит, это частый признак 32-битного процесса. Проверьте его по списку выше.

Перед остановкой службы или перезапуском рабочих процессов предупредите пользователей: все сеансы оборвутся. Делайте это вне рабочих часов.

Когда разрядность влияет на работу

Разница заметна в нескольких ситуациях.

Ситуация32 бита64 бита
Память одного процессажёсткий потолок в несколько ГБограничена системой
Большие отчёты и выгрузкивозможны ошибки нехватки памятиработают устойчивее
Внешние компоненты и COMтолько 32-битныетолько 64-битные
Драйверы ODBC, Office, принтеры32-битные64-битные
Установкана любую Windowsтолько на 64-битную систему

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

Платформы разной разрядности можно держать на одном компьютере одновременно. Базы от этого не меняются: файловая или клиент-серверная база открывается любой из них.

Диагностика: выберите симптом

Как проверить много компьютеров сразу

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

  1. Составьте список компьютеров или возьмите его из каталога домена.
  2. Через административную общую папку (\\имя-компьютера\c$) проверьте наличие каталогов Program Files\1cv8 и Program Files (x86)\1cv8.
  3. Если есть оба каталога, на машине стоят обе разрядности. Выпишите версии подпапок: они называются по номеру сборки.
  4. Для каждого найденного 1cv8c.exe прогоните скрипт из способа 4 и сведите результат в таблицу.

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

Каталоги старых версий платформы сами не удаляются. Если на компьютере три версии 8.3.xx, ярлык может вести на любую из них, поэтому ярлык проверяйте отдельно.

Как перейти с 32 бит на 64 бита

Менять разрядность стоит осознанно, потому что вместе с ней меняются компоненты и драйверы.

  1. Проверьте систему. Нужна 64-битная Windows (для серверов — Windows Server 2016 и новее). Команда systeminfo из способа 5 покажет тип системы.
  2. Составьте список зависимостей. Внешние компоненты торгового оборудования, драйверы ODBC, подключение к Office через COM, драйверы принтеров этикеток, средства криптографии для подписи. У каждой должна быть 64-битная версия.
  3. Поставьте 64-битную платформу рядом с прежней, не удаляя 32-битную. Версию платформы выбирайте ту же, что работает у пользователей.
  4. Запустите базу новым клиентом на тестовом компьютере и пройдите основные сценарии: печать, обмены, подпись, работа с оборудованием.
  5. Переключите ярлыки постепенно, по группам пользователей. Старую сборку удаляйте после того, как убедитесь, что она никому не нужна.

Если какой-то компонент существует только в 32-битном виде, оставьте для этих пользователей 32-битный клиент. Для остальных переход всё равно возможен, поскольку база и сервер от клиента не зависят.

Запишите результат проверки в короткую таблицу учёта: компьютер, пользователь, разрядность платформы, номер версии, список подключённых компонент. Через полгода, когда понадобится обновить платформу или заменить оборудование, эта таблица сэкономит день работы: сразу видно, кому нужны какие драйверы и у кого стоит старая сборка.

Типичные путаницы при проверке

  • «Windows 64 бита, значит и 1С 64 бита». Нет. На 64-битную систему легко поставить 32-битную платформу, и многие так и делают по привычке.
  • «Установлен 64-битный Office, а компонента не работает». Разрядность Office не заменяет разрядность 1С: COM-подключение возможно, когда оба процесса одной разрядности.
  • «Сервер 64 бита, значит клиент тоже». Нет, клиенты на рабочих местах проверяют отдельно.
  • «Нашёл две папки, значит работаю на обеих». В работе одна, та, на которую указывает ярлык или которую выбрали при запуске. Окно «О программе» сразу снимает вопрос.

Частые вопросы

Можно ли поставить 32 и 64 бита платформы на один компьютер?
Да. Они устанавливаются в разные папки и друг другу не мешают. Нужную версию выбирают при запуске.
Нужно ли конвертировать базу при смене разрядности?
Нет. Информационная база от разрядности клиента не зависит.
Подойдёт ли 32-битный клиент для 64-битного сервера?
Да, клиент и сервер общаются по сети независимо от разрядности.
Как понять, какая платформа у запущенной сессии, если ярлыков несколько?
Откройте Справка → О программе в этой сессии или посмотрите процесс в диспетчере задач.
Зачем нужна 64-битная платформа?
Она работает с большими объёмами памяти без потолка 32-битного процесса. Для тяжёлых отчётов и серверных вычислений это существенно.