Анализ количества созданных объектов в базе данных 1С
Обработка для разработчиков 1С, специалистов по внедрению 1С и администраторов информационных баз 1С. Предназначена для решения задач, где требуется оперативность в оценке масштабов используемых данных в базе данных 1С.
Разработчики, специалисты по внедрению и администраторы информационных баз на платформе 1С:Предприятие не редко сталкиваются с необходимостью оценки масштаба используемых данных в базе. Конфигурации 1С содержат достаточно большое количество метаданных, но далеко не все из них активно используются. Для подсчета количества объектов каждого вида метаданных несложно написать простую обработку. Такая обработка всегда пригодится в качестве первичного инструмента для оптимизации, миграции и аудита системы.
Чем полезна такая обработка?
Главная ценность инструмента — быстро сориентировать пользователя в том какие объекты метаданных используются в данной конфигурации. После экспресс анализа количества объектов в базе данных можно приступить к более детальному рассмотрению проблемы, ради которой потребовался этот анализ данных базы 1С. Ведь уже известно, что внесено в базу и что можно в ней смотреть. Не нужно тратить время на ручное открытие всех списков документов и справочников, составление запросов для подсчета количества документов. Достаточно за один клик получить детальную картину информационной базы.
Основные преимущества использования:
- Точная оценка объемов: Вы четко видите, какие объекты (справочники, документы, регистры) созданы в базе данных. Каких объектов создано очень много, а каких мало.
- Выявление «мусора»: Легко обнаружить неиспользуемые или устаревшие объекты метаданных, которые были созданы для разовых задач, но продолжают занимать место.
- Планирование ресурсов: На основе данных о количестве записей можно точнее спрогнозировать рост базы и требования к дисковому пространству сервера СУБД.
- Свертка базы: вы понимаете какие объекты лучше удалить из базы для достижения максимального эффекта от свертки базы с минимальными трудозатратами.
Где и когда ее можно использовать?
Область применения такой обработки крайне широка — от рядовой поддержки до масштабных архитектурных проектов.
- Подготовка к свертке информационной базы. Перед проведением свертки (удалением старых документов и очисткой регистров) необходимо зафиксировать «точку старта». Обработка позволяет сравнить количество объектов до и после свертки, чтобы наглядно оценить эффективность процедуры и убедиться, что лишние данные действительно удалены.
- Переход на новые конфигурации или миграция данных. При переносе данных (например, с «1С:УПП» на «1С:ERP») или переезде в облачную инфраструктуру критически важно знать точный объем переносимых сущностей. Это помогает правильно настроить правила обмена (конвертации) и оценить время, которое потребуется на трансляцию данных.
- Аудит и оптимизация производительности. Если база начинает «тормозить», анализ количества записей в разрезе метаданных укажет на главных виновников. Например, вы можете обнаружить миллиарды записей в регистре сведений «Версии объектов».
- Оценка стоимости доработок и сопровождения. Для обслуживающей команды специалистов — отличный инструмент экспресс-аудита. Посмотрев на количество документов и справочников, архитектор сразу понимает реальный масштаб кастомизации системы клиентом и может более точно оценить трудозатраты на обновление измененной конфигурации.
Резюме
Инструмент количественного анализа метаданных превращает абстрактную базу данных в набор понятных и измеримых метрик. Он помогает принимать обоснованные решения по управлению ИТ-инфраструктурой, предотвращает сбои из-за переполнения таблиц и существенно облегчает жизнь как штатным программистам, так и внешним аудиторам.
Готовый код:
Главная процедура в обработке подсчета количества объектов представлена ниже:
1&НаСервере
2Процедура НайтиНаСервере()
3
4 // Обходим в метаданных все справочники конфигурации и
5 // подсчитываем кол-во созданных элементов в каждом справочнике
6 Для Каждого Стр Из Метаданные.Справочники Цикл
7 выб = Справочники[стр.Имя].Выбрать();
8 Если выб.Следующий() Тогда
9 НСтрока = Объекты.Добавить();
10 НСтрока.Объект = "Справочник:" + стр.Имя;
11 КонецЕсли;
12 КонецЦикла;
13
14 // Обходим документы
15 Для Каждого Стр Из Метаданные.Документы Цикл
16 выб = Документы[стр.Имя].Выбрать();
17 Если выб.Следующий() Тогда
18 НСтрока = Объекты.Добавить();
19 НСтрока.Объект = "Документы:" + стр.Имя;
20 КонецЕсли;
21 КонецЦикла;
22
23 // Обходим регистры сведений
24 Для Каждого Стр Из Метаданные.РегистрыСведений Цикл
25 выб = РегистрыСведений[стр.Имя].Выбрать();
26 Если выб.Следующий() Тогда
27 НСтрока = Объекты.Добавить();
28 НСтрока.Объект = "Регистры сведений:" + стр.Имя;
29 КонецЕсли;
30 КонецЦикла;
31
32 // Обходим регистры накопления
33 Для Каждого Стр Из Метаданные.РегистрыНакопления Цикл
34 выб = РегистрыНакопления[стр.Имя].Выбрать();
35 Если выб.Следующий() Тогда
36 НСтрока = Объекты.Добавить();
37 НСтрока.Объект = "Регистры накопления:" + стр.Имя;
38 КонецЕсли;
39 КонецЦикла;
40
41
42КонецПроцедуры
Если по какой-то причине вам удобнее получить готовую обработку, сразу посмотрите в “Полезные материалы для скачивания”. Здесь лежит готовая к скачиванию обработка.