В процессе эксплуатации систем на базе 1С:Предприятие 8.3 администраторы и программисты часто сталкиваются с критическим завершением работы сервера. Одной из самых коварных ошибок является сообщение: «на сервере 1с предприятие произошла неисправимая ошибка приложение будет закрыто». При анализе системного журнала событий Windows выясняется, что виновником падения является процесс rphost.exe, а сбойным модулем выступает библиотека 1CBarcodWin64.dll (или её вариации во временных папках). Рассмотрим детально, почему это происходит и как восстановить работоспособность системы.
Для начала проанализируем технические данные сбоя. Код исключения 0xc0000005 однозначно указывает на Access Violation (нарушение прав доступа при обращении к памяти). В нашем случае процесс rphost.exe пытается выполнить операцию в сегменте памяти, который ему не принадлежит или к которому у него нет доступа.
Выясним, почему это случается именно с компонентой штрихкодов v8_4997_1b.1CBarcodWin64_9_0_12_13.dll. Данная библиотека отвечает за формирование QR-кодов и штрихкодов в печатных формах (счета, накладные). Существует три основных сценария, приводящих к катастрофе:
Temp пользователя, под которым запущена служба (обычно это USR1CV8). Если антивирус или политики безопасности Windows блокируют выполнение DLL из временных папок, происходит сбой.Рассмотрим процедуру правильной очистки кэша. Обычного удаления файлов в папке базы данных часто недостаточно. Нам необходимо воздействовать на профиль сервисной учетной записи. Разберем последовательность действий:
C:\Users\USR1CV8\AppData\Local\Temp\
v8_XXXX_XX.dll.C:\Program Files\1cv8\srvinfo\reg_1541\ (удаляем папки snccntx и содержимое папок баз, кроме файлов журналов регистрации).
Важный момент: если после очистки ошибка возвращается через короткое время, значит, база данных при первом же формировании печатной формы снова извлекает «проблемную» компоненту из своих макетов.
Проанализируем ситуацию: если сервер не может корректно запустить библиотеку из Temp, мы можем попробовать зарегистрировать её в системе стационарно. Посмотрим, как это сделать:
1CBarcodWin64.dll (его можно взять из каталога установленной платформы или извлечь из рабочей конфигурации).C:\Windows\System32\.
regsvr32 "C:\Windows\System32\1CBarcodWin64.dll"
Это позволит системе обращаться к библиотеке напрямую, минуя механизмы динамической распаковки во временные папки, которые могут блокироваться защитным ПО.
Выясним, не блокирует ли сама операционная система работу rphost.exe. Функция DEP предотвращает запуск кода из областей памяти, помеченных как «только для данных».
rphost.exe в список исключений.C:\Program Files\1cv8\8.3.18.1363\bin\rphost.exe.Если вышеуказанные действия не помогают, проанализируем систему на наличие «хвостов» старых средств защиты. Часто ошибка 0xc0000005 в паре с 1CBarcod является следствием срабатывания триггера легальности.
Проверим следующие папки на наличие файлов hasp_windows.dll или аналогичных, которые не принадлежат официальной поставке 1С:
C:\Windows\System32\C:\Windows\SysWOW64\bin установленных платформ.Если на сервере использовались эмуляторы, рекомендуется воспользоваться утилитой для полной очистки драйверов HASP и переустановить лицензионный менеджер защиты.
Иногда корень проблемы кроется в том, что в самой конфигурации (например, в 1С:Бухгалтерии 3.0) в общих макетах хранится устаревшая версия компоненты печати штрихкодов. Разберем, как это исправить в режиме Конфигуратора:
КомпонентаПечатиШтрихкодов.Практика показывает, что ветка 8.3.18 имела ряд «детских болезней» в области безопасности и стабильности 64-битных процессов. Если бизнес-процессы позволяют, проанализируем возможность обновления платформы.
Рекомендуется рассмотреть переход на ветки 8.3.21 или 8.3.22. В новых версиях механизмы проверки целостности оптимизированы, а ошибки взаимодействия с библиотеками формирования QR-кодов исправлены на уровне ядра платформы. При переходе на новую ветку не забудьте обновить и версию сервера 1С на всех рабочих станциях (если используется клиент-серверный вариант). Для регулярного обновления нескольких баз, создания архивов и тестирования в «тихом» режиме применяется инструмент для пакетного обновления и обслуживания 1С.
Резюме: в большинстве случаев проблема решается комбинацией полной очистки профиля USR1CV8 и удаления остатков старых систем обхода защиты. Если же печать не работает только для определенных типов контрагентов (например, ИП или физлица), убедитесь, что в расширениях базы не установлены патчи, подменяющие логику формирования QR-кода, так как они могут конфликтовать с актуальной версией библиотеки штрихкодирования.