Почему 1С аварийно завершает работу с ошибкой MSVCR110.dll и кодом c0000005 при работе по сети?

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

Аварийное закрытие программы 1С:Предприятие с ошибкой APPCRASH, модулем MSVCR110.dll и кодом исключения c0000005 (Access Violation) — одна из наиболее коварных неполадок при эксплуатации файловых баз. Характерным симптомом является плавающий сбой: база стабильно функционирует на компьютере, где файлы расположены локально, но регулярно и спонтанно падает у пользователей, подключающихся к ней через общую сетевую папку (SMB-ресурс).

Код c0000005 означает нарушение прав доступа к памяти: процесс пытается прочитать или записать данные по адресу, к которому у него нет доступа. В контексте файловой 1С это практически всегда связано с потерей дескриптора открытого файла 1Cv8.1CD из-за микроразрывов сетевого соединения, агрессивного кэширования Windows или блокировок. Разберем по шагам, как выявить корень проблемы и полностью устранить аварийные завершения.

1. Проверка несоответствия запускаемой версии платформы

Проанализируем журнал событий Windows. Нередко возникает ситуация, когда на рабочих станциях установлено несколько релизов технологической платформы. Например, в операционной системе установлена версия 8.3.9, а журнал регистрации ошибок фиксирует падение исполняемого файла 1cv8c.exe версии 8.3.5:

  1. Проверим ярлык запуска: убедимся, что пользователи запускают программу через общий стартер 1CEStart.exe, а не через прямой ярлык на исполняемый файл в каталоге конкретной устаревшей версии bin\1cv8c.exe.
  2. Откроем свойства информационной базы в окне запуска и проверим поле Версия 1С:Предприятия. Если там жестко задана старая версия (например, 8.3.5), сотрем это значение или укажем актуальную используемую платформу.
  3. Удалим через панель управления все устаревшие промежуточные версии платформы, оставив только единый рабочий релиз на всех компьютерах сети.

2. Настройка параметров протокола SMB и кэширования Windows

По умолчанию сетевой протокол SMB2/SMB3 применяет кэширование метаданных и оппортунистические блокировки (OpLocks / Lease). Они прекрасно ускоряют работу с отдельными документами Office, но приводят к повреждению дескрипторов при одновременной работе нескольких пользователей с единой базой 1Cv8.1CD.

Отключим кэширование каталогов на клиентах, подключающихся по сети. Для этого откроем редактор реестра regedit, перейдем в ветку:

HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters

Создадим или изменим следующие параметры типа DWORD (32 бита), установив их значение в 0:

  1. DirectoryCacheLifetime — значение 0;
  2. FileInfoCacheLifetime — значение 0;
  3. FileNotFoundCacheLifetime — значение 0.

На компьютере, где физически расположена база (хосте сетевой папки), рекомендуется отключить оппортунистические блокировки либо изменить режим аренды каталога (LeasingMode), чтобы локальный дисковый кэш хоста не конфликтовал с клиентами.

3. Настройка параметров сетевых адаптеров и стабильности канала

Файловая база 1С крайне чувствительна к кратковременным сетевым задержкам. Обычные браузеры или копирование файлов не замечают задержки в доли секунды, но для процесса 1С это оборачивается фатальной ошибкой распределения памяти.

Проанализируем сетевые настройки на всех взаимодействующих ПК:

  1. Исключим Wi-Fi соединения: работа с файловой 1С через сетевую шару по беспроводной сети недопустима. Подключение должно осуществляться только по витой паре через проводной Ethernet.
  2. Отключим аппаратные механизмы разгрузки: в диспетчере устройств откроем свойства сетевой карты, перейдем на вкладку Дополнительно и переведем в состояние Disabled следующие параметры:
    • Large Send Offload (LSO);
    • TCP/IPv4 Checksum Offload;
    • Flow Control (Управление потоком);
    • Energy Efficient Ethernet (Green Ethernet).
  3. Отключим энергосбережение: на вкладке Управление электропитанием снимем флаг Разрешить отключение этого устройства для экономии энергии.

4. Сброс пользовательских настроек и очистка кэша

Иногда падение MSVCR110.dll провоцируется поврежденными пользовательскими настройками форм или отчетов (особенно при выводе индикаторов выполнения, динамических списков или диаграмм СКД). Выполним сброс параметров пользователя программным способом:

ОчиститьНастройкиПользователя(ПользователиИнформационнойБазы);

Также удалим каталоги локального кэша на рабочей станции. Для этого закроем все процессы 1С и очистим содержимое каталогов:

  1. %LOCALAPPDATA%\1C\1cv8
  2. %APPDATA%\1C\1cv8

5. Исключения в антивирусном ПО и DEP

Файловые мониторы антивирусов могут блокировать доступ к вспомогательным файлам базы в момент записи, провоцируя сбой c0000005:

  1. Добавим каталог с базой и локальные папки временных файлов в доверенную зону антивируса на обоих компьютерах.
  2. Внесем в список исключений проверки расширения *.1cd, *.cfl, *.TMP, *.lgd, *.lgf.
  3. В свойствах быстродействия системы проверим настройки функции Предотвращение выполнения данных (DEP) — переведем службу в режим работы только для основных компонентов Windows либо добавим исполняемые файлы 1С в список исключений.

6. Радикальные архитектурные решения: RDP и Веб-сервер

Если размер файловой базы превышает 1 Гб, архитектура доступа через общую папку Windows (SMB) неизбежно будет давать сбои. Для надежной работы необходимо перевести пользователей на бесконфликтные варианты доступа:

  1. Подключение через Remote Desktop (RDP): все пользователи работают в терминальных сессиях непосредственно на том компьютере, где физически хранится файл базы. Работа с диском ведется локально, влияние сетевых задержек исключено.
  2. Публикация файловой базы на веб-сервере (IIS или Apache):
    • На компьютере с базой устанавливается и настраивается локальный веб-сервер.
    • База публикуется средствами конфигуратора (меню Администрирование → Публикация на веб-сервере).
    • Пользователи на удаленных рабочих станциях подключаются через тонкий клиент по протоколу HTTP/HTTPS вместо пути к общей папке.
    • В этом режиме всю прямую работу с файлом 1Cv8.1CD выполняет веб-сервер, а клиенты получают сериализованные данные, что полностью защищает от сбоев MSVCR110.dll и не требует покупки серверной лицензии 1С.
← На главную