Разрядность платформы 1С: как определить, 32-битный клиент или 64-битный
Содержание
Самый быстрый способ: нажмите 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 — он понадобится, чтобы найти нужную папку установки. Саму разрядность это окно напрямую не называет, поэтому связку дополняют диспетчером задач.
Порядок такой:
- Откройте
Диспетчер задач(Ctrl+Shift+Esc). - Перейдите на вкладку
Подробности. - Найдите в списке
1cv8.exe(режим «Предприятие» и «Конфигуратор» используют один и тот же файл). - Посмотрите на имя процесса и колонку с архитектурой.
На 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, который сам выбирает подходящую версию. Чтобы увидеть, куда реально ведёт ярлык на рабочем столе:
- Щёлкните по ярлыку правой кнопкой →
Свойства. - Посмотрите поле
Объект(илиРабочая папка). - Префикс
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 для каждого процесса |
file | Linux/macOS | Тип ELF-файла (32/64 бита) напрямую из заголовка |
dumpbin /headers | Windows (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-битный «Конфигуратор» из одной установки. Если видите разные цифры, значит на машине две разные сборки платформы, и база открывается то в одной, то в другой.
Частые вопросы
Можно ли держать на одном компьютере и 32-, и 64-битную платформу?
Program Files и Program Files (x86)), и стартёр 1cestart.exe сам запускает нужную версию под конкретную базу.Зависит ли разрядность клиента от разрядности сервера 1С?
Нужна ли 64-битная Windows для 64-битного клиента?
Почему после перехода на 64 бита перестала грузиться внешняя компонента?
Как узнать разрядность сервера 1С?
x86_64 или i386) или командой file для бинарника ragent. На Windows — по папке установки серверной части и процессу ragent.exe в диспетчере задач.