Диагностика БД
Как просмотреть структуру таблиц информационной базы?
Оригинальная информация на ИТС Тест модуля формы обработки на обычных формах
Процедура КнопкаВыполнитьНажатие(Кнопка)
МассивИменМетаданных = Новый Массив();
ТекстовыйДокумент = ПолучитьСтруктуруТаблицНаСервере(МассивИменМетаданных);
ТекстовыйДокумент.Показать("Структура хранения базы данных");
КонецПроцедуры
Функция ПолучитьСтруктуруТаблицНаСервере(МассивИменМетаданных)
ТекстовыйДокумент = Новый ТекстовыйДокумент;
// Таблица значений, содержащая таблицы указанного объекта
Таблицы = ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
Для Каждого Таблица Из Таблицы Цикл
ТекстовыйДокумент.ДобавитьСтроку("");
ТекстовыйДокумент.ДобавитьСтроку("Таблица: " + Таблица.ИмяТаблицы +
", Имя таблицы хранения: " + Таблица.ИмяТаблицыХранения +
", Назначение: " + Таблица.Назначение);
ТекстовыйДокумент.ДобавитьСтроку("- поля: ");
ПоляТаблицы = Таблица.Поля;
Для Каждого Поле Из ПоляТаблицы Цикл
ТекстовыйДокумент.ДобавитьСтроку(" " + Поле.ИмяПоля +
" (" + Поле.ИмяПоляХранения + ")");
КонецЦикла;
ТекстовыйДокумент.ДобавитьСтроку("- индексы: ");
ИндексыТаблицы = Таблица.Индексы;
Для Каждого Индекс Из ИндексыТаблицы Цикл
ТекстовыйДокумент.ДобавитьСтроку(" " + Индекс.ИмяИндексаХранения);
СтрокаИндекса = "";
СтрокаХраненияИндекса = "";
ПоляИндекса = Индекс.Поля;
Для Каждого ПолеИндекса Из ПоляИндекса Цикл
Если СтрокаИндекса <> "" Тогда
СтрокаИндекса = СтрокаИндекса + " + ";
КонецЕсли;
СтрокаИндекса = СтрокаИндекса + ПолеИндекса.ИмяПоля;
Если СтрокаХраненияИндекса <> "" Тогда
СтрокаХраненияИндекса = СтрокаХраненияИндекса + " + ";
КонецЕсли;
СтрокаХраненияИндекса = СтрокаХраненияИндекса + ПолеИндекса.ИмяПоляХранения;
КонецЦикла;
ТекстовыйДокумент.ДобавитьСтроку(" " + СтрокаИндекса +
" (" + СтрокаХраненияИндекса + ")");
КонецЦикла;
КонецЦикла;
Возврат ТекстовыйДокумент;
КонецФункции