К статье
Практический материал

Администрирование · 12 мин

Как узнать разрядность запущенной 1С

Проверенные способы определить разрядность запущенной 1С: через диспетчер задач, консоль кластера, окно «О программе» и запрос к процессу. Почему это важно и что проверить.

Разрядность запущенной 1С — это не академический вопрос: от неё зависит, какая версия СУБД нужна серверу, какие внешние компоненты загрузятся, сколько памяти доступно процессу и почему программа может внезапно «не видеть» драйвер оборудования. Администратору, разработчику и даже бухгалтеру, столкнувшемуся с ошибкой подключения сканера ШТРИХ-кодов, рано или поздно приходится точно определить: работает 32-разрядный или 64-разрядный клиент и сервер 1С.

Путаница возникает из-за того, что на 64-разрядной Windows спокойно работает 32-разрядная платформа 1С, а в дистрибутиве одной и той же версии платформы могут присутствовать оба варианта. Кроме того, разрядность клиента, сервера 1С и сервера СУБД — три независимые величины, и они не обязаны совпадать.

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

Зачем вообще знать разрядность запущенной 1С

Первый практический повод — подключение внешних компонент и драйверов. Компонента, собранная под 32-разрядную платформу, физически не загрузится в 64-разрядный процесс, и наоборот. Характерный симптом — ошибка вида «не удалось загрузить внешнюю компоненту» при том, что файл на месте и регистрация прошла успешно.

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

Третий повод — согласование с СУБД и сервером приложений. Для серверного варианта работы важно знать разрядность агента сервера 1С и рабочих процессов, а также соответствие клиентских библиотек СУБД. Наконец, разрядность важна при обновлении платформы: установщик предлагает выбрать вариант, и нужно понимать, какой уже развёрнут.

Способ 1. Диспетчер задач Windows — самый быстрый

Это универсальный метод для клиентского приложения, запущенного на компьютере пользователя. Откройте Диспетчер задач сочетанием Ctrl+Shift+Esc, перейдите на вкладку «Подробности» (в старых версиях Windows — «Процессы») и найдите процесс 1cv8.exe (толстый или тонкий клиент) либо 1cv8c.exe (тонкий клиент в отдельных сборках).

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

Дополнительная проверка — посмотреть путь к исполняемому файлу: правый клик по процессу → «Открыть расположение файла». 32-разрядные программы по умолчанию ставятся в «C:\Program Files (x86)\1cv8\...», 64-разрядные — в «C:\Program Files\1cv8\...». Это не стопроцентный признак (путь установки можно изменить вручную), но в типовой инсталляции он совпадает с реальной разрядностью.

Порядок действий
  1. 1
    Откройте Диспетчер задач (Ctrl+Shift+Esc) и перейдите на вкладку «Подробности»
  2. 2
    Найдите процесс 1cv8.exe или 1cv8c.exe
  3. 3
    Включите столбец «Платформа» через контекстное меню заголовка, если его нет
  4. 4
    Считайте значение: x86 — 32-разрядный клиент, x64 — 64-разрядный
  5. 5
    Для перепроверки откройте расположение файла и сверьте путь установки

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

В самой программе разрядность клиента можно посмотреть без системных инструментов. Откройте меню: круглая кнопка или меню «Файл» (в зависимости от интерфейса) → «О программе». В открывшемся окне отображается версия платформы, и в строке версии указывается архитектура — например, «8.3.22.xxxx (x86-64)» для 64-разрядной сборки.

Обратите внимание: «О программе» показывает разрядность клиентского приложения, в котором вы сейчас работаете. Если база серверная, это ничего не говорит о разрядности сервера 1С — её придётся проверять отдельно на сервере.

В режиме веб-клиента (работа через браузер) понятие разрядности клиента теряет смысл: исполняется код браузера. В этом случае актуальна разрядность веб-сервера и сервера 1С, а не браузера пользователя.

Способ 3. Определение разрядности сервера 1С:Предприятие

Для серверного варианта работы ключевые процессы — это агент сервера (ragent.exe), менеджер кластера (rmngr.exe) и рабочие процессы (rphost.exe). Их разрядность определяется тем же Диспетчером задач, но уже на самом сервере: пометка «(32 бита)» у процессов rphost.exe означает 32-разрядный сервер.

Альтернатива без доступа к рабочему столу сервера — консоль администрирования серверов 1С. Откройте консоль, раскройте нужный кластер, перейдите в «Рабочие процессы» и посмотрите свойства процесса: там отображается разрядность. Тот же путь к исполняемому файлу (Program Files против Program Files (x86)) служит вспомогательным признаком.

Если у вас нет доступа к серверу, но есть доступ к командной строке или PowerShell, разрядность можно выяснить удалённо — например, запросив архитектуру процесса через WMI. Ниже приведён пример команды для локальной проверки.

powershell
Get-Process rphost,1cv8,1cv8c -ErrorAction SilentlyContinue | Select-Object Name, Id, Path

Получив путь к файлу, можно программно определить его разрядность через заголовок PE-файла или просто по каталогу установки. Для разовой проверки достаточно Диспетчера задач; скрипты оправданы, когда нужно проаудировать разрядность на множестве серверов или задокументировать инфраструктуру.

Способ 4. Командная строка и служебные утилиты

Классическая команда tasklist сама по себе разрядность не показывает, но в связке с WMI или PowerShell задача решается. Например, запрос к классу Win32_Process вернёт путь к исполняемому файлу каждого процесса 1С, а по пути и заголовку файла разрядность определяется однозначно.

Ещё один надёжный инструмент — Process Explorer от Sysinternals. Он показывает колонку «Image Type» (32-bit / 64-bit) для каждого процесса, позволяет видеть загруженные в процесс DLL и их разрядность, что полезно при диагностике проблем с внешними компонентами: сразу видно, какой именно библиотеки не хватает.

В Linux-окружении разрядность исполняемого файла проверяется командой file: она выводит «ELF 64-bit» или «ELF 32-bit» для указанного бинарника сервера 1С. Это удобно при проверке дистрибутива до установки.

bash
file /opt/1cv8/x86_64/*/rphost

Когда разрядность критична: частые сценарии

Внешние компоненты и торговое оборудование

Драйверы сканеров, ККТ, эквайринговых терминалов и внешние компоненты по технологии Native API или COM должны совпадать по разрядности с процессом, который их загружает. Если в файловой базе компонента загружается в клиентский процесс — важна разрядность клиента; если загрузка выполняется на сервере — разрядность рабочего процесса rphost.

Ошибки нехватки памяти

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

Обновление и миграция платформы

При установке новой версии платформы установщик спрашивает разрядность. Ставить 64-разрядную версию имеет смысл практически всегда на 64-разрядной ОС, но сначала убедитесь, что все используемые внешние компоненты имеют 64-разрядные сборки — иначе после обновления перестанет работать подключаемое оборудование или обмены.

Маршрут решения

Как выбрать действие

Ошибка загрузки внешней компоненты или драйвера оборудованияПроверьте разрядность процесса, который загружает компоненту, и запросите сборку компоненты той же разрядности
Ошибка «Недостаточно памяти» при свободной оперативной памятиПроверьте, не запущен ли 32-разрядный клиент; при подтверждении перейдите на 64-разрядную платформу
Планируется обновление платформыЗафиксируйте текущую разрядность клиента и сервера, проверьте совместимость всех внешних компонент с новой разрядностью
Работа идёт через веб-клиентПроверяйте разрядность сервера 1С и веб-сервера, а не браузера пользователя

Типичные ошибки при определении разрядности

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

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

Третья ошибка — путать версию конфигурации с версией и разрядностью платформы. Конфигурация (прикладное решение) не имеет разрядности вообще: разрядность — свойство исполняемых файлов платформы. Поэтому вопрос «какая разрядность у нашей бухгалтерии» корректен только в привязке к платформе, под которой она запущена.

Типичные ошибки
01
Определять разрядность по версии Windows — ОС и платформа 1С независимы, 32-разрядная 1С работает на 64-разрядной системе
02
Делать вывод о сервере по клиенту — разрядность rphost.exe проверяется только на самом сервере
03
Менять разрядность платформы без проверки внешних компонент — после перехода перестают загружаться драйверы и компоненты другой разрядности
04
Искать разрядность у конфигурации — это свойство платформы, а не прикладного решения

Проверка результата и контрольные точки

После того как вы определили разрядность, полезно зафиксировать результат и убедиться, что он согласуется с остальной инфраструктурой. Минимальный набор проверок: разрядность клиента на рабочих местах, разрядность сервера 1С, разрядность клиентских библиотек СУБД и наличие соответствующих сборок всех внешних компонент.

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

Контрольные точки

Как проверить результат

Процесс 1cv8.exe в Диспетчере задач
Норма

Столбец «Платформа» показывает ожидаемое значение (x64 или x86)

Тревожный признак

Разрядность не совпадает с установленной версией платформы — возможно, запуск идёт из старого каталога

Загрузка внешних компонент и драйверов
Норма

Компоненты подключаются без ошибок, оборудование работает

Тревожный признак

Ошибка загрузки компоненты — вероятно несовпадение разрядности

Работа тяжёлых отчётов
Норма

Отчёты выполняются без ошибок нехватки памяти

Тревожный признак

Ошибка памяти на 32-разрядном клиенте при свободной ОЗУ

Часто задаваемые вопросы

Может ли 32-разрядная 1С работать на 64-разрядной Windows?

Да, это штатный режим: 32-разрядные приложения выполняются через подсистему WoW64 без потери функциональности. Ограничение одно — процессу доступно около 2 ГБ адресного пространства, что может проявляться на тяжёлых операциях.

Как узнать разрядность, если 1С запущена на сервере, к которому у меня нет доступа?

Используйте консоль администрирования серверов 1С со своего компьютера: в свойствах рабочих процессов кластера отображается разрядность. Если консоль недоступна, запросите у администратора сервера путь к rphost.exe или скриншот Диспетчера задач.

Влияет ли разрядность клиента на скорость работы базы?

Напрямую — незначительно. Основной эффект проявляется в объёме доступной памяти: 64-разрядный клиент не упирается в потолок около 2 ГБ, поэтому большие отчёты и обработки выполняются стабильнее. На лёгких операциях разница незаметна.

Что будет, если поставить 64-разрядную платформу, а компонента только 32-разрядная?

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

Есть ли разрядность у веб-клиента 1С?

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

Итог

Что важно запомнить

Разрядность запущенной 1С быстрее всего определяется в Диспетчере задач: пометка «(32 бита)» у процесса означает 32-разрядную платформу. Клиент, сервер 1С и СУБД проверяются независимо друг от друга. Перед сменой разрядности обязательно проверьте совместимость всех внешних компонент и драйверов оборудования.