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

Администрирование - Статистика базы данных

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

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

Описание

Адаптация популярной обработки Определение размера базы данных 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. Если материал вам помог, поблагодарите автора, поставив звездочку!

27

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

Наименование Файл Версия Размер
Размер таблиц базы данных 3.1 (8.3.6+)
.epf 32,70Kb
17.01.19
140
.epf 3.1.1 32,70Kb 140 Скачать
Размер таблиц базы данных 2.1 (8.2-8.3.5)
.epf 33,44Kb
09.06.18
30
.epf 2.1.1 33,44Kb 30 Скачать

См. также

Специальные предложения

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

Второй вопрос: учтена ли ошибка http://forum.infostart.ru/forum34/topic61223/message686024/#message686024
16. Xershi 462 02.01.18 21:36 Сейчас в теме
(15) УФ предполагают работу как в тонком клиенте так и в толстом.
Т.к. данной ошибки не встречал, то гарантировать не могу.
17. Дмитрий74Чел 18 09.01.18 07:56 Сейчас в теме
(16) изменю формулировку: используется ли RS=cmd.Execute(); вместо RS.Open();
18. Xershi 462 09.01.18 11:27 Сейчас в теме
(17) наверное речь идет об этой строке кода:
RS.Open(СтрЗаменить(ШаблонЗапроса, "%ИмяТаблицы%", Строка.ТаблицаSQL), Connect);
19. Xershi 462 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 288 05.10.18 02:50 Сейчас в теме
Добрый день! Интересная обработка.
А пробовали сделать такое для PostgreSQL?
21. Xershi 462 05.10.18 09:12 Сейчас в теме
(20) добрый день. Нет опыта работы с такой СУБД.
22. Dream_kz 84 13.01.19 09:12 Сейчас в теме
23. Xershi 462 13.01.19 10:30 Сейчас в теме
(22) кроме установки драйвера код переписывали?
24. Dream_kz 84 13.01.19 10:49 Сейчас в теме
(23) Да, запрос абсолютно другой
25. Xershi 462 13.01.19 10:57 Сейчас в теме
(24) раз писали через ком, то работать будет только на клиенте. УФ на линуксе с сервера не запустите! Только ОФ в толстом клиенте, т.к. там все на клиенте.
26. Dream_kz 84 13.01.19 11:01 Сейчас в теме
(25) Сервер 1С может быть и на windows, тогда работать должно, и не важно где будет сервер субд.
27. Xershi 462 13.01.19 12:15 Сейчас в теме
(26) так я вам написал, что если сервер 1С будет на линуксе. На windows и так понятно!
28. delta 288 17.01.19 10:12 Сейчас в теме
(22) Как я понимаю, эта версия требует наличия Windows и его компонент. А если у компании Линукс и Постгрес на нём, то эта компонента на заработает?
29. Xershi 462 17.01.19 10:17 Сейчас в теме
(28) данная публикация работает через ком. Это технология винды. Если у вас толстый клиент обычное приложение на винде, либо режим запуска на клиенте, это уже у автора переделки надо уточнять, выше есть публикация, которая поддерживает другой тип базы данных, даже если сервер на линуксе. Иначе увы!
30. Dream_kz 84 17.01.19 10:28 Сейчас в теме
(28) Есть есть хоть один windows-клиент, то заработает. Если все исключительно (сервер 1С, клиенты 1С в т.ч.) на linux, то нет. На какой ОС находится сервер субд не важно.
31. Xershi 462 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 288 17.01.19 12:20 Сейчас в теме
(30) Тут всё упирается именно в чистый Линукс, даже без следов windows.
33. Dream_kz 84 17.01.19 14:34 Сейчас в теме
(32) Коллега, предлагаю писать в профильной теме https://infostart.ru/public/978816/, а то ТС уже ругается, на восклицательные знаки перешел.

Про чистый линукс я думал, для получения данных с сервера субд можно использовать внешние источники данных, в общем-то кроме odbc-драйвера ничего не понадобится, но нужна будет отдельная конфигурация, и идея простого способа (с помощью внешней универсальной обработки) получения информации одной кнопкой теряется, ибо надо получить данные с субд о размере таблиц, данные с нужной базы о структуре таблиц, и желательно целевую базу не модифицировать, то есть com-объектов не будет, и надо будет использовать http-сервисы. Много лишних телодвижений получается, но сделать можно.
Оставьте свое сообщение