Администрирование · 12 мин
Регистр «Активность» в 1С: что это и как с ним работать
Что такое регистр «Активность» в 1С, где он встречается в типовых конфигурациях, как посмотреть и очистить записи, и когда его трогать не стоит.
Пользователи и администраторы 1С нередко сталкиваются с регистром под названием «Активность» — при поиске причин разрастания базы, при разборе прав доступа или при анализе движений документов. Название вводит в заблуждение: одни ждут журнал действий пользователей, другие — настройки планировщика. На практике регистр «Активность» в типовых конфигурациях 1С — это служебное хранилище данных, назначение которого зависит от конкретной конфигурации: в одних решениях он фиксирует состояния и события по объектам, в других — используется механизмами взаимодействий и напоминаний.
Важно понимать главное: «Активность» — это не единый стандартный объект платформы, а прикладной регистр, созданный разработчиками конфигурации. Поэтому его состав измерений, ресурсов и логика заполнения определяются конкретным прикладным решением — Управление торговлей, Комплексная автоматизация, ERP, CRM или отраслевой конфигурацией. Прежде чем что-то с ним делать, нужно точно выяснить, какая роль отведена регистру именно в вашей базе.
Материал ниже поможет определить назначение регистра, посмотреть его содержимое, оценить влияние на размер и скорость работы базы, а также безопасно выполнить обслуживание, если оно потребуется.
Что такое регистр «Активность» и зачем он нужен
В терминологии платформы 1С регистр — это объект метаданных для хранения накопленной или справочной информации в разрезе заданных измерений. Регистры бывают сведений, накопления, бухгалтерии и расчёта. Регистр «Активность» в типовых решениях чаще всего реализован как регистр сведений: он хранит строки вида «объект — состояние — дата — дополнительные данные» и не формирует бухгалтерских проводок или складских остатков.
Типичные задачи, которые конфигурации решают через такой регистр: фиксация этапов обработки объекта, хранение признаков активности клиентов или номенклатуры для аналитики, поддержка механизмов напоминаний и запланированных взаимодействий, техническая маркировка записей для обменов данными. Конкретный набор полей и логику записи задаёт код конфигурации — документы, регламентные задания или обработчики событий.
Ключевой вывод для администратора: записи в регистр почти всегда попадают программно, а не вручную. Если вы видите там данные, значит, какой-то механизм конфигурации их создаёт и, вероятно, использует при дальнейшей работе. Удаление строк «для очистки» без понимания этой логики способно нарушить работу связанных функций.
Как определить назначение регистра в вашей конфигурации
Первый шаг — открыть конфигуратор и найти объект «Активность» в дереве метаданных (раздел «Регистры сведений» или «Регистры накопления»). Посмотрите его свойства: периодичность, режим записи (независимый или подчинён регистратору), состав измерений и ресурсов. Уже по именам полей обычно понятно, что хранится: «Предмет», «Контакт», «Состояние», «ДатаСобытия» указывают на взаимодействия или статусы, а технические поля вроде «Узел», «Идентификатор» — на обмены.
Второй шаг — найти, откуда регистр заполняется. Используйте поиск по конфигурации: глобальный поиск по имени регистра покажет все модули, где выполняются обращения к нему — создание наборов записей, запросы, чтение. Обратите внимание на регламентные задания и подписки на события: именно они часто пишут в служебные регистры в фоновом режиме.
Третий шаг — проверить, кто читает данные. Если записи регистра используются в отчётах, обработках заполнения или механизмах напоминаний, значит, регистр «живой» и его очистка что-то сломает. Если обращений на чтение нет или они закомментированы — возможно, это наследие старых механизмов, но такой вывод должен подтвердить специалист, знающий конфигурацию.
- 1Откройте конфигуратор и найдите регистр «Активность» в дереве метаданных
- 2Изучите измерения, ресурсы и режим записи в свойствах объекта
- 3Выполните глобальный поиск по имени регистра по всей конфигурации
- 4Проверьте регламентные задания и подписки на события, которые с ним работают
- 5Посмотрите содержимое регистра в пользовательском режиме и сопоставьте записи с найденным кодом
Как посмотреть содержимое регистра
В пользовательском режиме содержимое регистра сведений доступно через меню «Все функции» (в управляемом интерфейсе: главное меню → Все функции → Регистры сведений → Активность). Если пункт «Все функции» недоступен, его нужно включить в параметрах интерфейса — для этого требуются соответствующие права. Откроется таблица записей, где можно отфильтровать данные по любому полю.
Для анализа больших объёмов удобнее консоль запросов или отчёт СКД: так можно сгруппировать записи по измерениям, посчитать количество строк по периодам и понять динамику роста. Например, если число записей растёт тысячами в день, стоит выяснить, какое регламентное задание или документ их порождает.
Обратите внимание на права: рядовым пользователям доступ к служебным регистрам обычно закрыт ролями. Если регистр не виден ни в «Всех функциях», ни в поиске — проверьте роли текущего пользователя в конфигураторе или выполните просмотр под учётной записью с полными правами в тестовой копии базы.
Влияние регистра на размер и производительность базы
Служебные регистры с интенсивной записью — частая причина разрастания информационной базы. Каждая строка занимает место в таблице СУБД, а индексы по измерениям добавляют накладные расходы при вставке. Если механизм пишет записи при каждом проведении массовых документов или при каждом сеансе обмена, таблица может вырасти до миллионов строк.
Симптомы проблемы: замедление проведения документов, которые работают с регистром; рост времени регламентных заданий; увеличение размера выгрузки .dt и файлов базы на диске. Диагностируется это штатно: в файловом варианте — по размеру файла 1Cv8.1CD до и после периода, в клиент-серверном — запросами к системным представлениям СУБД о размерах таблиц.
Если регистр действительно разросся, не спешите удалять строки напрямую. Сначала выясните, предусмотрена ли в конфигурации штатная очистка: во многих типовых решениях есть настройки сроков хранения (например, хранить события ограниченное число дней) или регламентные задания очистки, которые просто отключены или не настроены.
Безопасная очистка и обслуживание
Базовое правило любых работ с данными регистра — полная резервная копия базы до начала действий. Для файловой базы достаточно копии файла 1Cv8.1CD при завершённых сеансах; для клиент-серверной — выгрузка .dt или бэкап средствами СУБД. Проверьте, что копия открывается: непроверенный бэкап равен его отсутствию.
Порядок безопасной работы выглядит так: сначала анализ на копии (что удаляем, сколько строк, какие механизмы затронуты), затем пробная очистка на копии с проверкой связанной функциональности, и только после успешной проверки — работа в рабочей базе, желательно в монопольном режиме и вне рабочих часов. После массового удаления в клиент-серверном варианте имеет смысл выполнить реиндексацию и обновление статистики средствами СУБД.
Для самой очистки используйте встроенный язык: набор записей с отбором и метод записи с флагом замещения, либо явное удаление отобранных записей порциями. Порционная обработка (например, по несколько тысяч записей в транзакции) снижает риск длительных блокировок и переполнения журнала транзакций на СУБД.
// Пример порционного удаления старых записей регистра сведений
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| Активность.Объект КАК Объект
|ИЗ
| РегистрСведений.Активность КАК Активность
|ГДЕ
| Активность.Период < &ГраницаХранения";
Запрос.УстановитьПараметр("ГраницаХранения", ДобавитьМесяц(ТекущаяДатаСеанса(), -6));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Набор = РегистрыСведений.Активность.СоздатьНаборЗаписей();
Набор.Отбор.Объект.Установить(Выборка.Объект);
Набор.Записать(Истина); // пустой набор с отбором удаляет записи
КонецЦикла;
Приведённый код — иллюстрация подхода, а не готовое решение: имена измерений и наличие периодичности в вашем регистре могут отличаться. Запускайте такой код только на копии и только после изучения структуры конкретного регистра.
Типичные ошибки при работе с регистром
Самая распространённая ошибка — воспринимать «Активность» как журнал аудита и искать в нём действия пользователей. Для протоколирования работы пользователей в 1С служит журнал регистрации, а в некоторых конфигурациях — отдельные механизмы версионирования и истории изменений. Регистр «Активность» к ним отношения не имеет.
Вторая ошибка — очистка регистра «до кучи» при ужатии базы без проверки зависимостей. Последствия проявляются не сразу: перестают приходить напоминания, в отчётах пропадают строки, обмены начинают выгружать лишнее или, наоборот, пропускать объекты. Диагностировать такую связь задним числом сложно.
Третья ошибка — выполнять массовое удаление в рабочее время в многопользовательском режиме одной гигантской транзакцией. Это приводит к блокировкам таблицы, тайм-аутам у пользователей и, на СУБД, к разрастанию журнала транзакций. Правильный подход — порционная обработка вне пиковой нагрузки.
Когда регистр можно не трогать и что делать вместо очистки
Если регистр содержит умеренное число записей, не влияет на скорость работы и используется прикладными механизмами, оптимальная стратегия — оставить всё как есть. Обслуживание ради обслуживания в 1С чаще вредит, чем помогает: каждое вмешательство в данные — это риск.
Если беспокоит только размер базы, рассмотрите альтернативы: настройку штатных сроков хранения, свёртку старых периодов, периодическую выгрузку архивных данных в отдельную базу. Для клиент-серверных баз часть проблемы решается на уровне СУБД — регулярной реиндексацией и обновлением статистики, без удаления самих данных.
Если же регистр растёт аномально быстро, правильная цель — не очистка, а устранение причины: отключение ненужного регламентного задания, исправление настроек обмена, обновление конфигурации до релиза, где ошибка избыточной записи исправлена. Очистка в этом случае — разовое завершение работы, а не постоянная процедура.
Как выбрать действие
Частые вопросы
Регистр «Активность» — это журнал действий пользователей?
Нет. Действия пользователей фиксируются в журнале регистрации платформы. «Активность» — прикладной регистр конфигурации, содержимое которого определяется её кодом: состояния объектов, события, служебные отметки.
Можно ли удалить все записи регистра, чтобы уменьшить базу?
Технически можно, но безопасно — только после анализа того, какие механизмы читают эти записи. Сначала сделайте резервную копию, проверьте штатные настройки хранения и отработайте очистку на копии базы.
Почему я не вижу регистр «Активность» в интерфейсе?
Служебные регистры обычно не выведены в разделы меню. Откройте его через «Все функции» → «Регистры сведений». Если пункта нет — включите отображение «Все функции» в параметрах или проверьте права своей роли.
Регистр растёт на тысячи записей в день — это нормально?
Зависит от того, какой механизм пишет в него. Если записи создаёт штатное регламентное задание и предусмотрена их ротация — это рабочий режим. Если рост не связан с понятной функцией, ищите источник через поиск по конфигурации и журнал регламентных заданий.
Отличается ли регистр «Активность» в разных конфигурациях 1С?
Да. Это прикладной объект, и его структура, режим записи и назначение в УТ, ERP, CRM или отраслевых решениях могут различаться полностью. Всегда изучайте регистр в конфигураторе именно вашей базы, а не по описаниям из других конфигураций.
Что важно запомнить
Регистр «Активность» — прикладной служебный регистр, а не журнал аудита; его роль определяется конкретной конфигурацией. Перед любыми действиями изучите структуру и код, который с ним работает, используйте штатные механизмы хранения и очистки, а любое удаление выполняйте только после резервного копирования и проверки на копии базы.