Временные регистры (ВР) в 1С:Предприятие — это служебные объекты, которые система создаёт для хранения промежуточных данных при выполнении сложных операций: расчётов зарплаты, закрытия месяца, формирования отчётов или обмена данными. В норме они автоматически очищаются после завершения сеанса, но иногда остаются «висеть» в базе, занимая место и вызывая ошибки. Если вы столкнулись с сообщениями вроде «Не удалось заблокировать временный регистр» или «Превышен лимит временных данных», значит, пора чистить ВР вручную.
Проблема усугубляется в многопользовательских базах, где временные данные накапливаются от разных сессий. Неправильное удаление ВР может привести к потере актуальных расчётов или сбою транзакций, поэтому важно понимать, какие регистры можно трогать, а какие — нет. В этой статье разберём безопасные способы очистки, инструменты 1С для мониторинга ВР, а также профилактические меры, чтобы проблема не повторялась.
⚠️ Предупреждение: Не все временные регистры можно удалять без последствий. Например, регистры с префиксом _ВТ_РасчетЗарплаты могут содержать незавершённые расчёты по сотрудникам. Их очистка приведёт к необходимости пересчёта зарплаты за период.
Если вы не администратор 1С, перед удалением ВР обязательно согласуйте действия с ответственным специалистом или сделайте резервную копию базы.
1. Почему временные регистры не очищаются автоматически?
Система 1С:Предприятие должна удалять ВР после завершения сеанса пользователя или транзакции, но на практике этого не происходит по нескольким причинам:
- 🔴 Аварийное завершение работы: Если программа или сервер 1С «упали» во время операции (например, из-за отключения электричества), временные данные остаются неочищенными.
- 🔴 Длинные транзакции: Операции вроде закрытия месяца или массового перепроведения документов могут создавать ВР, которые не успевают удалиться из-за таймаута.
- 🔴 Ошибки в коде: Некорректно написанные обработки или внешние отчёты могут не закрывать сессии с ВР.
- 🔴 Настройки сервера: На кластерных установках 1С:Предприятие 8.3 лимит хранения временных данных может быть завышен, что маскирует проблему.
Чаще всего накопление ВР проявляется в тормозах системы, ошибках при сохранении документов или невозможности выполнить регламентные операции. Например, при попытке провести документ «Закрытие месяца» может появиться сообщение:
«Недостаточно памяти для выполнения операции. Очистите временные данные»
Это прямой сигнал к тому, что пора проверять ВР. В некоторых конфигурациях (например, 1С:ЗУП) накопление временных регистров может блокировать расчёт зарплаты за текущий месяц.
2. Как проверить наличие временных регистров в базе?
Прежде чем удалять ВР, нужно убедиться, что они действительно есть и мешают работе. Для этого используйте встроенные инструменты 1С или SQL-запросы (если есть доступ к серверу базы данных).
Способ 1: Через «Все функции» в 1С
- Откройте свою базу в режиме
1С:Предприятие(не конфигуратор!). - Нажмите
Ctrl+Shift+F12, чтобы открыть окно «Все функции». - Введите в поиске
ВременныеТаблицыи выберите методПолучитьВременныеТаблицы(). - В открывшемся окне вы увидите список всех активных временных регистров с указанием их размера и времени создания.
Способ 2: SQL-запрос для MS SQL Server (для администраторов)
SELECT
name AS 'ИмяВременнойТаблицы',
rows AS 'КоличествоСтрок',
CAST(RESERVED_PAGE_COUNT * 8.0 / 1024 AS DECIMAL(10,2)) AS 'РазмерМБ'
FROM
tempdb.sys.tables
WHERE
name LIKE '%VT%' OR name LIKE '%ТМП%'
ORDER BY
RESERVED_PAGE_COUNT DESC
Если запрос вернёт пустой результат, значит, временные регистры хранятся не в tempdb, а в основной базе. Тогда используйте альтернативный запрос:
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%VT%' OR TABLE_NAME LIKE '%ТМП%'
В конфигурациях на управляемых формах (8.3+) временные таблицы могут отображаться в списке СистемныеНастройки → ЖурналыРегистрации → ВременныеДанные.
3. Безопасные способы очистки временных регистров
Удалять ВР можно тремя основными методами: через конфигуратор, с помощью обработки или вручную via SQL. Выбор способа зависит от ваших прав доступа и технических навыков.
Метод 1: Очистка через конфигуратор (для пользователей с правами администратора)
Метод 2: Специальная обработка для очистки ВР
Если стандартный метод не сработал, используйте обработку «ОчисткаВременныхДанных.epf» (её можно скачать с портала 1С:ИТС или из каталога обработок). Алгоритм действий:
Метод 3: Ручное удаление через SQL (для опытных пользователей)
Если временные регистры хранятся в DBCC FREESYSTEMCACHE('tempdb') Для очистки конкретной таблицы (например, Закрыты все пользовательские сессии|Создана резервная копия базы|Проверены права на изменение системных таблиц|Отключены фоновые задачи (если есть)--> Не все ВР одинаково безопасны для очистки. Ниже — таблица регистров, которые трогать не рекомендуется, так как они могут содержать критичные данные:
⚠️ Внимание: Если в имени временного регистра есть дата (например, Чтобы минимизировать риски, перед очисткой проверьте:
Лучше не допускать накопления ВР, чем потом их очищать. Вот профилактические меры, которые снизят риск проблемы:
В многопользовательских базах (например, в 1С:УТ с 50+ пользователями) настройте автоматическое удаление ВР старше 24 часов через SQL-агент:
DECLARE @sql NVARCHAR(MAX) = ''; SELECT @sql = @sql + 'DROP TABLE tempdb.dbo.' + name + ';' + CHAR(10) FROM tempdb.sys.tables WHERE name LIKE 'VT%' AND create_date < DATEADD(day, -1, GETDATE()); EXEC sp_executesql @sql;
.
Администрирование → Активные пользователи).Конфигуратор.Администрирование → Тестирование и исправление.Очищать временные таблицы и нажмите Выполнить.
Файл → Открыть.Полная очистка (удалит все ВР, включая заблокированные).Выполнить и дождитесь завершения.tempdb, выполните команду:
DBCC FREEPROCCACHE
VT12345):
DROP TABLE tempdb.dbo.VT123454. Какие временные регистры удалять нельзя?
Префикс регистра
Назначение
Риск при удалении
_ВТ_РасчетЗарплатыХранение промежуточных данных расчёта зарплаты
Потеря расчётов по сотрудникам за период
_ВТ_ЗакрытиеМесяцаДанные для регламентных операций
Нарушение бухгалтерских итогов
_ВТ_ОбменДаннымиПакеты для обмена с другими системами
Потеря данных при синхронизации
_ВТ_ОтчетыКэш сформированных отчётов
Некритично, но отчёты придётся переформировать
_ВТ_Зарплата_202605), это означает, что он содержит данные за май 2026 года. Удаление такого регистра приведёт к необходимости полного перерасчёта зарплаты за этот период.
5. Как предотвратить накопление временных регистров?
srvinfo.ini (для кластерных установок) установите параметр MaxTempTablesMemory=1024 (значение в МБ), чтобы ограничить объём временных данных.ОчисткаВременныхДанных.epf еженедельно (можно автоматизировать через Регламентные задания).SELECT * FROM v8trans WHERE status = 'active'-- Пример задачи для MS SQL Server
Что будет, если не очищать ВР долгое время?
Скопление временных регистров может привести к:
1. Зависанию базы при выполнении операций с большими объёмами данных (например, инвентаризация на складе).
2. Ошибкам блокировок, когда новые сессии не могут создать свои временные таблицы.
3. Утечке памяти на сервере 1С, что вызовет его аварийную перезагрузку.
4. Потере данных, если система начнёт перезаписывать старые ВР новыми без предупреждения.
6. Частые ошибки при работе с временными регистрами
Даже опытные администраторы 1С иногда допускают ошибки, которые усугубляют проблему с ВР. Рассмотрим топ-5 промахов и как их избежать:
- ❌ Удаление ВР во время рабочего дня: Это может прервать текущие операции пользователей. Очищайте временные регистры вне рабочих часов или в окне технического обслуживания.
- ❌ Игнорирование резервных копий: Перед массовой очисткой ВР всегда делайте бэкап. Восстановление базы после потери критичных регистров (например,
_ВТ_Налоги) может занять дни. - ❌ Ручное удаление без анализа: Не стирайте все таблицы с префиксом
VTподряд. Сначала проверьте их содержимое черезSELECT TOP 10 * FROM tempdb.dbo.VT12345. - ❌ Отсутствие мониторинга: Если не отслеживать рост ВР, проблема обнаружится только при критическом сбое. Настройте оповещения в 1С:Администрирование сервера на превышение лимита временных данных.
- ❌ Использование устаревших обработок: Скрипты для очистки ВР из 1С 8.2 могут не работать в 8.3.20+. Всегда проверяйте совместимость обработки с вашей версией платформы.
⚠️ Внимание: В облачных версиях 1С (например, 1С:Fresh) прямой доступ к SQL-запросам и временным таблицам ограничен. Для очистки ВР обращайтесь в техническую поддержку провайдера с указанием:
- Имени базы,
- Времени последнего успешного входа,
- Текста ошибки (если есть).
Регулярная очистка временных регистров должна быть частью регламента обслуживания базы 1С. Автоматизируйте процесс через регламентные задания или SQL-агент, чтобы избежать ручной работы.
7. Альтернативные решения, если очистка не помогла
Если после удаления ВР проблема сохраняется (например, ошибка «Недостаточно памяти для временных данных» появляется снова), рассмотрите альтернативные подходы:
- 🔧 Увеличение памяти сервера: В файле
conf.cfg(для файлового варианта) или настройках кластера добавьте параметры:MaxMemoryUsage = 4096 // в МБTempTablesMemoryLimit = 2048
- 🔄 Перезапуск сервера 1С: Иногда помогает простая перезагрузка служб:
net stop srv1cv83net start srv1cv83
- 📂 Выгрузка/загрузка базы: Для файлового варианта 1С выполните выгрузку (
Файл → Выгрузить информационную базу) и загрузку в новую папку. Это сбросит все временные данные. - 🛠 Обновление платформы: В старых версиях 1С 8.3.8–8.3.12 были баги с очисткой ВР. Обновите платформу до актуальной версии (на момент написания статьи — 8.3.22+).
Если ни один из методов не сработал, проблема может крыться не в временных регистрах, а в:
- 🔹 Переполнении транзакционного журнала (для SQL-варианта),
- 🔹 Повреждении индексов таблиц,
- 🔹 Нехватке дискового пространства на сервере.
В таких случаях потребуется полная диагностика базы с помощью chdbfl.exe (утилита для проверки целостности) или обращение к специалистам 1С.
FAQ: Ответы на частые вопросы
Можно ли очищать временные регистры в 1С:ЗУП во время расчёта зарплаты?
Нет, это приведёт к потере промежуточных данных и необходимости пересчёта. Дождитесь завершения всех расчётных операций или отмените их через Операции → Зарплата → Отменить расчёт.
Почему после очистки ВР ошибка «Недостаточно памяти» появляется снова?
Вероятно, в системе есть процесс, который постоянно создаёт новые временные регистры (например, фоновое задание или внешняя обработка). Проверьте активные сессии через Администрирование → Активные пользователи и завершите подозрительные.
Как очистить ВР в облачной версии 1С (1С:Fresh, 1С:Линк)?
Самостоятельно — никак. Обратитесь в поддержку провайдера с запросом на очистку, указав ID базы и время последней успешной работы. В некоторых тарифах эта услуга платная.
Можно ли восстановить данные из удалённого временного регистра?
Только если у вас есть резервная копия базы, сделанная до очистки. В противном случае данные потеряны безвозвратно. Исключение — если регистр был часть транзакции, не завершённой в базе (можно откатить транзакцию через ROLLBACK в SQL).
Какие настройки сервера 1С влияют на работу с временными регистрами?
Ключевые параметры:
MaxTempTablesMemory— лимит памяти под ВР,TempTablesAutoDrop— автоматическое удаление (1 — включено, 0 — выключено),SessionTimeout— время жизни неактивной сессии (по умолчанию 60 минут).
Эти параметры настраиваются в файле srvinfo.ini (для кластерных установок) или через 1С:Администрирование сервера.