Почему зависает сеанс 1С:Предприятие при одновременной работе нескольких пользователей и как это исправить?

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

Ситуация, когда небольшая рабочая группа из 3–5 человек сталкивается с внезапными зависаниями, блокировками интерфейса и аварийным закрытием программы, крайне распространена в файловом режиме работы 1С. Даже при переносе базы данных на быстрый твердотельный накопитель (SSD) проблема часто сохраняется, так как её корень кроется не в скорости чтения диска, а в специфике сетевых файловых блокировок Windows, особенностях выполнения фоновых задач и архитектуре управляемых форм. Разберем по шагам, почему возникает эта проблема и как комплексно оптимизировать систему для стабильной работы.

Анализ причин: почему файловая база на управляемых формах начинает тормозить

Конфигурации на управляемых формах (такие как «Бухгалтерия предприятия», «Бухгалтерия для Казахстана 3.0», «Управление торговлей 11») генерируют непрерывный поток мелких транзакций и запросов к метаданным. Когда база размещена в обычной общей сетевой папке (доступ по протоколу SMB), каждый клиентский компьютер постоянно блокирует системные участки единого файла 1Cv8.1CD. В результате возникают так называемые «дедлоки» (взаимные блокировки файлового дескриптора), и интерфейс зависает у всех пользователей одновременно.

Проанализируем основные технические факторы, приводящие к сбою:

  1. Конфликты сетевого кэширования SMB: Механизмы оппортунистических блокировок (SMB Leases / Oplocks) операционной системы Windows блокируют доступ к файлу базы при одновременном обращении нескольких рабочих станций.
  2. Служебные файлы блокировок: Накопление временных файлов с расширениями .cfl, .lck и временных журналов в каталоге базы данных нарушает нормальную синхронизацию сеансов.
  3. Фоновые и регламентные задания: В файловом режиме нет выделенного сервера приложений, поэтому регламентные задачи запускаются внутри клиентского сеанса одного из пользователей, парализуя его работу на время выполнения.
  4. Блокировка антивирусным ПО: Фоновое сканирование растущего файла базы и временных файлов при каждой транзакции приводит к образованию огромной очереди к диску.

Решение 1. Очистка каталога базы от мусорных файлов и снятие блокировок

Начнем восстановление с базовой очистки рабочей папки с информационной базой. За время некорректных вылетов клиентов в каталоге остаются висящие сессионные файлы.

Выполним процедуру по следующим шагам:

  1. Завершим работу всех пользователей в программе (принудительно закрыв зависшие процессы 1cv8.exe и 1cv8c.exe через Диспетчер задач на компьютерах сотрудников).
  2. Создадим резервную копию каталога с базой путем простого копирования файла 1Cv8.1CD на внешний накопитель.
  3. Откроем папку с базой данных и удалим все файлы и служебные каталоги, кроме самого файла 1Cv8.1CD. Особенно важно удалить файлы с расширениями .cfl, .lck, а также временные файлы 1Cv8tmp.*.

Решение 2. Перевод информационной базы на публикацию через веб-сервер

Перевод файловой базы на веб-сервер (Apache или IIS) — наиболее эффективное решение проблемы зависаний без покупки дорогостоящих клиент-серверных лицензий. В этой схеме компьютеры пользователей больше не обращаются к файлу 1Cv8.1CD напрямую по сети через общую папку. С файлом на локальном диске взаимодействует исключительно веб-сервер, транслируя данные клиентам по протоколам HTTP/HTTPS. Это полностью исключает сетевые дедлоки SMB.

Разберем процесс публикации на примере веб-сервера Apache:

  1. Установим веб-сервер Apache актуальной сборки на основной компьютер с базой данных (разрядность веб-сервера x86 или x64 должна строго совпадать с разрядностью установленной платформы 1С).
  2. Запустим Конфигуратор 1С от имени Администратора.
  3. Откроем пункт главного меню Администрирование → Публикация на веб-сервере....
  4. Зададим имя публикации (латинскими буквами без пробелов), укажем тип веб-сервера и каталог для хранения файла конфигурации публикации default.vrd.
  5. Нажмем кнопку Опубликовать и перезапустим службу веб-сервера.
  6. В окне запуска 1С на компьютерах пользователей изменим способ подключения: вместо сетевого пути выберем пункт «На веб-сервере» и укажем URL-адрес публикации, например: http://имя_компьютера/base.

Решение 3. Отключение и оптимизация регламентных заданий в файловом режиме

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

Выполним настройку регламентных заданий:

  1. Зайдем в режим «1С:Предприятие» с правами администратора.
  2. Перейдем в раздел Администрирование → Обслуживание → Регламентные и фоновые задания.
  3. Проанализируем список активных заданий. Рекомендуется отключить автоматический запуск таких тяжелых задач, как «Слияние индексов ППД» (полнотекстовый поиск), «Обновление индекса ППД», «Автоматическое извлечение текстов», «Загрузка курсов валют» и «Загрузка классификаторов».
  4. Для полнотекстового поиска можно либо полностью отключить функционал в разделе «Администрирование» → «Общие настройки» → «Поиск данных», либо настроить расписание слияния индексов на ночные часы.

Решение 4. Оптимизация сетевого протокола SMB и сетевых карт

Если перевод на веб-сервер по каким-то причинам откладывается и подключение временно осуществляется через общую папку, необходимо отключить кэширование дескрипторов Windows, вызывающее зависания.

Откроем консоль PowerShell на главном компьютере (где физически лежит база) с правами Администратора и выполним команду отключения механизма лизинга SMB:

Set-SmbServerConfiguration -EnableLeasing $false -Force

Дополнительно на всех компьютерах настроим параметры сетевых адаптеров:

  1. Откроем Диспетчер устройств → Сетевые адаптеры → Свойства рабочего адаптера.
  2. На вкладке Управление электропитанием снимем флажок «Разрешить отключение этого устройства для экономии энергии».
  3. На вкладке Дополнительно отключим аппаратные разгрузки, приводящие к потере сетевых пакетов 1С: параметры Large Send Offload (LSO), IPv4 Checksum Offload и Flow Control (Управление потоком).

Решение 5. Добавление каталогов и процессов в исключения антивируса

Проверим влияние защитного ПО. Сканирование многогигабайтного файла при каждом обращении может блокировать доступ на десятки секунд.

На компьютере с базой и на клиентских ПК добавим в список исключений антивируса (включая встроенный Защитник Windows):

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

Решение 6. Очистка пользовательского кэша и пересоздание таблиц базы

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

Для очистки кэша на каждом клиентском компьютере закроем 1С и очистим содержимое каталогов:

  1. %LocalAppData%\1C\1cv8
  2. %AppData%\1C\1cv8

Для устранения накопившейся внутренней фрагментации самого файла базы данных выполним операцию выгрузки и загрузки:

  1. Запустим Конфигуратор, откроем меню Администрирование → Выгрузить информационную базу... и сохраним файл с расширением .dt.
  2. Создадим в окне запуска новую пустую информационную базу в отдельной чистой папке.
  3. Откроем Конфигуратор созданной базы и выберем Администрирование → Загрузить информационную базу..., указав ранее сохраненный .dt-файл.

Такая процедура полностью пересоздает физическую структуру таблиц, индексов и удаляет внутренний «мусор», накопившийся в процессе динамических обновлений программы.

← На главную