Является ли 64-разрядная платформа 1С для Windows полноценным клиентом и когда ее нужно использовать?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При выборе дистрибутива платформы 1С:Предприятие для операционных систем Windows часто возникает вопрос: что именно представляет собой 64-разрядная версия платформы? Является ли она полноценным 64-битным клиентом или же 64-разрядным остается только серверная часть? Разберем архитектурные особенности платформы x64, ее преимущества, ограничения и сценарии, в которых ее внедрение технически обосновано.

Архитектура 64-разрядной платформы 1С:Предприятие

Платформа 1С:Предприятие под Windows x64 содержит полностью скомпилированные 64-разрядные исполняемые файлы клиентских приложений. В состав полного x64-дистрибутива входят:

  1. Тонкий клиент (доступен как в составе полного пакета, так и в виде отдельного компактного дистрибутива).
  2. Толстый клиент.
  3. Конфигуратор (1cv8.exe).
  4. Серверные службы и компоненты администрирования кластера серверов.

Разрядность клиентского приложения не зависит от разрядности сервера 1С: 32-разрядный клиент может без проблем подключаться к 64-разрядному серверу, и наоборот. В окне запуска баз разрядность можно настраивать индивидуально для каждой информационной базы в свойствах подключения (доступны варианты 32 (x86), 64 (x86_64) или Выбирать автоматически).

Главное преимущество: преодоление лимита оперативной памяти

Основное отличие 64-битного клиента от 32-битного — это размер доступного виртуального адресного пространства. Для 32-разрядного процесса в Windows адресное пространство одного приложения ограничено 2 ГБ (в редких случаях расширяется до 3–4 ГБ). Если процесс платформы требует больше памяти, приложение аварийно завершает работу с ошибкой «Недостаточно памяти» (Out of Memory).

Рассмотрим типовые сценарии, в которых переход на 64-битный клиент полностью решает проблему:

  1. Сравнение и объединение масштабных конфигураций: при обновлении тяжелых конфигураций (таких как 1С:ERP или Комплексная автоматизация) 32-битный конфигуратор нередко падает на этапе построения дерева сравнения метаданных. 64-разрядный конфигуратор способен адресовать десятки гигабайт памяти, исключая падение процесса.
  2. Выгрузка и загрузка больших информационных баз: создание архивной копии в файл выгрузки .dt или загрузка базы через конфигуратор для крупных узлов требует выделения непрерывных блоков памяти под кэш и таблицы.
  3. Формирование сложных аналитических отчетов: при расчете тяжелых отчетов с большим объемом выборки в толстом клиенте снятие ограничения в 2–4 ГБ позволяет довести операцию до конца.
  4. Групповая обработка данных: пакетное проведение документов или регламентные пакетные выгрузки, выполняемые на стороне клиента.

Ограничения и потенциальные проблемы при переходе на x64

Несмотря на очевидное преимущество в объеме доступной памяти, использование 64-битного клиента сопряжено с рядом технических особенностей:

  1. Увеличенный расход оперативной памяти: из-за перехода на 64-битные указатели (8 байт вместо 4 байт) общий объем потребляемой процессом памяти возрастает на 20–40% при выполнении абсолютно тех же самых операций по сравнению с x32.
  2. Несовместимость с 32-битными COM-объектами и DLL: 64-разрядный процесс платформы 1С физически не может загрузить в свое адресное пространство 32-разрядную динамическую библиотеку. Если в коде конфигурации используется вызов устаревших внешних библиотек через Новый COMОбъект(...), 64-битный клиент вернет ошибку создания объекта.
  3. Драйверы торгового оборудования: многие производители сканеров, фискальных регистраторов, весов и терминалов эквайринга поставляют драйверы исключительно в 32-битном варианте. При запуске 64-битного клиента работа с таким оборудованием без дополнительных прослоек станет невозможной.
  4. Внешние компоненты (Native API): внешняя компонента должна содержать скомпилированный 64-битный бинарный модуль, прописанный в файле манифеста.

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

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

  1. Использование суррогатных процессов Windows (COM+): устаревшие 32-битные COM-библиотеки регистрируются в оснастке «Службы компонентов» (COM+) в качестве серверных приложений. В этом случае вызовы обрабатываются системным процессом dllhost.exe, выступающим в роли моста между 64-битным клиентом 1С и 32-битной библиотекой.
  2. Разделение профилей пользователей: на рабочих местах кассиров, кладовщиков и операторов с подключенным оборудованием настраивается запуск 32-разрядного тонкого клиента. На рабочих местах разработчиков, аналитиков и администраторов устанавливается 64-разрядная платформа.
  3. Вынос взаимодействия с оборудованием в веб-сервисы: подключение торгового оборудования организуется через локальные службы или веб-серверы оборудования, а пользователи работают через веб-клиент или стандартный клиент x64 без прямой привязки к x86-драйверам.
← На главную