&НаКлиенте
Процедура ВыгрузитьВсё(Команда)
Сообщить("Начинаю сбор данных... Это может занять минуту. Жди...");
// Вызываем серверную процедуру для сбора полной базы
ТекстДампа = СобратьВсюБазуНаСервере();
// Сохраняем в файл. ВНИМАНИЕ: Если на сервере нет прав писать на диск C:\,
// измени путь на D:\ или на путь к своему рабочему столу в RDP.
ПутьКФайлу = "C:\1C_Full_Metadata.txt";
ТекстДок = Новый ТекстовыйДокумент;
ТекстДок.УстановитьТекст(ТекстДампа);
ТекстДок.Записать(ПутьКФайлу, "UTF-8");
Сообщить("УСПЕХ! Полный дамп сохранен по пути: " + ПутьКФайлу);
КонецПроцедуры
&НаСервере
Функция СобратьВсюБазуНаСервере()
Текст = "=== ПОЛНЫЙ ДАМП МЕТАДАННЫХ 1С ===" + Символы.ПС;
// 1. Выгрузка ВСЕХ Справочников
Текст = Текст + Символы.ПС + "=== СПРАВОЧНИКИ ===" + Символы.ПС;
Для Каждого Объект Из Метаданные.Справочники Цикл
Текст = Текст + "Справочник." + Объект.Имя + " (" + Объект.Синоним + ")" + Символы.ПС;
Для Каждого Реквизит Из Объект.Реквизиты Цикл
Текст = Текст + " - " + Реквизит.Имя + " : " + Строка(Реквизит.Тип) + Символы.ПС;
КонецЦикла;
// Табличные части
Для Каждого ТЧ Из Объект.ТабличныеЧасти Цикл
Текст = Текст + " + ТЧ: " + ТЧ.Имя + Символы.ПС;
Для Каждого РеквТЧ Из ТЧ.Реквизиты Цикл
Текст = Текст + " - " + РеквТЧ.Имя + " : " + Строка(РеквТЧ.Тип) + Символы.ПС;
КонецЦикла;
КонецЦикла;
Текст = Текст + Символы.ПС;
КонецЦикла;
// 2. Выгрузка ВСЕХ Документов
Текст = Текст + Символы.ПС + "=== ДОКУМЕНТЫ ===" + Символы.ПС;
Для Каждого Объект Из Метаданные.Документы Цикл
Текст = Текст + "Документ." + Объект.Имя + " (" + Объект.Синоним + ")" + Символы.ПС;
Для Каждого Реквизит Из Объект.Реквизиты Цикл
Текст = Текст + " - " + Реквизит.Имя + " : " + Строка(Реквизит.Тип) + Символы.ПС;
КонецЦикла;
Для Каждого ТЧ Из Объект.ТабличныеЧасти Цикл
Текст = Текст + " + ТЧ: " + ТЧ.Имя + Символы.ПС;
Для Каждого РеквТЧ Из ТЧ.Реквизиты Цикл
Текст = Текст + " - " + РеквТЧ.Имя + " : " + Строка(РеквТЧ.Тип) + Символы.ПС;
КонецЦикла;
КонецЦикла;
Текст = Текст + Символы.ПС;
КонецЦикла;
// 3. Выгрузка ВСЕХ Регистров сведений
Текст = Текст + Символы.ПС + "=== РЕГИСТРЫ СВЕДЕНИЙ ===" + Символы.ПС;
Для Каждого Объект Из Метаданные.РегистрыСведений Цикл
Текст = Текст + "РегистрСведений." + Объект.Имя + " (" + Объект.Синоним + ")" + Символы.ПС;
Для Каждого Измерение Из Объект.Измерения Цикл
Текст = Текст + " [Измерение] " + Измерение.Имя + " : " + Строка(Измерение.Тип) + Символы.ПС;
КонецЦикла;
Для Каждого Ресурс Из Объект.Ресурсы Цикл
Текст = Текст + " [Ресурс] " + Ресурс.Имя + " : " + Строка(Ресурс.Тип) + Символы.ПС;
КонецЦикла;
Для Каждого Реквизит Из Объект.Реквизиты Цикл
Текст = Текст + " [Реквизит] " + Реквизит.Имя + " : " + Строка(Реквизит.Тип) + Символы.ПС;
КонецЦикла;
Текст = Текст + Символы.ПС;
КонецЦикла;
Возврат Текст;
КонецФункции