← На главную
При выборе дистрибутива платформы 1С:Предприятие для операционных систем Windows часто возникает вопрос: что именно представляет собой 64-разрядная версия платформы? Является ли она полноценным 64-битным клиентом или же 64-разрядным остается только серверная часть? Разберем архитектурные особенности платформы x64, ее преимущества, ограничения и сценарии, в которых ее внедрение технически обосновано.
Архитектура 64-разрядной платформы 1С:Предприятие
Платформа 1С:Предприятие под Windows x64 содержит полностью скомпилированные 64-разрядные исполняемые файлы клиентских приложений. В состав полного x64-дистрибутива входят:
- Тонкий клиент (доступен как в составе полного пакета, так и в виде отдельного компактного дистрибутива).
- Толстый клиент.
- Конфигуратор (
1cv8.exe). - Серверные службы и компоненты администрирования кластера серверов.
Разрядность клиентского приложения не зависит от разрядности сервера 1С: 32-разрядный клиент может без проблем подключаться к 64-разрядному серверу, и наоборот. В окне запуска баз разрядность можно настраивать индивидуально для каждой информационной базы в свойствах подключения (доступны варианты 32 (x86), 64 (x86_64) или Выбирать автоматически).
Главное преимущество: преодоление лимита оперативной памяти
Основное отличие 64-битного клиента от 32-битного — это размер доступного виртуального адресного пространства. Для 32-разрядного процесса в Windows адресное пространство одного приложения ограничено 2 ГБ (в редких случаях расширяется до 3–4 ГБ). Если процесс платформы требует больше памяти, приложение аварийно завершает работу с ошибкой «Недостаточно памяти» (Out of Memory).
Рассмотрим типовые сценарии, в которых переход на 64-битный клиент полностью решает проблему:
- Сравнение и объединение масштабных конфигураций: при обновлении тяжелых конфигураций (таких как 1С:ERP или Комплексная автоматизация) 32-битный конфигуратор нередко падает на этапе построения дерева сравнения метаданных. 64-разрядный конфигуратор способен адресовать десятки гигабайт памяти, исключая падение процесса.
- Выгрузка и загрузка больших информационных баз: создание архивной копии в файл выгрузки
.dt или загрузка базы через конфигуратор для крупных узлов требует выделения непрерывных блоков памяти под кэш и таблицы. - Формирование сложных аналитических отчетов: при расчете тяжелых отчетов с большим объемом выборки в толстом клиенте снятие ограничения в 2–4 ГБ позволяет довести операцию до конца.
- Групповая обработка данных: пакетное проведение документов или регламентные пакетные выгрузки, выполняемые на стороне клиента.
Ограничения и потенциальные проблемы при переходе на x64
Несмотря на очевидное преимущество в объеме доступной памяти, использование 64-битного клиента сопряжено с рядом технических особенностей:
- Увеличенный расход оперативной памяти: из-за перехода на 64-битные указатели (8 байт вместо 4 байт) общий объем потребляемой процессом памяти возрастает на 20–40% при выполнении абсолютно тех же самых операций по сравнению с x32.
- Несовместимость с 32-битными COM-объектами и DLL: 64-разрядный процесс платформы 1С физически не может загрузить в свое адресное пространство 32-разрядную динамическую библиотеку. Если в коде конфигурации используется вызов устаревших внешних библиотек через
Новый COMОбъект(...), 64-битный клиент вернет ошибку создания объекта. - Драйверы торгового оборудования: многие производители сканеров, фискальных регистраторов, весов и терминалов эквайринга поставляют драйверы исключительно в 32-битном варианте. При запуске 64-битного клиента работа с таким оборудованием без дополнительных прослоек станет невозможной.
- Внешние компоненты (Native API): внешняя компонента должна содержать скомпилированный 64-битный бинарный модуль, прописанный в файле манифеста.
Способы решения конфликтов разрядности
Если для решения тяжелых задач требуется использовать 64-битную платформу, но при этом необходимо сохранить интеграцию с 32-битными библиотеками, проанализируем следующие способы организации работы:
- Использование суррогатных процессов Windows (COM+): устаревшие 32-битные COM-библиотеки регистрируются в оснастке «Службы компонентов» (COM+) в качестве серверных приложений. В этом случае вызовы обрабатываются системным процессом
dllhost.exe, выступающим в роли моста между 64-битным клиентом 1С и 32-битной библиотекой. - Разделение профилей пользователей: на рабочих местах кассиров, кладовщиков и операторов с подключенным оборудованием настраивается запуск 32-разрядного тонкого клиента. На рабочих местах разработчиков, аналитиков и администраторов устанавливается 64-разрядная платформа.
- Вынос взаимодействия с оборудованием в веб-сервисы: подключение торгового оборудования организуется через локальные службы или веб-серверы оборудования, а пользователи работают через веб-клиент или стандартный клиент x64 без прямой привязки к x86-драйверам.