Что делать, если при запуске 1С под определенным пользователем диск стремительно заполняется временными файлами?

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

Ситуация, когда при входе в информационную базу 1С под конкретной учетной записью системный диск начинает мгновенно заполняться «мусором», является критической. Это не только блокирует работу данного пользователя, но и может привести к остановке всего сервера или рабочих станций из-за нехватки свободного места. Как правило, этот «мусор» представляет собой тысячи файлов с расширением .tmp, которые генерируются платформой в геометрической прогрессии.

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

Шаг 1. Идентификация типа файлов и локализация проблемы

Прежде всего, нам необходимо убедиться, что именно создает нагрузку. Как было отмечено в обсуждении, чаще всего это файлы tmp в пользовательских каталогах временных файлов. Выясним важный момент: если проблема сохраняется даже при смене учетной записи Windows (но при использовании того же пользователя 1С), значит, причина кроется не в локальном профиле операционной системы, а внутри настроек самой базы данных 1С или в алгоритмах, привязанных к конкретному пользователю системы.

Для точной диагностики воспользуемся инструментом Process Monitor (ProcMon). Разберем порядок действий:

  1. Запустим утилиту ProcMon от имени администратора.
  2. Установим фильтр по процессу 1cv8.exe или 1cv8c.exe.
  3. Добавим фильтр по операции WriteFile.
  4. Запустим 1С под проблемным пользователем и проанализируем, в какие именно папки и с какими именами пишутся файлы.

Это позволит понять, является ли источником сама платформа, внешняя компонента (например, драйвер торгового оборудования) или скрипт печати.

Шаг 2. Анализ программного кода при запуске

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

Разберем, какие участки кода в конфигураторе следует проверить в первую очередь:

Часто программисты используют временные файлы для хранения промежуточных данных. Если код попадает в бесконечный цикл и внутри него вызывается метод ПолучитьИмяВременногоФайла(), система будет создавать новый файл на каждой итерации. Пример опасного участка кода, который стоит поискать:


Процедура ПриНачалеРаботыСистемы()
    // Опасный код: бесконечный цикл или рекурсия
    Пока Истина Цикл
        ИмяФайла = ПолучитьИмяВременногоФайла("tmp");
        // Запись каких-то логов или данных
        Текст = Новый ЗаписьТекста(ИмяФайла);
        Текст.ЗаписатьСтроку("Отладочная информация...");
        Текст.Закрыть();
        // Отсутствует условие выхода или удаление файла
    КонецЦикла;
КонецПроцедуры

Шаг 3. Очистка поврежденных настроек пользователя (SystemSettingsStorage)

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

Рассмотрим, как решить проблему без удаления самого пользователя 1С (чтобы сохранить его ссылки в документах):

  1. Зайдем в базу под пользователем с правами администратора.
  2. Перейдем в раздел Администрирование — Настройки пользователей и прав.
  3. Выберем пункт Очистка настроек.
  4. В появившемся списке выберем нашего «проблемного» пользователя и нажмем Очистить все настройки.

Это действие сбросит все персональные изменения интерфейса, но зачастую именно оно помогает остановить бесконечный рост файлов в AppData\Local\Temp.

Шаг 4. Управление полнотекстовым поиском и фоновыми заданиями

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

Выясним, не в этом ли причина:

  1. Через консоль администрирования или встроенную обработку "Управление полнотекстовым поиском" временно отключим индексацию.
  2. Очистим индекс.
  3. Попробуем зайти под пользователем.

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

Шаг 5. «Радикальное» решение — пересоздание пользователя

Если ни очистка настроек, ни анализ кода не помогают, стоит прибегнуть к методу, предложенному в сообщении (1) форума — полному пересозданию пользователя 1С. Разберем, как сделать это правильно в конфигураторе:

  1. Откроем Конфигуратор.
  2. Перейдем в меню Администрирование — Пользователи.
  3. Найдем проблемного пользователя, запишем все его роли и настройки (или сделаем скриншот).
  4. Удалим пользователя.
  5. Создадим нового пользователя с тем же именем (или другим), назначив ему те же права.

Важно: При удалении пользователя в Конфигураторе ссылки в справочниках и документах, где этот пользователь указан (например, как автор документа), не исчезнут. Они будут ссылаться на объект "Объект не найден", если вы не сопоставите нового пользователя со старым элементом в справочнике "Пользователи" в режиме "Предприятие".

Шаг 6. Проверка взаимодействия с внешними системами (vrs-cache)

Проанализируем еще одну специфическую причину — кэш веб-сервисов. Если ваша база активно обменивается данными через SOAP или REST, 1С создает папку vrs-cache. При ошибках в WSDL-описании или конфликтах доступа платформа может начать бесконечно плодить временные файлы описаний сервисов.

Попробуйте вручную очистить содержимое папок:

Это принудительно заставит 1С пересобрать кэш метаданных при следующем запуске.

Резюме

Мы рассмотрели основные причины аномального роста временных файлов. Чаще всего проблема кроется либо в зацикливании программного кода при инициализации системы, либо в повреждении внутренних настроек пользователя. Начинайте диагностику с использования ProcMon, чтобы понять, какой процесс пишет файлы, а затем переходите к очистке пользовательских настроек в режиме "Предприятие". В крайнем случае используйте пересоздание учетной записи в Конфигураторе.

← На главную