Чистим 1С ЗУП 3.1 от лишнего: журнал регистрации, зависшие сеансы, кэш и помеченные объекты
Содержание
Чтобы очистить историю в 1С ЗУП, откройте базу в Конфигураторе и выберите Администрирование → Журнал регистрации, затем в меню журнала — команду сокращения: программа удалит события до указанной даты и при желании сохранит их в файл. Зависшие сеансы завершают в списке активных пользователей или в консоли кластера, а кэш клиента сбрасывают запуском с параметром /ClearCache.
Частое заблуждение — что после такой чистки база сразу «похудеет». Журнал регистрации хранится отдельно от данных ЗУП, и его сокращение освобождает место на диске, но не уменьшает файл базы или базу в SQL. Для этого нужен отдельный шаг — сжатие таблиц или обслуживание на стороне СУБД. Ниже всё по порядку, от безопасных действий к тем, что требуют выгнать пользователей.
Что считать историей в ЗУП и что можно удалять
Под «историей» в 1С ЗУП 3.1 обычно понимают сразу несколько разных вещей. Хранятся они в разных местах и чистятся по-разному.
| Что накопилось | Где хранится | Чем чистить | Риск для учёта |
|---|---|---|---|
| 📜 Журнал регистрации | Каталог 1Cv8Log рядом с базой или на сервере | Сокращение в Конфигураторе | Нет, кадровые и расчётные данные не затрагиваются |
| 👥 Сеансы и соединения | Память кластера или служебные файлы файловой базы | Завершение сеансов | Пользователь потеряет несохранённую работу |
| 💾 Кэш клиента | Профиль пользователя Windows | /ClearCache или удаление папок кэша | Нет |
| 🗑 Помеченные на удаление | Сама база | Обработка «Удаление помеченных объектов» | Да, удаление необратимо |
| 🕘 История изменений (версии объектов) | Сама база | Удаление устаревших версий | Потеряете «кто и что менял» в документах |
Первые три пункта — служебные данные платформы. Их удаление не трогает сотрудников, начисления и кадровые приказы. Последние два касаются самой информационной базы, и там действовать нужно аккуратнее.
Перед удалением помеченных объектов, версий и любым сжатием сделайте резервную копию: выгрузку .dt через Администрирование → Выгрузить информационную базу в Конфигураторе или бэкап средствами СУБД. Удалённые объекты из базы обратно не вернуть.
Как найти и завершить зависшие сеансы
Зависший сеанс мешает обновлению ЗУП, блокирует документы и занимает лицензию. Сначала посмотрите, кто реально сидит в базе.
Список активных пользователей
- В пользовательском режиме откройте
Администрирование → Обслуживаниеи перейдите по ссылке «Активные пользователи». - В Конфигураторе тот же список —
Администрирование → Активные пользователи. - Сверьте колонки «Начало работы» и «Приложение». Сеанс, открытый двое суток назад, у сотрудника в отпуске — первый кандидат на завершение.
В клиент-серверной базе из этого списка можно завершить сеанс прямо в программе. В файловой базе сеанс держится процессом 1cv8.exe на компьютере пользователя или терминальном сервере — его завершают в диспетчере задач Windows на той машине.
Консоль кластера и rac
Для серверной базы удобнее консоль администрирования кластера: узел базы → «Сеансы» → правой кнопкой по строке → «Удалить». Там же видно, какому рабочему процессу принадлежит сеанс и сколько он висит.
Если консоли под рукой нет, работает утилита rac (сервер администрирования ras должен быть запущен):
rac cluster list
rac infobase summary list --cluster=<UUID кластера>
rac session list --cluster=<UUID кластера> --infobase=<UUID базы>
rac session terminate --cluster=<UUID кластера> --session=<UUID сеанса>
Если на кластере задан администратор, добавьте к командам --cluster-user и --cluster-pwd. Остальные параметры смотрите в справке rac help session.
Завершённый сеанс обрывается без сохранения. Расчётчик, который полчаса заполнял «Начисление зарплаты», потеряет непроведённые правки. Предупредите людей заранее или делайте это после рабочего дня.
Массово выгнать всех перед обслуживанием
В ЗУП есть штатный механизм: Администрирование → Обслуживание → Блокировка работы пользователей. Задаёте время начала, сообщение и код разрешения. Программа сама предупредит пользователей и завершит их сеансы к указанному времени.
Администратору, чтобы зайти в заблокированную базу, нужно запустить её с параметром /UC<код разрешения>. Не забудьте снять блокировку после работ — иначе утром в ЗУП не войдёт никто.
Очистка журнала регистрации: сокращение и настройка
Журнал регистрации — самая объёмная «история» в ЗУП. При уровне «Примечания» и десятке активных пользователей он за пару лет вырастает до десятков гигабайт.
Как сократить журнал
- Запустите ЗУП в режиме Конфигуратора под администратором.
- Откройте
Администрирование → Журнал регистрации. - В меню «Действия» окна журнала выберите сокращение журнала.
- Укажите дату: всё, что раньше неё, будет удалено. Разумная граница — начало прошлого года или дата последней проверки.
- Если события могут понадобиться (споры о том, кто изменил оклад или удалил приказ), отметьте сохранение удаляемых событий в файл и выберите каталог на другом диске.
- Нажмите «ОК» и дождитесь завершения. На журнале в 20–30 ГБ это может занять десятки минут.
Монопольный режим для сокращения не нужен: пользователи могут продолжать работу.
Уровень записи и разделение по периодам
Чтобы журнал не разрастался заново, откройте Администрирование → Настройка журнала регистрации в Конфигураторе.
- 🔴 «Ошибки» — пишутся только сбои. Минимальный объём, но расследовать изменения данных будет нечем.
- 🟠 «Предупреждения» — плюс подозрительные ситуации.
- 🟡 «Информация» — плюс записи об изменении данных. Разумный выбор для ЗУП.
- 🟢 «Примечания» — максимум подробностей, журнал растёт быстрее всего.
- ⚫ «Не записывать» — журнал отключён. Для зарплатной базы так делать не стоит: без журнала не выяснить, кто поправил начисление.
В той же настройке можно включить разделение журнала по периодам — например, по месяцам. Тогда каждый период лежит в своём файле, и старые месяцы проще архивировать.
В пользовательском режиме журнал смотрят через Администрирование → Обслуживание → «Журнал регистрации». Там удобно отбирать события по пользователю и объекту, но сокращать журнал надёжнее в Конфигураторе.
Где лежат файлы журнала
- Файловая база — подкаталог
1Cv8Logв каталоге информационной базы. - Серверная база —
srvinfo\reg_1541\<GUID базы>\1Cv8Logна рабочем сервере 1С.
В формате 8.3 журнал — это файл 1Cv8.lgd, в старом формате — набор файлов .lgf и .lgp. Не удаляйте эти файлы вручную при работающих пользователях: платформа держит их открытыми, а удаление на ходу может испортить журнал целиком.
Блокировки, кэш и временные данные
Кэш клиента
Когда ЗУП после обновления показывает старые формы или ругается на несуществующие реквизиты, виноват кэш на компьютере пользователя. Самый мягкий способ — запустить базу
один раз с параметром /ClearCache. Его добавляют в поле «Дополнительные параметры запуска» в свойствах базы в окне запуска.
Если не помогло, закройте 1С на этом компьютере и удалите папки с длинными именами-GUID в каталогах:
%APPDATA%\1C\1cv8\
%LOCALAPPDATA%\1C\1cv8\
Файл со списком баз ibases.v8i лежит в %APPDATA%\1C\1CEStart\ — его не трогайте, иначе пропадут все базы из окна запуска.
Сеансовые данные сервера
На сервере 1С копятся сеансовые данные в каталогах snccntx* внутри srvinfo\reg_1541. Их чистят, когда сервер ведёт себя странно: висят сеансы, которые не завершаются из консоли, или база не открывается после аварии.
Для этого нужно остановить службу «Агент сервера 1С:Предприятия». Оборвутся сеансы во всех базах кластера, не только в ЗУП. Делайте это вне рабочего времени, после остановки удалите только каталоги snccntx* и снова запустите службу.
Управляемые блокировки
Если сотрудник жалуется «документ заблокирован другим пользователем», посмотрите узел «Блокировки» в консоли кластера. Там видно, какой сеанс держит блокировку. Обычно хватает завершить этот сеанс — блокировка снимется вместе с ним. Отдельно «удалять блокировки» не нужно.
Удаление помеченных объектов и старых версий
Помеченные на удаление
В ЗУП помеченные объекты физически остаются в базе, пока их не удалят обработкой. Путь: Администрирование → Обслуживание → «Удаление помеченных объектов».
- Запустите обработку и дождитесь, пока она найдёт помеченные объекты.
- Выберите режим: удалить всё помеченное или отметить объекты вручную. Для первого раза лучше вручную.
- Нажмите «Удалить». Обработка проверит ссылки.
- Объекты, на которые кто-то ссылается, не удалятся — программа покажет, где они используются. Например, должность, указанная в кадровом переводе, останется, пока жив перевод.
Удаление в ЗУП 3.1 можно запускать без монопольного режима, но при большом объёме данных его лучше делать вечером: проверка ссылок нагружает базу.
Если удаляете уволенных до вас «тестовых» сотрудников, сначала пометьте и удалите их документы — приёмы, начисления, ведомости. Иначе карточки сотрудников не удалятся из-за ссылок.
История изменений объектов
В ЗУП можно хранить версии документов и справочников — кто, когда и какие реквизиты поменял. Настраивается это в Администрирование → Общие настройки, в блоке истории изменений (версионирования). Там же задаётся срок хранения версий и удаление устаревших.
Версии хранятся в самой базе и на больших организациях занимают гигабайты. Срок «год» обычно достаточен: старые версии нужны только при разборе спорных правок.
Автоматическая очистка через регламентные задания
Ручная чистка раз в год — это всегда срочный аврал. Часть работы ЗУП делает сама, если включить регламентные задания.
Список открывается так: Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. Что стоит проверить:
- 🗑 удаление помеченных объектов по расписанию — если оно включено, раз в неделю ночью обработка удалит всё, на что нет ссылок;
- 🕘 удаление устаревших версий объектов — работает по сроку хранения из общих настроек;
- 📦 прочие задания очистки служебных данных — оставьте их включёнными с типовым расписанием.
Журнал регистрации регламентным заданием ЗУП не сокращается. Это делают вручную в Конфигураторе или скриптом администратора на сервере.
Регламентные задания в серверной базе работают, только если в свойствах базы в консоли кластера не стоит флажок «Блокировка регламентных заданий включена». Его часто забывают снять на рабочей базе после копирования из тестовой.
Файловый вариант
В файловой базе регламентные задания выполняются только пока кто-то работает в программе, и запускаются в сеансе этого пользователя. Если в ЗУП работает один расчётчик с 9 до 18, ночное задание просто не отработает. Ставьте расписание на рабочее время с небольшой нагрузкой, например на обед.
Сжатие базы на стороне СУБД и файловой базы
После удаления помеченных объектов и версий размер базы на диске сам не уменьшится. Освободившееся место остаётся внутри файлов и используется под новые данные.
| Вариант базы | Как вернуть место на диске | Нужен ли монопольный режим |
|---|---|---|
Файловая (1Cv8.1CD) | Конфигуратор → Администрирование → Тестирование и исправление → «Сжатие таблиц информационной базы» | Да |
| Файловая, сильно разросшаяся | Выгрузка в .dt и загрузка в новую пустую базу | Да |
| MS SQL Server | Обслуживание индексов, затем сжатие файла данных средствами SQL Server | Нет, но нагрузка высокая |
| PostgreSQL | VACUUM FULL по таблицам или по базе | Блокирует таблицы на время работы |
Для MS SQL Server обратите внимание на журнал транзакций. При полной модели восстановления без регулярного бэкапа журнала файл .ldf растёт бесконечно и часто весит больше самих данных. Решение — настроить резервное копирование
журнала транзакций или, если точечное восстановление не нужно, перевести базу на простую модель.
-- MS SQL Server: размер файлов базы ZUP (имена своей базы подставьте)
USE ZUP;
SELECT name, type_desc, size * 8 / 1024 AS size_mb
FROM sys.database_files;
Сжатие файла данных в SQL Server фрагментирует индексы. После него запустите перестроение индексов, иначе ЗУП будет работать медленнее, чем до чистки.
Тестирование и исправление: какие флажки ставить
Для простого сжатия в окне «Тестирование и исправление» достаточно отметить «Сжатие таблиц информационной базы». Реиндексацию и проверку логической целостности добавляйте, если база ещё и сбоила. Режим «Реструктуризация таблиц информационной базы» на рабочей базе без копии не запускайте.
Частые ошибки при очистке
- ❌ Удаляют каталог
1Cv8Logцеликом на работающем сервере. Журнал ломается, а иногда ломается и запуск базы до перезапуска службы. Сокращайте журнал штатно. - ❌ Выключают журнал полностью ради места. Через месяц выясняется, что кто-то пересчитал отпускные задним числом, и найти автора невозможно.
- ❌ Удаляют помеченные «всё сразу» без просмотра. Вместе с мусором уходят документы, которые расчётчик пометил по ошибке.
- ❌ Чистят кэш, удаляя всю папку
%APPDATA%\1C. Пропадают список баз и пользовательские настройки. - ❌ Ждут уменьшения базы после удаления помеченных. Без сжатия таблиц или обслуживания СУБД размер не изменится.