Базомер (показывает количество записей в таблицах)

31.05.19

База данных - Статистика базы данных

Базомер показывает количество записей во всех регистрах сведений, регистрах накопления, документах и справочниках.

Скачать файлы

Наименование Файл Версия Размер
Базомер (показывает количество записей в таблицах):
.epf 10,53Kb
31
.epf 10,53Kb 31 Скачать

Есть возможность сформировать список всех объектов метаданных и отметить нужные к замеру. Результат замера выводится в таблицу. Имеется возможность сортировки объектов по количеству записей и вывода результата в Excel. Обработка легко подключается к базе в качестве дополнительной глобальной обработки. Работает в небезопасном режиме (для чтения объектов метаданных без права администрирования).

Писалась для ERP 2.4.7.151, платформу 8.3.13.1644. Работает в ЗУП 3.1.9.159. По идее должна работать и в других конфигурациях на БСП.

 

&НаСервере
Процедура НачатьЗамерНаСервере()
	
	УстановитьПривилегированныйРежим(Истина);
	
	Для каждого ОбъектКЗамеру Из Объект.ВыбранныеОбъектыМетаданных Цикл
		Если Не ОбъектКЗамеру.Отметка Тогда
			Продолжить;
		КонецЕсли;
		
		ТипЗнчВыбранныйСтрокой 	= ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
		МетаданныеКЗамеру 		= Метаданные.НайтиПоПолномуИмени(ТипЗнчВыбранныйСтрокой);
		
		Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "РегистрСведений") > 0 Тогда
			Попытка
				НаборЗаписей = РегистрыСведений[МетаданныеКЗамеру.Имя].СоздатьНаборЗаписей();
				НаборЗаписей.Прочитать();
				КоличествоЗаписей = НаборЗаписей.Количество();
				
				Строка = Объект.Результат.Добавить();
				Строка.ОбъектМетаданных 	= ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
				Строка.КоличествоЗаписей	= КоличествоЗаписей;
			Исключение
				Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
				Продолжить;
			КонецПопытки;
		КонецЕсли;
		
		Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "РегистрНакопления") > 0 Тогда
			Попытка
				НаборЗаписей = РегистрыНакопления[МетаданныеКЗамеру.Имя].СоздатьНаборЗаписей();
				НаборЗаписей.Прочитать();
				КоличествоЗаписей = НаборЗаписей.Количество();
				
				Строка = Объект.Результат.Добавить();
				Строка.ОбъектМетаданных 	= ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
				Строка.КоличествоЗаписей	= КоличествоЗаписей;
			Исключение
				Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
				Продолжить;
			КонецПопытки;
		КонецЕсли;
		
		Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "Документ") > 0 Тогда
			Попытка
				ВыборкаДокументов = Документы[МетаданныеКЗамеру.Имя].Выбрать();
				КоличествоЗаписей = 0;
				Пока ВыборкаДокументов.Следующий() Цикл
					КоличествоЗаписей = КоличествоЗаписей + 1;
				КонецЦикла;
				
				Строка = Объект.Результат.Добавить();
				Строка.ОбъектМетаданных 	= ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
				Строка.КоличествоЗаписей	= КоличествоЗаписей;
			Исключение
				Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
				Продолжить;
			КонецПопытки;
		КонецЕсли;

		Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "Справочник") > 0 Тогда
			Попытка
				ВыборкаСправочников = Справочники[МетаданныеКЗамеру.Имя].Выбрать();
				КоличествоЗаписей = 0;
				Пока ВыборкаСправочников.Следующий() Цикл
					КоличествоЗаписей = КоличествоЗаписей + 1;
				КонецЦикла;
				
				Строка = Объект.Результат.Добавить();
				Строка.ОбъектМетаданных 	= ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
				Строка.КоличествоЗаписей	= КоличествоЗаписей;
			Исключение
				Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
				Продолжить;
			КонецПопытки;
		КонецЕсли;

	КонецЦикла;
	
	УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

 

Количество записей таблицы таблицах Базомер объем базы

См. также

Физический размер таблиц (MSSQL)

Инструменты администратора БД Статистика базы данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Инструмент для получения физического размера таблиц ИБ (MSSQL)

1 стартмани

09.01.2024    1392    12    ImHunter    4    

7

Анализ документов: свертка базы, автотесты, динамика роста базы

Статистика базы данных Инструментарий разработчика Тестирование QA Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Абонемент ($m)

Внешняя обработка "Анализ документов и регистров" - можно использовать для детального изучения документов базы, связанных регистров (накопления и сведений). Предварительный анализ документов обычно требуется перед проведением свертки остатков базы, перед обновлением типовых релизов сильно измененной конфигурации, перед переходом на новую программу.

3 стартмани

29.12.2023    1116    8    RustIG    5    

7

Анализ использования номенклатуры

Статистика базы данных Логистика, склад и ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

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

1 стартмани

26.10.2023    721    12    dimanich70    0    

4

Сведения о присоединенных файлах

Статистика базы данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Внешний отчет для анализа данных присоединенных файлов за произвольный период в любой конфигурации.

2 стартмани

24.10.2023    1601    36    ixijixi    5    

19

История фоновых заданий

Журнал регистрации Статистика базы данных HighLoad оптимизация Конфигурации 1cv8 Абонемент ($m)

Удобный отчет по выполнению фоновых заданий в 1С с разбивкой по разным критериям, например по срокам, в какой последовательности, выполнение дольше всех, сколько одновременно и так далее.

5 стартмани

04.09.2023    804    6    Maxiko    0    

8

Количество документов в информационной базе в разрезе видов документов

Статистика базы данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

16.08.2023    640    14    pwn    1    

3

Статистика по документам пользователя с версионированием по дате

Журнал регистрации Статистика базы данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Абонемент ($m)

Вывод документов, созданных или отредактированных пользователем за период, в том числе с возможностью "заглянуть" в версии документа на дату.

5 стартмани

30.06.2023    1868    10    nemec    6    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. alex-l19041 8 31.05.19 17:11 Сейчас в теме
вот это
ВыборкаДокументов = Документы[МетаданныеКЗамеру.Имя].Выбрать();
КоличествоЗаписей = 0;
Пока ВыборкаДокументов.Следующий() Цикл
КоличествоЗаписей = КоличествоЗаписей + 1;
КонецЦикла;


лучше заменить на Запрос который вернет количество

"ВЫБРАТЬ
		|	КОЛИЧЕСТВО(ТаблицаДанных.Ссылка) КАК Количество,
			|ИЗ
		|	Документ." + ИмяТаблицы + " КАК ТаблицаДанных
2. alex-l19041 8 31.05.19 17:19 Сейчас в теме
и для справочников можно аналогично

"ВЫБРАТЬ
		|	КОЛИЧЕСТВО(ТаблицаДанных.Ссылка) КАК Количество,
		|ИЗ
		|	Справочник." + ИмяТаблицы + " КАК ТаблицаДанных
3. cool99 03.06.19 08:11 Сейчас в теме
"Рука лицо" - в то время как наши кОрабли бороздят просторы вселенной, в 2019 году мы считаем количество записей в таблицах через чтение набора записей и выборки, а если там миллионов 10 записей?
Писалась для ERP 2.4.7.151

Бедная ERP
4. ВикторП 342 05.06.19 12:42 Сейчас в теме
(3) зачем ? уже написали в (1) и (2) , не на мисте .
5. cool99 05.06.19 16:55 Сейчас в теме
(4) Просто с таким уровнем представляю, что в ЕРП они нашкодили - эта мысль основная (Как говорил Штирлиц, запоминается только последняя часть разговора, а у вас наоборот :))
С ее требованиями и подобными разработками никаких серверов не хватит. И Вас не смущает, что автор мало того, что "денюшку" просит, да еще и не отписался по комментариям 1/2? Вот зайдет какой-нибудь неокрепший ум и возьмет данный код (не читая комментов) на вооружение и пополнит ряды сами знаете кого.
6. ВикторП 342 06.10.19 12:28 Сейчас в теме
Подарок
Прикрепленные файлы:
БазомерНовый.epf
shestopalovpro; andreyR3; jatu; ActionBlog; +4 Ответить
7. ActionBlog 28.12.19 10:43 Сейчас в теме
8. andreyR3 1 21.05.21 14:23 Сейчас в теме
9. digorec88 18.02.22 11:42 Сейчас в теме
(6)Спасибо большое. Помогло
10. Arm12 05.04.22 14:48 Сейчас в теме
Респект вам, уважаемый
11. aleksey2 86 26.07.23 13:32 Сейчас в теме
{(2, 16)}: Неоднозначное поле "ТаблицаДанных.Ссылка"
КОЛИЧЕСТВО(<<?>>ТаблицаДанных.Ссылка) КАК Количество
12. Осторожный 4 11.10.23 11:10 Сейчас в теме
(11) Так же ( На посгрес база
13. Осторожный 4 11.10.23 12:02 Сейчас в теме
(12) Это если с табличными частями запускать
Оставьте свое сообщение