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