Разрядность платформы 1С: как определить, 32-битный клиент или 64-битный

· 9 мин

Содержание

Самый быстрый способ: нажмите Ctrl+Shift+Esc, откройте вкладку Подробности, найдите процесс 1cv8.exe. Если рядом стоит пометка (32 бита) — у вас 32-битный клиент, если пометки нет — 64-битный. Второй проверочный признак: в какой папке лежит программа. C:\Program Files (x86)\1cv8 — это 32 бита, C:\Program Files\1cv8 — 64 бита.

Разрядность 1С — это не версия платформы и не разрядность Windows. Один и тот же клиент 1cv8.exe выпускается в двух сборках: x86 (32 бита) и x64 (64 бита). Запускать можно любую, но у каждой свои ограничения по памяти и совместимости.

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

Зачем знать разрядность клиента 1С

Проверка разрядности почти всегда упирается в одну из четырёх ситуаций.

🔌 Оборудование и внешние компоненты. Драйверы сканеров штрихкодов, фискальных регистраторов, терминалов сбора данных и криптопровайдеры поставляются раздельно для 32 и 64 бит. Если разрядность клиента и компоненты не совпадает, 1С выдаёт Не удалось загрузить внешнюю компоненту, и оборудование не работает . Это самая частая причина, по которой разрядность вообще приходится выяснять: после обновления или переустановки платформы перестаёт печатать чек или не читается ключ подписи.

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

🔗 COM-соединение. Если внешняя программа вызывает 1С через COM-объект (V83.COMConnector), разрядность этой программы должна совпадать с разрядностью зарегистрированной comcntr.dll. Несовпадение — частая причина ошибки при создании COM-соединения.

🖥️ Сервер 1С. Серверную часть под нагрузку ставят 64-битной: ей нужны и память, и производительность. Клиенты при этом могут оставаться 32-битными — они подключаются к серверу независимо от своей разрядности.

О программе и работающий процесс 1С

Когда клиент уже запущен, точную версию платформы показывает окно Справка → О программе 1С:Предприятие. Там вы увидите номер вида 8.3.24.1548 — он понадобится, чтобы найти нужную папку установки. Саму разрядность это окно напрямую не называет, поэтому связку дополняют диспетчером задач.

Порядок такой:

  1. Откройте Диспетчер задач (Ctrl+Shift+Esc).
  2. Перейдите на вкладку Подробности.
  3. Найдите в списке 1cv8.exe (режим «Предприятие» и «Конфигуратор» используют один и тот же файл).
  4. Посмотрите на имя процесса и колонку с архитектурой.

На 64-битной Windows 32-битные процессы помечаются суффиксом (32 бита). Нет суффикса — процесс 64-битный. Если колонки с разрядностью не видно, щёлкните правой кнопкой по заголовку таблицы и включите отображение столбца Архитектура (в некоторых сборках Windows он называется «Платформа»).

И толстый, и тонкий клиент на машине пользователя запускаются из одного и того же 1cv8.exe, поэтому разрядность у них совпадает — по процессу вы увидите её одинаково в любом режиме.

Способ работает только для запущенной базы. Если 1С не открыта, переходите к проверке по папке установки — она не требует запуска.

Папка установки и свойства ярлыка

Это самый надёжный признак, потому что от запуска он не зависит. На 64-битной Windows действует жёсткое правило: 32-битные программы ставятся в C:\Program Files (x86), 64-битные — в C:\Program Files.

Проверьте каталоги:

  • 📁 C:\Program Files\1cv8 — установлен 64-битный клиент.
  • 📁 C:\Program Files (x86)\1cv8 — установлен 32-битный клиент.

Обе папки могут существовать одновременно, если на машине стоят обе сборки. Исполняемый файл лежит глубже — по пути ...\1cv8\8.3.24.1548\bin\1cv8.exe, где средний каталог совпадает с номером из окна «О программе».

Внутри 1cv8 обычно лежит несколько папок с версиями — старые сборки остаются после обновлений. Ориентируйтесь на ту, чей номер показан в «О программе»: именно она сейчас запускает базу. Чтобы не ходить по проводнику, нажмите Win+R и вставьте путь целиком — система сразу откроет нужный каталог.

Запуск обычно идёт не напрямую, а через стартёр 1cestart.exe, который сам выбирает подходящую версию. Чтобы увидеть, куда реально ведёт ярлык на рабочем столе:

  1. Щёлкните по ярлыку правой кнопкой → Свойства.
  2. Посмотрите поле Объект (или Рабочая папка).
  3. Префикс Program Files (x86) означает 32 бита, Program Files без суффикса — 64 бита.

Проверка через реестр Windows

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

Откройте редактор реестра (Win+R → regedit) и сверьтесь с двумя путями:

  • HKEY_LOCAL_MACHINE\SOFTWARE\1C\1Cv8 — ветка 64-битной установки.
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\1C\1Cv8 — сюда Windows складывает записи 32-битных программ.

Раздел WOW6432Node — это «зеркало» для 32-разрядного софта на 64-битной системе. Если данные 1С есть только под ним, установлена 32-битная сборка. Если ветка 1C\1Cv8 присутствует напрямую, в системе есть 64-битный клиент. Внутри этих разделов параметры с путём установки снова приведут вас к Program Files или Program Files (x86).

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

В реестре легко изменить чужой параметр по ошибке. Если вы зашли только посмотреть — ничего не редактируйте и закройте редактор без сохранения.

Командная строка и PowerShell

Способ для тех, кто предпочитает консоль или проверяет разрядность удалённо, по сети. Все команды показывают путь к исполняемому файлу — а дальше работает уже знакомое правило про Program Files (x86).

В cmd для запущенной 1С:

wmic process where "name='1cv8.exe'" get ExecutablePath,Name

В PowerShell то же самое короче:

Get-Process 1cv8 | Select-Object Path

Чтобы просто увидеть, какие сборки вообще установлены, посмотрите содержимое обоих каталогов:

dir "C:\Program Files\1cv8"
dir "C:\Program Files (x86)\1cv8"

Если нужно определить разрядность конкретного файла 1cv8.exe, который даже не запущен, и на машине есть утилиты сборки от Visual Studio, помогает dumpbin:

dumpbin /headers "C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" | findstr machine

В выводе 8664 machine (x64) означает 64 бита, 14C machine (x86) — 32 бита. Это чтение заголовка файла, самый точный ответ для отдельного экземпляра платформы.

Если dumpbin недоступен (а он ставится только с инструментами Visual Studio), тот же заголовок читается штатным PowerShell:

$f = "C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
$b = [System.IO.File]::ReadAllBytes($f)
$pe = [System.BitConverter]::ToInt32($b, 0x3C)
'{0:X}' -f [System.BitConverter]::ToUInt16($b, $pe + 4)

Команда напечатает значение поля Machine из PE-заголовка: 8664 — это x64, 14C — x86. Запускать ничего не нужно, файл просто читается с диска — удобно, когда платформа установлена, но не открыта.

Как определить разрядность 1С на Linux

На Linux разрядность читается прямо из структуры каталогов. Клиент и сервер 1С ставятся по пути /opt/1cv8/<архитектура>/<версия>/, и имя папки архитектуры всё говорит само:

  • /opt/1cv8/x86_64/... — 64-битная сборка.
  • /opt/1cv8/i386/... — 32-битная сборка.

Посмотреть установленные варианты можно одной командой:

ls /opt/1cv8/

Если хотите проверить сам бинарник, используйте утилиту file — она читает ELF-заголовок:

file /opt/1cv8/x86_64/8.3.24.1548/1cv8

Для 64-битного файла вывод содержит ELF 64-bit LSB executable, x86-64, для 32-битного — ELF 32-bit. Так же проверяют и серверные компоненты — агент ragent или менеджер кластера rmngr:

file /opt/1cv8/x86_64/8.3.24.1548/ragent

На практике 32-битного сервера 1С под Linux почти не встретишь — серверную часть давно ставят 64-битной. Если клиентскую часть на Linux вы запускаете через стартёр 1cestart, он сам ведёт к бинарнику в каталоге соответствующей архитектуры, так что путь из ls /opt/1cv8/ остаётся самым наглядным ответом.

Сторонние утилиты для проверки разрядности

Отдельные программы нужны редко — штатных средств хватает. Но если работаете с ними постоянно, пара инструментов экономит клики:

УтилитаПлатформаЧто показывает
Process Explorer (Sysinternals)WindowsКолонка Image Type: 32-bit или 64-bit для каждого процесса
fileLinux/macOSТип ELF-файла (32/64 бита) напрямую из заголовка
dumpbin /headersWindows (VS)Архитектуру PE-файла по значению machine

Process Explorer удобнее обычного диспетчера задач: он добавляет столбец с типом образа и сразу показывает полный путь к файлу. Чтобы включить нужную колонку, откройте View → Select Columns → Process Image и поставьте галку Image Type (64 vs 32-bit). После этого напротив 1cv8.exe будет явно написано, 32 это или 64 бита. Для разовой проверки всё это избыточно — хватает диспетчера задач и папки установки.

Отдельно стоит веб-клиент: если база опубликована на веб-сервере и открывается в браузере, разрядности клиента на машине пользователя попросту нет — там работает браузер. В этом случае разрядность определяют у модуля расширения веб-сервера на стороне сервера публикации, а не у рабочего места.

Мифы и ошибки вокруг разрядности 1С

Вокруг темы много путаницы. Разберём то, что чаще всего приводит к неверным выводам.

«На 64-битной Windows автоматически стоит 64-битная 1С». Нет. Разрядность клиента зависит от того, какую сборку вы установили, а не от разрядности системы. На 64-битной Windows спокойно работает 32-битный клиент, и во многих установках по умолчанию ставят именно его.

«64-битный клиент всегда быстрее». Не всегда. Его главное преимущество — доступ к большому объёму оперативной памяти: 32-битный процесс ограничен примерно 2–4 ГБ, и на тяжёлых отчётах или выгрузках он упирается в этот потолок. На повседневных операциях заметной разницы в скорости обычно нет.

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

«Разрядность задаётся в настройках базы». Нет. Это свойство установленной платформы, а не информационной базы. База одинаково открывается и 32-, и 64-битным клиентом; чтобы сменить разрядность, ставят другую сборку платформы, саму базу трогать не нужно.

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

Ещё одна ловушка — перепутать клиент и конфигуратор. Оба режима запускает один файл 1cv8.exe, поэтому разрядность у них всегда одинаковая: нельзя держать 64-битное «Предприятие» и 32-битный «Конфигуратор» из одной установки. Если видите разные цифры, значит на машине две разные сборки платформы, и база открывается то в одной, то в другой.

Что проверить перед переходом на 64-битный клиент
Выполнено: 0 / 5
Какую разрядность клиента выбрать?

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

Можно ли держать на одном компьютере и 32-, и 64-битную платформу?
Да. Сборки ставятся в разные папки (Program Files и Program Files (x86)), и стартёр 1cestart.exe сам запускает нужную версию под конкретную базу.
Зависит ли разрядность клиента от разрядности сервера 1С?
Нет. Клиент и сервер выбирают разрядность независимо. 32-битный клиент работает с 64-битным сервером без проблем.
Нужна ли 64-битная Windows для 64-битного клиента?
Да. 64-битная сборка запускается только на 64-битной системе. 32-битный клиент работает и на 32-, и на 64-битной Windows.
Почему после перехода на 64 бита перестала грузиться внешняя компонента?
Разрядность компоненты не совпала с разрядностью клиента. Нужна 64-битная сборка компоненты или возврат на 32-битный клиент.
Как узнать разрядность сервера 1С?
На Linux — по пути установки (x86_64 или i386) или командой file для бинарника ragent. На Windows — по папке установки серверной части и процессу ragent.exe в диспетчере задач.