Структура базы данных в терминах СУБД

Опубликовал Kaperang в раздел Администрирование - Статистика базы данных

Отчет "Структура базы данных в терминах СУБД" позволяет по заданным объектам метаданных получить  описание структуры таблиц, индексов и полей базы данных в терминах используемой СУБД.

Отчет "Структура базы данных в терминах СУБД" позволяет по заданным объектам метаданных получить  описание структуры таблиц, индексов и полей базы данных в терминах используемой СУБД.

Отчет содержит 5 закладок.

На первой закладке "Метаданные" в дереве метаданных следует указать интересующие объекты.(Если не будет указан ни один объект, будет выведена структура всей базы данных). После этого

следует нажать кнопку "Выполнить".

На закладках "СтруктураБД", "Поля", "Индексы", "ТаблицыИндексов" будут отображены  структуры таблиц, индексов и полей базы данных в терминах используемой СУБД.

На закладке "СтруктураБД" отображаются таблицы СУБД, в которых хранится исследуемый объект метаданных. Таблица содержит следующие колонки:

   ИмяТаблицыХранения(StorageTableName) – имя таблицы SDBL или базы данных;
   ИмяТаблицы(TableName) – имя таблицы в терминах языка запросов (для тех у кого оно есть);
   Метаданные(Metadata) – полное имя объекта метаданных;
   Назначение(Purpose) – назначение таблицы:

      Основная(Main) - основная; 
      Константы(Constants) - константы; 
      Итоги(Totals) - итоги; 
      ИтогиПоСчетам(TotalsByAccounts) - итоги по счетам; 
      ИтогиПоСчетамССубконто(TotalsByAccountsWithExtDim) - итоги по счетам с субконто; 
      ИтогиМеждуСчетами(TotalsBetweenAccounts) - итоги между счетами; 
      ВидыСубконто(ExtDimensionTypes) - виды субконто; 
      ЗначенияСубконто(ExtDimensionsValues) - значения субконто; 
      ВытесняющиеВидыРасчета(DisplacingCalculationTypes) - вытесняющие виды расчета; 
      ПорядокВытеснения(DisplacementOrder) - порядок вытеснения; 
      ВедущиеВидыРасчета(LeadingCalculationTypes) - ведущие виды расчета; 
      БазовыеВидыРасчета(BaseCalculationTypes) - базовые виды расчета; 
      ПериодыДействия(ActionPeriods) - периоды действия; 
      ГраницыПоследовательности(SequenceBoundaries) - границы последовательности; 
      ТочкиМаршрута(RoutePoints) - точки маршрута бизнес-процесса; 
      ТабличнаяЧасть(TabularSection) - табличная часть; 
      РегистрацияИзменений(ChangeRecord) - регистрация изменений; 
      РегистрацияИзмененийКонстант(ConstantsChangeRecord) - регистрация изменений констант; 
      РегистрацияИзмененийКонфигурации(ConfigChangeRecord) - регистрация изменений конфигурации; 
      РегистрацияИзмененийВнешнихСвойствКонфигурации(ConfigExtPropertiesChangeRecord) - регистрация изменений внешних свойств конфигурации; 
      ТаблицаНастроекХраненияИтоговРегистровНакопления(AccumulationRegistersOptionsTable) - таблица настроек хранения итогов регистров накопления; 
      ТаблицаНастроекХраненияИтоговРегистровБухгалтерии(AccountRegistersOptionsTable) - таблица  настроек хранения итогов регистров бухгалтерии;
 

Интересующую таблицу СУБД можно более подробно исследовать на последующих закладках: "Поля", "Индексы", "Таблица Индексов". Для этого необходимо выделить одинарным щелчком мыши выделить в таблице на закладке "СтруктураБД" нужную таблицу СУБД.

В таблице на закладке "Поля" при этом отобразится структура полей исследуемой таблицы СУБД. В таблице на закладке "Индексы" отобразятся индексы  исследуемой таблицы СУБД. Если выделить одинарным щелчком левой кнопки мыши интересующий индекс, то в таблице на закладке "Таблица индексов" отобразится структура таблицы индексов, используемая при поиске по выделенному индексу в исследуемой таблице СУБД.

Содержимое интересующей таблицы можно распечатать,  нажав по кнопке с изображением принтера.

Теоретически должна работать на любой конфигурации, т.к. обращается к метаданным. На штатных "БП", "УП" от "1С" и сильно переписанной  "Альфа-Авто" от "Рарус" отработала без проблем.

 Код отчета открытый.  В основе действия отчета лежит штатная функция языка ПолучитьСтруктуруХраненияБазыДанных(...), к которой был прикручен более-менее удобный интерфейс для фильтрации  и просмотра полученных данных. Частично использован код обработки "УниверсальнаяЗагрузкаВыгрузкаЗагрузка 8.1" с диска ИТС - для формирования дерева метаданных.

Отчет писался под себя, когда необходимо было узнать имена таблиц для подстановки в прямые SQL-запросы. Буду рад, если пригодится кому-либо еще. Принимаются любые замечания и предложения по доработке.

Файлы

Наименование Файл Версия Размер Кол. Скачив.
Структура БД_v_1.4.erf для 8.1
.erf 22,13Kb
19.05.14
253
.erf 22,13Kb 253 Скачать
Структура БД_v_1.4.erf для 8.2
.erf 21,48Kb
19.05.14
156
.erf 21,48Kb 156 Скачать

См. также

Лучшие комментарии

11. Ish_2 (файл скачал) 26.08.2010 16:41
(6) На темы "лицензионного соглашения 1с", "структуры хранения бахы данных" на ИС много чего написано. Думаю , народ просто устал.
+ 2 [ vvvnsk; jeto; ]
# Ответить

Комментарии

1. Magister 26.08.2010 09:06
А ничего, что 1С в лицензии запрещает прямой доступ к базе?
Ответили: (2)
# Ответить
2. YVolohov 26.08.2010 09:31
(1) Судя по всему автор использует родную функцию 1С ПолучитьСтруктуруХраненияБазыДанных(). А это точно не нарушение лицензии 1С.
# Ответить
3. Kaperang 26.08.2010 09:34
Цитирую по синтаксис-справочнику:
"
ПолучитьСтруктуруХраненияБазыДанных(...)
...
Примечание:
Следует использовать метод только для административных задач обслуживания базы данных и анализа записей технологического журнала. Не рекомендуется применять метод для реализации какой-либо части прикладной функциональности.
"
# Ответить
4. Kaperang 26.08.2010 10:09
Цитата из лицензии на 1С:
"
2.3 Лицензиат обязуется не допускать нарушений исключительных прав Правообладателя на ПРОГРАММНЫЙ ПРОДУКТ, в ч не совершать и не допускать совершения третьими лицами следующих действий без специального письменного разрешения Правообладателя:
2.4 Распространять ПРОГРАММНЫЙ ПРОДУКТ или отдельные его компоненты;
2.5 Вносить какие-либо изменения в код ПРОГРАММНОГО ПРОДУКТА, за исключением тех. которые вносятся штатными средствами, входящими в состав ПРОГРАММНОГО ПРОДУКТА и описанными в сопроводительной документации;
2.6 Осуществлять доступ к информационной базе ПРОГРАММНОГО ПРОДУКТА и построение систем на основе ПРОГРАММ ПРОДУКТА с помощью средств и технологических решений, не предусмотренных в сопроводительной документации;
2.7 Совершать действия, результатом которых является устранение или снижение эффективности технических средств защи авторских прав, применяемых Правообладателем, включая применение программных и технических средств "мультиплексирова средств, изменяющих алгоритм работы программных или аппаратных средств защиты ПРОГРАММНОГО ПРОДУКТА, а также использовать ПРОГРАММНЫЙ ПРОДУКТ с устраненными или измененными без разрешения Правообладателя средствами защиты;
2.8 Восстанавливать исходный код, декомпилировать и/или деассемблировать программную часть системы, за исключением случаев, и лишь в той степени, в какой такие действия специально разрешены действующим законодательством.
"
# Ответить
5. gilv (файл скачал) 26.08.2010 12:04
Слушьте, очередную вариацию уже 10 раз вижу, ну хоть бы один уж сделал хотя бы все тоже самое под 8.2

а то минусы поставлю "не тратить время на одно и тоже" :)
Ответили: (7)
# Ответить
6. Kaperang 26.08.2010 13:14
На основании внимательного прочтения лицензии 1С возникает следующая дилемма: В штатном языке 1С есть (и в сопроводительной документации описан) механизм работы с COM-объектами в целом, но не описан функционал конкретного COM-объекта ADODB (который обычно используется для прямых SQL-запросов). Равно как и функционал любых других COM-объектов (кроме штатных 1С-ных ("V81.COMConnector" и"V81.Application"). Означает ли это, что нельзя использовать никакие COM-объекты, кроме двух перечисленных выше?
Ответили: (11)
# Ответить
7. Ish_2 (файл скачал) 26.08.2010 13:20
(5) Первая публикация автора.
Ответили: (10)
# Ответить
8. tango 26.08.2010 13:24
мимо лицензий 1с я без шуток не хожу
# Ответить
9. Kaperang 26.08.2010 13:59
(5) А штатный механизм конвертации обработок уже не моден? Впрочем, выкладываю версию для 8.2
# Ответить
10. gilv (файл скачал) 26.08.2010 16:28
(7) а я пока и дал время "оправдаться"
я сам таких публикаций могу навыкладывать мешок...

популярней раз все что обработки "консоли запросов" :)
# Ответить
11. Ish_2 (файл скачал) 26.08.2010 16:41
(6) На темы "лицензионного соглашения 1с", "структуры хранения бахы данных" на ИС много чего написано. Думаю , народ просто устал.
+ 2 [ vvvnsk; jeto; ]
# Ответить
12. Kaperang 26.08.2010 18:19
Просмотрел аналогичные обработки на инфорстарте. Заинтересовала Структура таблиц SQL - в ней на основании полученных сведений о таблицах БД можно генерить тексты запросов. К сожалению, реализация зачаточная, но сама идея,IMHO, шикарная. Думаю, прикручу аналогичную фишку к своему отчету, плюс сделаю возможность сразу из формы обработки исполнять SQL-запрос на сервере. Этакий конструктор SQL-запросов в миниатюре. Обработка пишется под себя. Сейчас активно изучаю SQL-ные запросы. Если получится что-то путное, и тема будет народу интересна, выложу.
Ответили: (13) (15)
# Ответить
13. K_A_O (файл скачал) 26.08.2010 20:28
(12) рекомендую посмотреть SQLPlus, там это уже есть

http://infostart.ru/public/14692/

Но можно развивать дальше :)
Ответили: (18)
# Ответить
14. MrGrey (файл скачал) 27.08.2010 10:00
Обе обработки под 8.2!
Под 8.1 не откравается :(
Ответили: (17)
# Ответить
15. gilv (файл скачал) 29.08.2010 12:34
(12) я сам плохо "сформулировал задачу", в уме то держал возможность работы через веб-клиент
конечно, просто сконвертировать обработку может каждый из 8.1

ставлю обещанный плюс, хорошая работа, и не только для первой публикации
если будет интересно развивать. могу кинуть на почту свою lock.epf :)
# Ответить
16. gilv (файл скачал) 29.08.2010 12:36
небольшое пожелание:
мне например часто приходиться решать не задачу посмотреть на объекты и имена таблиц,

а быстро по имени sql-таблицы получить имя метаданных, и только потом копаться
я в свой обработке это релазивывал тупым беребором всего

но с функцией поиска обработка обретет еще и реальное использование
это как пожелание
# Ответить
17. Kaperang 30.08.2010 14:30
(14) Поправил файлы: теперь первый - под 8.1, второй - под 8.2 - в соответствии с описанием.
# Ответить
18. Kaperang 30.08.2010 17:24
(13) Посмотрел SQLPlus Да, ничто не ново под луной :) Обработка - вещь!!! На первый взгляд,все что нужно, для полного счастья в жизни, уже прикручено, даже help толковый есть. Будем изучать и пользовать.
Ответили: (19)
# Ответить
19. fishca (файл скачал) 01.09.2010 13:15
(18) а так слабо: http://infostart.ru/public/73264/ ? :))))))))))))))))))
Ответили: (20)
# Ответить
20. Kaperang 13.09.2010 13:10
(19) Можно и так. Только зачем повторяться. Лучше сделаю что-нить новое, до чего еще никто до меня не додумался :)
# Ответить
21. tartalia (файл скачал) 01.11.2011 16:44
отличный отчет, нашлось много чего нового
# Ответить
22. dev.evgen 10.01.2012 12:56
большое спасибо. сразу решилось много проблем
# Ответить
23. Maks888 16.05.2012 10:33
Отчет хороший, спасибо! Разве что на закладке "Метаданные" не хватает списка отчетов..
# Ответить
24. klel 07.01.2013 10:53
Спасибо полезная штучка :) теперь хоть знаю какая таблица и где.
# Ответить
25. mk314 18.06.2013 19:35
Работает в конфигурации с управляемыми формами?
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016