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

31.05.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Базомер (показывает количество записей в таблицах):
.epf 10,53Kb
33
33 Скачать (1 SM) Купить за 1 850 руб.

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

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

 

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

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

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

 

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

См. также

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

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

1 стартмани

19.12.2024    179    2    smirnov0ser    0    

4

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

Анализ количества записей регистров/документов/справочников, в том числе в динамике.

13.11.2024    626    65    evgeni-red    2    

5

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

«Навигатор метаданных» поможет изучать структуру данных конфигурации, переходить по связям между объектами конфигурации.Для аналитиков и разработчиков.

1 стартмани

11.09.2024    1201    16    m_kislyak    3    

9

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

Сбор статистики информационной базы в виде отчета - наименование конфигурации, версия, количество записей документов, регистров сведений, справочников, обменов.

1 стартмани

10.09.2024    3448    42    pahno    8    

7

Статистика базы данных Программист Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Данная обработка - алгоритм предлагает оценку вашей базы на количество тех или иных типов документов с их реквизитами.

6 стартмани

12.08.2024    798    0    aximo    2    

3

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

Объединен, унифицирован и значительно улучшен функционал двух исходных обработок для контроля размеров таблиц хранения 1С в серверных базах: https://infostart.ru/1c/tools/128362/ (для MS SQL) и https://infostart.ru/1c/tools/978816/ (для PG SQL).

1 стартмани

16.05.2024    1790    44    yuraos    4    

10

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

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

1 стартмани

29.12.2023    2246    14    RustIG    5    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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. ВикторП 350 05.06.19 12:42 Сейчас в теме
(3) зачем ? уже написали в (1) и (2) , не на мисте .
5. cool99 05.06.19 16:55 Сейчас в теме
(4) Просто с таким уровнем представляю, что в ЕРП они нашкодили - эта мысль основная (Как говорил Штирлиц, запоминается только последняя часть разговора, а у вас наоборот :))
С ее требованиями и подобными разработками никаких серверов не хватит. И Вас не смущает, что автор мало того, что "денюшку" просит, да еще и не отписался по комментариям 1/2? Вот зайдет какой-нибудь неокрепший ум и возьмет данный код (не читая комментов) на вооружение и пополнит ряды сами знаете кого.
6. ВикторП 350 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 89 26.07.23 13:32 Сейчас в теме
{(2, 16)}: Неоднозначное поле "ТаблицаДанных.Ссылка"
КОЛИЧЕСТВО(<<?>>ТаблицаДанных.Ссылка) КАК Количество
12. Осторожный 4 11.10.23 11:10 Сейчас в теме
(11) Так же ( На посгрес база
13. Осторожный 4 11.10.23 12:02 Сейчас в теме
(12) Это если с табличными частями запускать
Оставьте свое сообщение