32-разрядный клиент 1С 8.3 рядом с 64-разрядным: настройка, ярлыки, память
Содержание
Чтобы запустить 1С 32 битную версию, установите 32-разрядный дистрибутив платформы той же версии, что и 64-разрядный, затем в окне запуска выделите базу, нажмите Изменить и на последней странице мастера выберите в поле Разрядность значение 32 (x86). Второй способ — ярлык прямо на C:\Program Files (x86)\1cv8\<версия>\bin\1cv8.exe. Обе разрядности спокойно живут на одном компьютере и на одном сервере Windows.
Типичная ситуация: бухгалтер переехал на новый ноутбук, 1С поставили «как обычно» в 64 бита, и перестал работать старый драйвер фискального регистратора или обработка загрузки из DBF. Вся разница — в разрядности процесса 1cv8.exe. Ниже — как её проверить, переключить и что делать с памятью, которой у 32-битного клиента всегда мало.
Как понять, какая разрядность 1С у вас установлена и запущена
Сначала выясните, что стоит на компьютере. Платформы разной разрядности ставятся в разные каталоги:
| Каталог | Что в нём |
|---|---|
C:\Program Files\1cv8\ | 64-разрядная платформа |
C:\Program Files (x86)\1cv8\ | 32-разрядная платформа |
Внутри каждого каталога — подпапки с номерами версий, например 8.3.24.1586. Если папка с нужной версией есть только в Program Files, 32-битного клиента этой версии у вас нет.
Теперь проверьте, что запущено прямо сейчас:
- Откройте базу в режиме 1С:Предприятие.
- Нажмите
Ctrl+Shift+Escи перейдите в диспетчере задач на вкладкуПодробности. - Щёлкните правой кнопкой по заголовку любой колонки →
Выбрать столбцы→ включитеПлатформа. - Найдите процесс
1cv8.exe(толстый клиент) или1cv8c.exe(тонкий клиент). В колонке будет32 битаили64 бита.
На вкладке Процессы у 32-битного процесса к имени дописано «(32 бита)» — это самый быстрый признак.
💡 В самой программе версию показывает окно Справка → О программе (в интерфейсе «Такси» — через главное меню в левом верхнем углу). У 64-разрядного клиента в строке версии стоит пометка x86-64.
Зачем вообще нужен 32-битный клиент
- 🔌 Внешние компоненты и драйверы торгового оборудования, которые существуют только в 32-битной сборке.
- 📂 Обработки, читающие DBF, старые XLS или Access через
Microsoft.Jet.OLEDB.4.0— этот провайдер есть только в 32 битах. - 🧩 COM-объекты сторонних программ (банк-клиенты, старые библиотеки печати), зарегистрированные как 32-битные.
- 🔗 Внешние 32-битные приложения, которые подключаются к 1С через
V83.COMConnector: им нужен 32-битныйcomcntr.dll.
Если ничего из списка не мешает — работайте в 64 битах. Это стабильнее при тяжёлых отчётах.
Установка 32-разрядной платформы рядом с 64-разрядной
Дистрибутивы публикуются раздельно: «Технологическая платформа 1С:Предприятия для Windows» — это 32 бита, а вариант с пометкой 64-bit — 64 бита. Скачайте 32-битный архив той же версии, что уже установлена, и запустите из него setup.exe.
- В мастере установки выберите компоненты. Для рабочего места достаточно
1С:Предприятие(толстый клиент) и при необходимости тонкого клиента . - Модуль расширения веб-сервера и сервер на клиентском компьютере не ставьте, если они не нужны.
- Драйвер защиты устанавливайте, только если у вас аппаратный ключ HASP и драйвер ещё не стоит.
- После установки в
C:\Program Files (x86)\1cv8\появится папка с номером версии.
Программный ключ лицензии от разрядности не зависит: 32- и 64-битный клиент одной версии на одном компьютере используют одну и ту же лицензию.
Для клиент-серверной базы версия клиента должна совпадать с версией сервера до последней цифры. А вот разрядность совпадать не обязана: 32-битный клиент нормально работает с 64-битным сервером.
Способы запустить базу в 32-битном режиме
Выбор способа зависит от того, нужен ли 32-битный режим для одной базы или для всех.
| Способ | Когда подходит | Минусы |
|---|---|---|
| Разрядность в свойствах базы | Одна-две базы, нужен обычный запуск из списка | Настройка хранится в списке баз пользователя |
Ярлык на 1cv8.exe из Program Files (x86) | Отдельный ярлык под конкретную задачу | После обновления платформы путь меняется |
| Удалить 64-битную платформу | Весь компьютер работает только в 32 битах | Теряете выигрыш по памяти во всех базах |
Способ 1. Указать разрядность в свойствах информационной базы
- Запустите 1С обычным ярлыком — откроется окно со списком баз.
- Выделите нужную базу и нажмите
Изменить. - Пройдите мастер кнопкой
Далеедо последней страницы. - В поле
Разрядностьвыберите32 (x86). Если нужна конкретная сборка, заполните и полеВерсия 1С:Предприятия, например8.3.24.1586. - Нажмите
Готовои запустите базу.
При значении Любая стартовый модуль 1cestart.exe, как правило, берёт 64-разрядную платформу, если она установлена. Поэтому без явной настройки база продолжит открываться в 64 битах.
Способ 2. Ярлык с параметрами командной строки
Создайте на рабочем столе ярлык и в поле Объект укажите путь к 32-битному исполняемому файлу и параметры базы.
Файловая база:
"C:\Program Files (x86)\1cv8\8.3.24.1586\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh"
Серверная база:
"C:\Program Files (x86)\1cv8\8.3.24.1586\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh"
Для тонкого клиента замените 1cv8.exe на 1cv8c.exe и уберите слово ENTERPRISE. Можно сразу передать пользователя: /N"Иванов" /P"пароль", но пароль в ярлыке виден любому, кто откроет его свойства.
💡 Чтобы ярлык не ломался при каждом обновлении, сделайте bat-файл, в котором номер версии вынесен в переменную:
@echo off
set V=8.3.24.1586
start "" "C:\Program Files (x86)\1cv8\%V%\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh"
После обновления платформы правите одну строку.
Что можно настроить в 1cestart.cfg
Файл 1cestart.cfg управляет стартовым модулем. Пользовательский лежит в %APPDATA%\1C\1CEStart\1cestart.cfg, общий для всех пользователей компьютера — в %ALLUSERSPROFILE%\1C\1CEStart\1cestart.cfg. Это обычный текстовый файл, править его можно в Блокноте при закрытой 1С.
Параметры, которые пригодятся в нашем случае:
| Параметр | Что делает |
|---|---|
DefaultVersion | Версия платформы по умолчанию, например DefaultVersion=8.3.24.1586 |
InstalledLocation | Каталоги, где стартовый модуль ищет установленные платформы |
AppAutoInstallLastVersion | 0 — не переходить автоматически на последнюю установленную версию |
CommonInfoBases | Путь к общему файлу списка баз (.v8i) для всех пользователей |
Пример, который фиксирует версию и отключает самопроизвольное переключение:
DefaultVersion=8.3.24.1586
AppAutoInstallLastVersion=0
Разрядность конкретной базы надёжнее задавать через её свойства (способ 1): мастер запишет настройку в список баз сам. Если списки баз раздаёт администратор через CommonInfoBases, настройте разрядность в мастере на одном компьютере и распространите получившийся .v8i.
32-битная 1С на Windows Server и терминальном сервере
Windows Server 2016 и новее существует только в 64-битном варианте, но 32-битные программы на нём запускаются через подсистему WoW64. Поэтому 32-битный клиент на терминальном сервере (RDS) ставится и настраивается так же, как на рабочей станции.
Что учесть на сервере:
- 👥 Настройки
1cestart.cfgи список баз у каждого пользователя свои. Для массовой настройки используйте общий файл в%ALLUSERSPROFILE%иCommonInfoBases. - 🖥️ Если клиент публикуется как RemoteApp, публикуйте
1cestart.exeили конкретный 32-битный1cv8.exe— в зависимости от того, нужен ли выбор базы из списка. - 💾 Каждый пользователь запускает свой процесс
1cv8.exe. Двадцать 32-битных толстых клиентов по 1,5 ГБ — это 30 ГБ оперативной памяти сервера.
COM-соединение для 32-битных приложений
Частый сценарий на сервере — внешняя 32-битная программа обращается к 1С через V83.COMConnector. Ей нужен зарегистрированный 32-битный comcntr.dll. Регистрируют его 32-битной утилитой из SysWOW64, в командной строке от имени администратора:
C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.24.1586\bin\comcntr.dll"
64-битный comcntr.dll регистрируется отдельно, через C:\Windows\System32\regsvr32.exe. Обе регистрации могут существовать одновременно. После обновления платформы регистрацию повторяют для новой версии.
А сам сервер 1С в 32 битах?
Сервер 1С:Предприятия тоже бывает 32- и 64-разрядным, и на 64-битной Windows Server можно поставить любой. Но лицензия на 32-битный сервер позволяет запускать только 32-битный сервер, а лицензия на 64-битный — оба варианта. На практике 32-битный сервер оставляют только ради старых 32-битных внешних компонент, которые выполняются на стороне сервера. Рабочему процессу rphost в 32 битах памяти не хватает уже на средней базе.
Ошибки после перехода на 32 бита и как их снять
Если 32-битная компонента нужна только для одной операции (печать чека, загрузка файла), не переводите на 32 бита всю работу. Сделайте отдельный ярлык для этой базы или этого рабочего места, а остальное оставьте в 64 битах.
Нехватка памяти в 32-битном клиенте: диагностика и что реально помогает
32-битному процессу доступно не больше 4 ГБ адресного пространства, и то только на 64-битной Windows. На 32-битной Windows по умолчанию — 2 ГБ. Сколько бы памяти ни стояло в компьютере, 32-битная 1С выше этой планки не поднимется.
Миф про «ключ /X»
В интернете встречается совет запускать 1С с неким ключом, который «увеличивает память». У 1cv8.exe такого параметра запуска нет. Память 32-битного процесса ограничивает Windows, а не 1С.
Что на самом деле влияет на лимит:
- 🪟 На 32-битной Windows 7 и новее пользовательское пространство можно расширить до 3 ГБ командой
bcdedit /set increaseuserva 3072с перезагрузкой. Ядру Windows при этом остаётся меньше памяти, и драйверы иногда начинают сбоить. - 🧱 Использовать больше 2 ГБ процесс может, только если его исполняемый файл помечен флагом большого адресного пространства (Large Address Aware). Проверить флаг можно утилитой
dumpbin /headersиз Visual Studio. Патчить файлы платформы сторонними программами не стоит: это модификация продукта, и после обновления правка всё равно пропадёт. - 🚀 Самый действенный путь — 64-битный клиент. Память ему доступна практически вся, что есть на компьютере.
Как поймать утечку или «тяжёлую» операцию
- Откройте диспетчер задач, вкладку
Подробности, и добавьте колонкуПамять (частный рабочий набор). - Повторите действие, после которого 1С падает: сформируйте отчёт, проведите документ, загрузите файл.
- Следите за ростом памяти процесса
1cv8.exe. Если она растёт и после закрытия формы не возвращается, а с каждым повтором прибавляется, — похоже на утечку в обработке или внешней компоненте. - Для точной картины используйте Монитор ресурсов (
resmon) или Process Explorer: в них видно пиковое значение.
Когда процесс подходит к 1,5–2 ГБ, 32-битная 1С выдаёт Недостаточно памяти или просто закрывается без сообщения.
Что сделать, если без 32 бит не обойтись
- 📅 Формируйте тяжёлые отчёты частями: по кварталу вместо года, по одной организации вместо всех.
- 🗂️ Закрывайте лишние формы и вкладки: каждая открытая форма держит данные в памяти клиента.
- 🔀 Разделите работу: обмен с оборудованием — в 32-битном клиенте, отчёты и закрытие месяца — в 64-битном.
- 🌐 Для файловой базы с тяжёлыми отчётами переходите на тонкий клиент через веб-сервер или на клиент-серверный вариант: запросы выполняются на сервере, а клиент получает только результат.
Для 64-битного сервера 1С память рабочих процессов ограничивают в свойствах кластера (Допустимый объем памяти и Интервал превышения допустимого объема памяти). Когда rphost превышает лимит дольше заданного интервала, кластер его перезапускает, и сеансы пользователей на этом процессе обрываются. Меняйте эти параметры вне рабочего времени и предупредив пользователей.