Как настроить работу 1С 7.7 в терминальном режиме на Windows Server 2008 R2?

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

Перевод баз данных «1С:Предприятие 7.7» с устаревших платформ Windows Server 2003 на Windows Server 2008 R2 (x64) часто сопровождается рядом технических сложностей. Поскольку платформа 7.7 является исключительно 32-разрядным приложением, разработанным задолго до появления современных механизмов безопасности и архитектуры Windows Server 2008 R2, администраторам приходится учитывать нюансы подсистемы WoW64, политики предотвращения выполнения данных (DEP), особенности драйверов печати и проверки кодовых страниц. Разберем по шагам все возникающие проблемы и проверенные способы их решения.

Перенос файлов платформы и особенности разрядности

Штатный 16-разрядный инсталлятор старых релизов 1С 7.7 не запускается в 64-битной среде Windows Server 2008 R2. Рассмотрим правильную последовательность установки платформы на сервер:

  1. Выполним установку платформы на любой клиентской рабочей станции с 32-разрядной операционной системой, выбрав административный вариант установки.
  2. Скопируем каталог установленной программы (по умолчанию C:\Program Files\1Cv77) на сервер в каталог C:\Program Files (x86)\1Cv77 либо в специально выделенную директорию, например C:\1S\1Cv77. Во избежание проблем с виртуализацией каталогов (VirtualStore) в условиях включенного UAC размещение платформы вне системных папок Program Files (x86) часто является наиболее надежным решением.
  3. Создадим ярлык для исполняемого файла 1cv7.exe из папки BIN для пользователей терминала.
  4. Зарегистрируем необходимые 32-битные внешние компоненты и библиотеки (такие как v7plus.dll, компоненты сканеров или торгового оборудования). Проанализируем важную деталь: системная утилита regsvr32 из системного каталога по умолчанию вызывает 64-битный регистратор, который не подходит для библиотек платформы 7.7. Регистрацию следует выполнять строго через 32-битный бинарник: C:\Windows\SysWOW64\regsvr32.exe "путь_к_компоненте.dll".

Установка драйверов ключей защиты HASP

Старые версии драйверов ключей аппаратной защиты HASP, идущие в комплекте с дистрибутивами 7.7, несовместимы с 64-битной серверной ОС. Разберем порядок настройки системы лицензирования:

  1. Скачаем и установим официальные 64-разрядные драйверы HASP4 с сайта производителя (Sentinel / Aladdin).
  2. Для сетевых ключей загрузим актуальный менеджер лицензий HASP License Manager.
  3. Обязательно установим и настроим HASP License Manager в режиме системной службы Windows (Service), а не обычного пользовательского приложения, чтобы избежать сбоев при выходе администратора из сессии.

Настройка предотвращения выполнения данных (DEP)

Одной из наиболее частых причин аварийного завершения процесса 1cv7.exe с ошибкой «multi-user обнаружена ошибка» является механизм Data Execution Prevention (DEP). Для стабильного запуска программы выполним следующие действия:

  1. Откроем «Свойства системы» и перейдем на вкладку «Дополнительно».
  2. В разделе «Быстродействие» нажмем кнопку «Параметры» и выберем вкладку «Предотвращение выполнения данных».
  3. Переключим селектор в положение «Включить DEP для всех программ и служб, кроме выбранных ниже:».
  4. Нажмем кнопку «Добавить», перейдем в каталог BIN установленной платформы и укажем исполняемый файл 1cv7.exe (а также 1cv7s.exe или 1cv7l.exe, если они используются).
  5. Применим изменения. В некоторых конфигурациях может потребоваться перезагрузка сервера.

Устранение ошибки «Порядок сортировки базы данных отличается от системного»

В Windows Server 2008 R2 кодовая страница и механизм сортировки строк отличаются от Windows XP и Server 2003. При попытке открытия базы данных платформа блокирует вход с сообщением о несовпадении сортировки. Рассмотрим варианты решения этой задачи в зависимости от типа базы данных:

  1. Штатный перевод на системную кодировку: Запустим базу в режиме «Конфигуратор» монопольно с правами администратора. Откроем меню Администрирование -> Кодовая страница таблиц ИБ, в выпадающем списке выберем пункт + Текущая системная установка и нажмем «ОК». Программа выполнит переиндексацию и пересортировку таблиц. Внимание: после этой операции работа с базой клиентов со старыми операционными системами (Windows XP/2003) напрямую по сети без терминала станет невозможна.
  2. Использование флага отключения проверки сортировки: Если пересортировка нежелательна или требуется временная совместимость, создадим в корневом каталоге базы пустой текстовый файл с именем OrdNoChk.prm. Наличие этого файла указывает платформе релизов 25–27 игнорировать проверку соответствия языковых настроек при старте.
  3. Особенности распределенных баз (УРБД): При использовании компоненты распределенных информационных баз стандартный обмен может завершаться аварийно, если наименования узлов содержат символы кириллицы. Для надежной работы обмена необходимо либо переименовать узлы латиницей, либо использовать пропатченную библиотеку BkEnd.dll с исправленной логикой вызова кодовых страниц.

Организация печати в терминале и решение проблем с драйверами

В 64-битной среде Windows Server 2008 R2 перенаправление принтеров (Printer Redirection) вызывает наибольшее количество сложностей, особенно для принтеров устаревших линеек (Canon LBP, старые модели HP LaserJet). Для организации печати разберем три основных подхода:

  1. Штатный механизм Easy Print (Remote Desktop Easy Print): Позволяет клиентам печатать без установки драйверов конкретных принтеров на сервере, преобразуя задание в XPS-поток. Для этого на клиентах должен быть установлен актуальный клиент RDC и компонент .NET Framework. Минусы решения — повышенное время ожидания первого листа (задержка может составлять от 10 до 30 секунд) и отсутствие расширенных настроек двусторонней печати.
  2. Установка нативных 64-битных драйверов на сервере: Если в локальной групповой политике сервера отключить принудительное использование Easy Print, сервер будет искать соответствие имени драйвера клиента. Для принтеров вроде HP LaserJet 1160 или 2015 потребуется вручную установить на сервер терминалов драйверы версий для Windows 7/2008 x64 или использовать HP Universal Print Driver (UPD).
  3. Сторонние решения виртуализации печати (ScrewDrivers и аналоги): Данный софт полностью решает проблемы с зависанием спулера (spooler), некорректной передачей графики и печатью на принтерах типа Canon CAPT. Клиентская часть ScrewDrivers передает сжатый поток на локальную машину, что обеспечивает быстрое формирование документов из 1С без сбоев.

Совместная работа с Microsoft SQL Server

При использовании клиент-серверного варианта 1С 7.7 на MS SQL Server 2005 или 2008 возникают две основные проблемы: несовместимость встроенного генератора запросов и системного драйвера ODBC. Разберем способы их обхода:

  1. Подмена ODBC драйвера: Стандартный драйвер sqlsrv32.dll в Windows 2008 R2 блокирует устаревшие системные вызовы 1С. Для исправления ситуации часто используют замену файла sqlsrv32.dll и языкового файла sqlsrv32.rll в каталоге C:\Windows\SysWOW64 на версии из Windows Server 2003 / Windows XP с последующей перерегистрацией.
  2. Уровень совместимости базы данных (Compatibility Level): Платформа 7.7 формирует запросы с синтаксисом соединений *= и =*, который полностью исключен в новых версиях SQL Server. В среде SQL Server Management Studio обязательно переключим уровень совместимости базы данных на SQL Server 2000 (80), иначе при формировании сложных отчетов платформа будет возвращать ошибки выполнения T-SQL.
  3. Настройка источника данных: Если подключение настраивается через DSN, запуск утилиты конфигурации ODBC необходимо производить исключительно через 32-битный интерфейс C:\Windows\SysWOW64\odbcad32.exe, так как 64-битные DSN не будут видны из 1С.

Оптимизация скорости запуска и работа с журналом регистрации

Если пользователи сталкиваются с тем, что запуск 1С в терминальной сессии длится более минуты и создает 100% нагрузку на процессор, проанализируем состояние системного журнала регистрации SYSLOG\1cv7.mlg. При достижении размера в десятки и сотни мегабайт последовательная блокировка файла журналов каждым стартующим процессом вызывает критические задержки ввода-вывода. Для восстановления быстродействия переместим или заархивируем старый файл 1cv7.mlg, позволив платформе создать новый чистый журнал событий.

← На главную