Анализ количества справочников и документов в базе 1С

01.11.22

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

Отчет выводит количество всех документов и элементов справочников в базе 1С.

Скачать исходный код

Наименование Файл Версия Размер
Анализ количества справочников и документов в базе 1С:
.erf 8,79Kb
37
.erf 8,79Kb 37 Скачать
Анализ количества справочников и документов в базе 1С (с отбором по организации):
.erf 9,25Kb
20
.erf 9,25Kb 20 Скачать

Идея публикации аналогична infostart.ru/public/1144838/.

Порой требуется провести экспресс оценку ведения учета в базе. Приложенный отчет позволяет вывести количество всех документов и элементов справочников в базе 1С.

Ниже код формы отчета.

&НаСервере
Процедура СформироватьНаСервере() 
	
	ТабДок.НачатьАвтогруппировкуСтрок();
	
	ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
	Макет = ОтчетОбъект.ПолучитьМакет("Макет");  
	ТабДок.Очистить(); 
	
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	ОбластьЗаголовок.Параметры.Заголовок = "Количество документов";
	ТабДок.Вывести(ОбластьЗаголовок, 0);
	
	ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
	ОбластьГод = Макет.ПолучитьОбласть("Год");
	ОбластьПроведен = Макет.ПолучитьОбласть("Проведен");
	
	Для Номер = 1 По Метаданные.Документы.Количество() Цикл
		ИмяДок = Метаданные.Документы.Получить(Номер-1).Имя;  
		
		Если Не ПравоДоступа("Чтение", Метаданные.Документы.Получить(Номер-1)) Тогда 
			Продолжить;
		КонецЕсли;
		
		
		Запрос = Новый Запрос;
		Запрос.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	ГОД(Документ.Дата) КАК Год,
		|	ВЫБОР
		|		КОГДА Документ.Проведен
		|			ТОГДА ""Проведен""
		|		ИНАЧЕ ""Не проведен""
		|	КОНЕЦ КАК Проведен,
		|	Документ.Ссылка КАК Ссылка
		|ИЗ
		|	Документ.ПоступлениеТоваров КАК Документ
		|ИТОГИ
		|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка)
		|ПО
		|	ОБЩИЕ,
		|	Год,
		|	Проведен"; 
		
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПоступлениеТоваров", ИмяДок); 
		РезультатЗапроса = Запрос.Выполнить();  
		
		ВыборкаОбщие = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
		Пока ВыборкаОбщие.Следующий() Цикл 
			ОбластьШапкаТаблицы.Параметры.Заполнить(ВыборкаОбщие);
			ОбластьШапкаТаблицы.Параметры.ИмяОбъекта = ИмяДок; 
			ТабДок.Вывести(ОбластьШапкаТаблицы, 1);
			ВыборкаГод = ВыборкаОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			Пока ВыборкаГод.Следующий() Цикл
				ОбластьГод.Параметры.Заполнить(ВыборкаГод);
				ТабДок.Вывести(ОбластьГод, 2);
				ВыборкаПроведен = ВыборкаГод.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
				Пока ВыборкаПроведен.Следующий() Цикл
					ОбластьПроведен.Параметры.Заполнить(ВыборкаПроведен);
					ТабДок.Вывести(ОбластьПроведен, 3);
				КонецЦикла;
			КонецЦикла; 
		КонецЦикла;
		
		
	КонецЦикла;
	
	ОбластьЗаголовок.Параметры.Заголовок = "Количество справочников";
	ТабДок.Вывести(ОбластьЗаголовок, 0);
	
	Для Номер = 1 По Метаданные.Справочники.Количество() Цикл
		ИмяСпр = Метаданные.Справочники.Получить(Номер-1).Имя;
		
		Если Не ПравоДоступа("Чтение", Метаданные.Справочники.Получить(Номер-1)) Тогда 
			Продолжить;
		КонецЕсли;
		
		Запрос = Новый Запрос;
		Запрос.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Справочник.Ссылка) КАК Ссылка
		|ИЗ
		|	Справочник.Номенклатура КАК Справочник";
		
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "Номенклатура", ИмяСпр); 
		
		РезультатЗапроса = Запрос.Выполнить();
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		
		Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			ОбластьШапкаТаблицы.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
			ОбластьШапкаТаблицы.Параметры.ИмяОбъекта = ИмяСпр; 
			ТабДок.Вывести(ОбластьШапкаТаблицы, 2);
		КонецЦикла;
		
	КонецЦикла; 
	
	ТабДок.ЗакончитьАвтогруппировкуСтрок(); 
	
	
КонецПроцедуры

Тестировалось на платформе 1С:Предприятие 8.3 (8.3.20.1590), конфигурациях Розница, редакция 2.3 (2.3.10.32), 1С:ERP Управление предприятием 2 (2.5.7.255).

база данных отчет документы справочники количество

См. также

Размер таблиц серверной базы данных (для двух СУБД)

Статистика базы данных Системный администратор Программист Платформа 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    745    8    yuraos    2    

8

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

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

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

3 стартмани

29.12.2023    1335    10    RustIG    5    

8

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

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

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

1 стартмани

26.10.2023    867    13    dimanich70    0    

5

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

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

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

2 стартмани

24.10.2023    1818    42    ixijixi    6    

20

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

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

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

5 стартмани

04.09.2023    979    6    Maxiko    0    

8

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

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

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

1 стартмани

16.08.2023    757    18    pwn    1    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mrChOP93 97 07.02.22 07:20 Сейчас в теме
Запросы в цикле, ну ёмана. Да и с ценой вы явно загнули.
SerVer1C; ixijixi; ybatiaev; +3 Ответить
2. ixijixi 1812 07.02.22 08:57 Сейчас в теме
10 денюх? Моё почтение
Прикрепленные файлы:
Оставьте свое сообщение