Определение размера базы данных 1С с разбивкой по объектам метаданных (обычная и управляемая форма)

31.01.19

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

Обработка для определения размера таблиц базы данных 1С. Адаптирована для конфигураций на обычных и управляемых формах 8.2 - 8.3!

Скачать файл

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

Наименование По подписке [?] Купить один файл
Размер таблиц базы данных 3.1 (8.3.6+)
.epf 32,70Kb ver:3.1.1
456
456 Скачать (1 SM) Купить за 1 850 руб.
Размер таблиц базы данных 2.1 (8.2-8.3.5)
.epf 33,44Kb ver:2.1.1
69
69 Скачать (1 SM) Купить за 1 850 руб.

Описание

Адаптация популярной обработки Определение размера базы данных 1С с разбивкой по объектам метаданных для управляемых форм.

Отличием от оригинала является портирование всех методов из обычной формы в управляемую форму, а также разработана версия для конфигураций с режимом совместимости выше 8.3.5. Также добавлена справка по настройкам строки соединения.

Режим использования модальности: Не использовать.

Режим использования синхронных вызовов расширений платформы и внешних компонент: Не использовать.

В версии для 8.3.6:

Процедура "Найти", заменена на "СтрНайти", т.к. считается устаревшей!

Весь функционал проиллюстрирован в скриншотах!

Ограничения

1. Есть ПК, на котором запускаются клиенты 1С. 
2. Есть ПК, на котором запускается агент сервера 1С. 
3. Есть ПК, на котором запускается SQL база. 

Первое ограничение работа с СУБД MS SQL. 
Второе ограничение работа по технологии COM. Данную технологию разработали для семейства ОС Windows, насколько знаю только ей и поддерживается. 


Вывод: 
1. Если у вас СУБД не MS SQL, то данная обработка не сработает! 
2. Если ПК, на котором запускается агент сервера 1С не на ОС Windows, то часть функционала будет неработоспособна. 
3. Если ПК, на котором запускаются клиенты 1С не на ОС Windows, то часть функционала будет неработоспособна. 
4. Если ПК клиента и сервера 1С не на ОС Windows, то данная обработка не сработает! 

Обновление от 09.06.2018
- Добавлена команда с гарантированным получением результата, но в управляемых формах значительно страдает производительность.
- Дополнена справочная информация.

Важно! Обработка не тестировалась на конфигурациях с расширениями, которые изменяют метаданные. Т.к. они изменяют структуру БД.

P.S. Если материал вам помог, поблагодарите автора, поставив звездочку!

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

См. также

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

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

1 стартмани

19.12.2024    451    9    smirnov0ser    0    

4

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

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

13.11.2024    976    103    evgeni-red    2    

7

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

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

1 стартмани

11.09.2024    1365    18    m_kislyak    3    

9

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

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

1 стартмани

10.09.2024    3705    48    pahno    8    

7

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

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

6 стартмани

12.08.2024    922    0    aximo    2    

3

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

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

1 стартмани

16.05.2024    2043    53    yuraos    4    

12

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

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

1 стартмани

29.12.2023    2392    14    RustIG    5    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. japopov 68 13.07.17 12:52 Сейчас в теме
То, что это только для MS SQL, указать просто забыли...
It-developer; nedopro; AlexB.; +3 Ответить
2. Xershi 1561 13.07.17 12:57 Сейчас в теме
(1) строчки такой нет, но из описания это сразу видно! А точнее в скриншотах!
44. It-developer 26 24.09.20 12:53 Сейчас в теме
(2) ну а чего в названии не написать? люди вначале смотрят на название! не на скриншоты!
3. Fox-trot 163 14.07.17 22:27 Сейчас в теме
такой инструмент каждый должен попробовать навоять :)
4. Xershi 1561 15.07.17 00:31 Сейчас в теме
(3) причем и на клиенте и на сервере!
5. Fox-trot 163 15.07.17 13:23 Сейчас в теме
я использовал адо, но по большому счету редька не слаще
6. Xershi 1561 15.07.17 13:45 Сейчас в теме
(5) длительность работы алгоритма не от ком-объекта зависит, а от кода!
7. Fox-trot 163 15.07.17 21:03 Сейчас в теме
так а я про что
помница еще была у мелких технология джет, но ее быстренько похоронили :)
8. Xershi 1561 15.07.17 21:04 Сейчас в теме
(7) дискутировать тут не о чем. Разница межу сервером и клиентом примерно 1 к 1,5. А у вас наверно было 1 к 300 или более в зависимости от данных.
9. TrinitronOTV 16 05.09.17 09:31 Сейчас в теме
Для файловых баз такую обработку как-то можно использовать?
10. Xershi 1561 05.09.17 15:33 Сейчас в теме
(9) это разработка не предназначена для файловых 1С! Т.к. она обращается к SQL серверу за данными. Для файловых есть специальная утилита или похожие разработки.
11. TrinitronOTV 16 07.09.17 05:40 Сейчас в теме
12. DenisCh 07.09.17 07:54 Сейчас в теме
(11) V8TableSizes от MMF
Качал, вроде, отсюда. На файловой работает. (Да только на файловой и работает )
13. TrinitronOTV 16 08.09.17 05:26 Сейчас в теме
(12) нашел такую, но версия не совсем новая, спасибо за информацию
14. dmitry1975 341 28.12.17 12:04 Сейчас в теме
Спасибо, помогла обработка :)
15. Дмитрий74Чел 239 02.01.18 20:46 Сейчас в теме
Автор, в описании четко не увидел: в тонком клиенте работает ли? А то много аналогов - но только в толстом.

Второй вопрос: учтена ли ошибка http://forum.infostart.ru/forum34/topic61223/message686024/#message686024
16. Xershi 1561 02.01.18 21:36 Сейчас в теме
(15) УФ предполагают работу как в тонком клиенте так и в толстом.
Т.к. данной ошибки не встречал, то гарантировать не могу.
17. Дмитрий74Чел 239 09.01.18 07:56 Сейчас в теме
(16) изменю формулировку: используется ли RS=cmd.Execute(); вместо RS.Open();
18. Xershi 1561 09.01.18 11:27 Сейчас в теме
(17) наверное речь идет об этой строке кода:
RS.Open(СтрЗаменить(ШаблонЗапроса, "%ИмяТаблицы%", Строка.ТаблицаSQL), Connect);
19. Xershi 1561 09.06.18 14:10 Сейчас в теме
Переписал алгоритмы для гарантированного получения результата, но скорость при этом пострадала:
RS.Open(СтрЗаменить(ШаблонЗапроса, "%ИмяТаблицы%", Строка.ТаблицаSQL), Connect);

Данный код выполняется 5 290 раз 58,318323 секунд и занимает 78,18 % времени исполнения всего кода.
А вот улучшенный вариант:
RS = cmd.Execute();

В разы медленнее из-за запроса на удаление таблиц и таймаута на ожидание блокировок, выполняется те же 5 290 раз, но уже за 943,982579 секунд и времени на все занимает уже 98,38 %!
А если запускать все на клиенте будет еще в 1,5 - 2 раза медленнее!

У вас конечно результаты будут другие, т.к. у каждого своя база, где-то меньше, а где-то и намного большего размера.
20. delta 701 05.10.18 02:50 Сейчас в теме
Добрый день! Интересная обработка.
А пробовали сделать такое для PostgreSQL?
21. Xershi 1561 05.10.18 09:12 Сейчас в теме
(20) добрый день. Нет опыта работы с такой СУБД.
22. Dream_kz 129 13.01.19 09:12 Сейчас в теме
23. Xershi 1561 13.01.19 10:30 Сейчас в теме
(22) кроме установки драйвера код переписывали?
24. Dream_kz 129 13.01.19 10:49 Сейчас в теме
(23) Да, запрос абсолютно другой
25. Xershi 1561 13.01.19 10:57 Сейчас в теме
(24) раз писали через ком, то работать будет только на клиенте. УФ на линуксе с сервера не запустите! Только ОФ в толстом клиенте, т.к. там все на клиенте.
26. Dream_kz 129 13.01.19 11:01 Сейчас в теме
(25) Сервер 1С может быть и на windows, тогда работать должно, и не важно где будет сервер субд.
27. Xershi 1561 13.01.19 12:15 Сейчас в теме
(26) так я вам написал, что если сервер 1С будет на линуксе. На windows и так понятно!
28. delta 701 17.01.19 10:12 Сейчас в теме
(22) Как я понимаю, эта версия требует наличия Windows и его компонент. А если у компании Линукс и Постгрес на нём, то эта компонента на заработает?
29. Xershi 1561 17.01.19 10:17 Сейчас в теме
(28) данная публикация работает через ком. Это технология винды. Если у вас толстый клиент обычное приложение на винде, либо режим запуска на клиенте, это уже у автора переделки надо уточнять, выше есть публикация, которая поддерживает другой тип базы данных, даже если сервер на линуксе. Иначе увы!
30. Dream_kz 129 17.01.19 10:28 Сейчас в теме
(28) Есть есть хоть один windows-клиент, то заработает. Если все исключительно (сервер 1С, клиенты 1С в т.ч.) на linux, то нет. На какой ОС находится сервер субд не важно.
31. Xershi 1561 17.01.19 11:04 Сейчас в теме
(30) уточню более детально.
1. Есть ПК, на котором запускаются клиенты 1С.
2. Есть ПК, на котором запускается агент сервера 1С.
3. Есть ПК, на котором запускается SQL база.

Первое ограничение работа с СУБД MS SQL.
Второе ограничение работа по технологии COM. Данную технологию разработали для семейства ОС Windows, насколько знаю только ей и поддерживается.

Вывод:
1. Если у вас СУБД не MS SQL, то данная обработка не сработает!
2. Если ПК, на котором запускается агент сервера 1С не на ОС Windows, то часть функционала будет неработоспособна.
3. Если ПК, на котором запускаются клиенты 1С не на ОС Windows, то часть функционала будет неработоспособна.
4. Если ПК клиента и сервера 1С не на ОС Windows, то данная обработка не сработает!

Думаю это будет исчерпывающий ответ!
Дополнительно внес это в описание публикации, чтобы не нужно было перечитывать комментарии!
32. delta 701 17.01.19 12:20 Сейчас в теме
(30) Тут всё упирается именно в чистый Линукс, даже без следов windows.
33. Dream_kz 129 17.01.19 14:34 Сейчас в теме
(32) Коллега, предлагаю писать в профильной теме https://infostart.ru/public/978816/, а то ТС уже ругается, на восклицательные знаки перешел.

Про чистый линукс я думал, для получения данных с сервера субд можно использовать внешние источники данных, в общем-то кроме odbc-драйвера ничего не понадобится, но нужна будет отдельная конфигурация, и идея простого способа (с помощью внешней универсальной обработки) получения информации одной кнопкой теряется, ибо надо получить данные с субд о размере таблиц, данные с нужной базы о структуре таблиц, и желательно целевую базу не модифицировать, то есть com-объектов не будет, и надо будет использовать http-сервисы. Много лишних телодвижений получается, но сделать можно.
34. Chelyapin 30.01.19 20:34 Сейчас в теме
Можете прислать мне обработку для управляемых форм, пожалуйста? Почта krasevE@yandex.ru
35. Xershi 1561 30.01.19 20:46 Сейчас в теме
(34) добрый вечер, а почему вы не хотите поделиться опытом на форуме, вам ИС начислит стартмани и сможете скачать любую обработку?
36. Angealtor 23 31.01.19 15:45 Сейчас в теме
Доброго дня! Обработка вылетает с ошибкой "{ВнешняяОбработка.РазмерТаблицБазыДанных31.Форма.ФормаУправляемая.Форма(364)}: Значение не является значением объектного типа (State) Пока RS.State = 0 Цикл" . Как я понимаю зависает на документе из расширения, а затем появляется такая ошибка. Платформа 8.3.13.1690, УТ 11.4.6.207. MS SQL 2012
37. Xershi 1561 31.01.19 15:58 Сейчас в теме
(36) добрый день! Обработка не тестировалась на конфигурациях с расширениями, которые изменяют метаданные. И пока такой возможности это проверить тоже нет.
38. Angealtor 23 31.01.19 16:16 Сейчас в теме
(37) Очень жаль. В самой публикации не указано, что обработка не работает с расширениями. Можете помочь, подсказать, в чем может проблема?
39. Xershi 1561 31.01.19 16:26 Сейчас в теме
(38) спасибо за комментарий. Добавлю описание, что данные версии не тестировались с расширениями, которые меняют метаданные.
40. Angealtor 23 01.02.19 08:20 Сейчас в теме
(39) Xershi, по самой проблеме сможете проконсультировать? Обработку уже скачал. Попробую разобраться сам, так как данный функционал очень нужен: база сильно растет в последнее время и непонятно в чем причина, так как динамика объема ввода информации не менялась.
41. Xershi 1561 01.02.19 09:42 Сейчас в теме
(40) раз ошибка в строке, которую указали, то проблема скорее всего в запросе к базе. Надо тестировать данные, чтобы понять в чем конкретно проблема.
Скорее всего историю данных включили или версионирование. А также ТИИ стоит сделать.
42. Angealtor 23 01.02.19 13:08 Сейчас в теме
(41) Да, версионирование включено.
43. Xershi 1561 01.02.19 14:08 Сейчас в теме
(42) запустите удаление старых версий затем ТИИ. Думаю размер на порядок уменьшится. Но и версий старых не будет.
45. aybek 04.11.20 17:06 Сейчас в теме
Добрый вечер, подскажите что делать если выходит такая ошибка
"{ВнешняяОбработка.РазмерТаблицБазыДанныхPostgreSQL.Форма.Форма.Форма(229)}: Ошибка при вызове метода контекста (Выполнить)
ДеревоОбъектов = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
по причине:
{(12, 2)}: Неверные параметры "ТЗ"
<<?>>&ТЗ КАК ТЗ"

Конф. 1С Бух Узбекистан 1.3
Платформа 8.3.10.2299
ОФ
SQL2014
Server2019
проблема База становится все больше и больше и хотели выяснить что заполняет базу. Купили обработку но не можем использовать.
Прикрепленные файлы:
46. Xershi 1561 04.11.20 17:24 Сейчас в теме
(45) очевидно это какая-то доработка. Пришлите в личку, посмотрю в чем может быть ошибка.
47. aybek 06.11.20 12:42 Сейчас в теме
(46)Не получилось вам что либо отправить. А что именно нужно прислать вам?
48. Xershi 1561 06.11.20 12:44 Сейчас в теме
(47) наверное потому что мало сообщений или стартмани на счете. Обработку, чтобы я сверил ее код с исходным файлом.
49. aybek 06.11.20 13:48 Сейчас в теме
(48) Можете мне в телеграмме написать? +998998615599
50. Xershi 1561 06.11.20 13:55 Сейчас в теме
51. Open-BS 3 12.05.21 13:58 Сейчас в теме
Добрый день!
Подскажите, пожалуйста, работает ли все же данная обработка на файловой базе или она предназначена только для клиент-серверного варианта?
52. Xershi 1561 12.05.21 14:08 Сейчас в теме
(51) добрый, в описании указано как работает обработка, если не поняли, то отвечаю, с файловой базой работать не будет. Также этот вопрос выше задавали в (9) и ответ в (10).
53. belousows 3 13.05.21 12:16 Сейчас в теме
Ошибка выходит

Значение не является значением объектного типа (State)
{ВнешняяОбработка.РазмерТаблицБазыДанных31.Форма.ФормаУправляемая.Форма(189)}: Пока RS.State = 0 Цикл
{ВнешняяОбработка.РазмерТаблицБазыДанных31.Форма.ФормаУправляемая.Форма(39)}: ЗаполнитьСтруктуруТаблицНаКлиенте();
54. Xershi 1561 13.05.21 12:41 Сейчас в теме
(53) попробуйте другую кнопку или на другой базе.
55. niksr 14.01.23 02:25 Сейчас в теме
По левой кнопке точно такая же ошибка, как (53)
По правой кнопке ("быстро...") Произошла исключительная ситуация (ADODB.Recordset): Current provider does not support returning multiple recordsets from a single execution

На всех базах
56. G_101236070757873401750 10.04.23 15:27 Сейчас в теме
Добрый день! Приобрели вашу обработку для выяснения чем же занято 100 гигабайт в ИБ Центр Контроля Качества, но никак не получается её запустить. Можете подсказать в чём причина? Скриншот и отчёт об ошибке - во вложении.
Прикрепленные файлы:
Ошибка_20230410185712.zip
57. Xershi 1561 10.04.23 15:49 Сейчас в теме
(56) сложно сказать. Скорее всего дело в расширении. В описании к ошибке указывает на таблицу с ними. Попробуйте их удалить и проверить еще раз. В описании публикации на этом акцентирован момент.
Скорее всего файлы и логи у вас много места занимают.
58. sergling 34 04.12.24 14:47 Сейчас в теме
я попробовал решить проблему с расширениями в лоб, мне помогло, может быть потому, что у меня только одно расширение меняет данные. Если объект добавлен в расширение, то у таблицы появляется суффикс "X1"
		
                ОшибкаЗапроса = Ложь;
		Попытка
			RS.Open(СтрЗаменить(ШаблонЗапроса,"%ИмяТаблицы%", Строка.ТаблицаSQL), Connect);
		Исключение
			ОшибкаЗапроса = Истина;
			ОписаниеОшибки = ОписаниеОшибки();
			//Сообщить(ОписаниеОшибки());
		КонецПопытки;
		
		Если ОшибкаЗапроса Тогда //пробуем расширение
			Попытка
				RS.Open(СтрЗаменить(ШаблонЗапроса,"%ИмяТаблицы%", Строка.ТаблицаSQL + "X1"), Connect);
			Исключение
				Сообщить(ОписаниеОшибки());
			КонецПопытки;
		КонецЕсли;	
Показать


если вообще получаем ошибку соединения, то рекомендую пробовать пользоваться такой строкой подключения

Provider=SQLNCLI11.1;Persist Security Info=False;User ID=user1c;password=123;Initial Catalog=basename;Data Source=localhost,1433;Initial File Name="";Server SPN=""

соответственно вставить свои параметры
rickilog; +1 Ответить
59. Xershi 1561 04.12.24 15:02 Сейчас в теме
(58) да, вы правы. Если анализировать СУБД, то для объектов расширения есть такой суффикс. Еще как наводка, возможно метод который возвращает структуру СУБД, также есть аналог или добавка для возвращения структуры с расширениями. Пока надобности и в такой доработки нету, поэтому пока выложить рабочий вариант не получится.
Оставьте свое сообщение