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

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

При совместной работе с файловой базой данных 1С через сетевой общий ресурс (папку Windows) пользователи нередко сталкиваются с внезапным аварийным закрытием программы 1cv8.exe. При этом 1С закрывается без отображения штатного диалогового окна с ошибкой, а в журнале событий Windows (Просмотр событий) фиксируется ошибка приложения с указанием сбойного модуля MSVCR110.dll или MSVCR120.dll. Разберем по шагам, почему возникает эта неполадка и как стабилизировать работу информационной базы.

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

Проанализируем ситуацию: на компьютере, где физически лежит файл 1Cv8.1CD, программа работает стабильно. Однако на клиентских машинах при выполнении ресурсоемких операций (формирование отчетов, анализ движений товаров, проведение документов) происходит падение процесса. Причины этого кроются в специфике файлового режима и сетевого протокола SMB:

  1. Разрыв сетевых блокировок (SMB Oplocks): протокол SMB применяет кэширование и оппортунистические блокировки файлов. При интенсивном чтении и записи микрозадержка в передаче пакетов приводит к сбросу дескриптора открытого файла, из-за чего библиотека рантайма C++ (MSVCR110.dll) мгновенно прекращает выполнение процесса.
  2. Энергосбережение и аппаратная разгрузка сетевой карты: активация режимов экономии энергии сетевого адаптера или механизмов Large Send Offload кратковременно подвешивает сетевой поток, что критично для файловой 1С.
  3. Мусорные служебные и временные файлы: наличие старых файлов блокировок *.cfl, временных файлов *.tmp и поврежденного локального кэша сеансов провоцирует коллизии доступа.
  4. Блокировка антивирусным ПО: сканирование антивирусом сетевых пакетов или самого файла базы при обращении клиента вызывает задержку ввода-вывода.

Способ 1. Очистка каталога базы и локального кэша

Рассмотрим первичные действия по очистке служебных файлов, которые могут мешать корректному захвату таблиц базы:

  1. Завершим все сеансы пользователей на всех компьютерах.
  2. Перейдем в каталог с информационной базой и скопируем файл 1Cv8.1CD в резервное место.
  3. Удалим из каталога базы все сторонние файлы, оставив исключительно файл 1Cv8.1CD (будут удалены файлы блокировок *.cfl, временные файлы и журнал регистрации, если требуется полная очистка).
  4. Очистим кэш конфигурации и пользователя на клиентском компьютере. Для этого удалим содержимое каталогов:

    %AppData%\1C\1cv8\

    %LocalAppData%\1C\1cv8\

  5. Переподключим базу в списке запуска 1С, указав корректный сетевой путь без использования спецсимволов и кириллицы в сетевом имени.

Способ 2. Настройка параметров сетевой карты и схемы питания

Разберем параметры сетевого адаптера на стороне сервера (хоста с базой) и на стороне клиентского рабочего места:

  1. Откроем Диспетчер устройств в Windows, развернем категорию Сетевые адаптеры и откроем свойства используемой сетевой карты.
  2. На вкладке Управление электропитанием снимем флаг «Разрешить отключение этого устройства для экономии энергии».
  3. Перейдем на вкладку Дополнительно и переведем в значение Disabled (Отключено) следующие параметры:

    — Large Send Offload v2 (IPv4) / Разгрузка большого отправления

    — Large Send Offload v2 (IPv6)

    — Energy Efficient Ethernet / Green Ethernet / Энергосберегающий Ethernet

    — IPv4 Checksum Offload (при наличии нестабильности на интегрированных контроллерах)

  4. В настройках электропитания Windows установим схему «Высокая производительность» и запретим отключение жестких дисков при простое.

Способ 3. Проверка целостности информационной базы

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

  1. Обязательно создадим резервную копию базы данных.
  2. Запустим утилиту проверки целостности chdbfl.exe, расположенную в каталоге bin установленной платформы 1С (например, C:\Program Files (x86)\1cv8\8.3.X.X\bin\chdbfl.exe). Выберем файл базы и установим флаг «Исправлять обнаруженные ошибки».
  3. Откроем базу в режиме Конфигуратор, перейдем в меню Администрирование -> Тестирование и исправление... и выполним тестирование с включенными опциями «Реиндексация таблиц информационной базы» и «Проверка логической целостности».

Способ 4. Добавление исключений в антивирус и Защитник Windows

Выясним, как предотвратить блокировку файлов службами безопасности. На хосте с базой и на клиентских ПК добавим в список исключений антивируса:

  1. Каталог с файлом базы данных.
  2. Исполняемые файлы платформы 1cv8.exe и 1cv8c.exe.
  3. Маски файлов: *.1CD, *.1cd, *.cfl, *.tmp, *.pfl.

Архитектурное решение: публикация на веб-сервере (IIS / Apache)

Важно понимать: прямое открытие файловой базы через общий доступ Windows (расшаренную папку) является архитектурно ненадежным механизмом для многопользовательской работы. Любой микросбой сети может приводить к аварийному завершению сеанса и повреждению базы данных.

Наиболее эффективное и правильное решение проблемы без перехода на клиент-серверный вариант (SQL) — публикация файловой базы на локальном веб-сервере (IIS или Apache):

  1. На компьютере, где расположена база данных, устанавливается и настраивается веб-сервер (например, встроенный в Windows IIS).
  2. В Конфигураторе 1С через меню Администрирование -> Публикация на веб-сервере... выполняется публикация информационной базы.
  3. Клиентские рабочие места подключаются к базе через тонкий клиент 1С по протоколу HTTP или HTTPS, указывая веб-адрес (например, http://имя_компьютера/base_retail).

При таком подходе с файлом 1Cv8.1CD взаимодействует только локальный процесс веб-сервера, а по сети передаются готовые сжатые данные. Это полностью устраняет зависимость от сетевых блокировок Windows SMB и исключает вылеты клиента из-за сбоев библиотеки MSVCR110.dll.

← На главную