Код 1C v 8.х
Перем ОбъектыКонфы;
Перем СтруктКонфы;
Процедура ВыгрузитьВWord()
Попытка
Word = Новый COMОбъект( "Word.Application" ) ;
Исключение
Сообщить( "Не удалось открыть Word" ) ;
Возврат ;
КонецПопытки ;
Word. Documents. Add( ) ;
Документ = Word. ActiveDocument( ) ;
Для Каждого ТипОбъекта Из ОбъектыКонфы Цикл
Состояние( ТипОбъекта. Значение) ;
Если Метаданные[ТипОбъекта. Ключ]. Количество( ) > 0 Тогда
Документ. Paragraphs. Add( ) ;
Номер = Документ. Paragraphs. Count( ) ;
Документ. Paragraphs( Номер- 1 ) . Range( ) . I_nsertAfter( ТипОбъекта. Значение) ;
Документ. Paragraphs( Номер) . Range( ) . Style= "Заголовок 1" ;
Для каждого Объект Из Метаданные[ТипОбъекта. Ключ] Цикл
Документ. Paragraphs. Add( ) ;
Номер = Документ. Paragraphs. Count( ) ;
Документ. Paragraphs( Номер- 1 ) . Range( ) . I_nsertAfter( Объект. Синоним) ;
Документ. Paragraphs( Номер) . Range( ) . Style= "Заголовок 2" ;
Для каждого Параметр Из СтруктКонфы Цикл
Попытка
Количество = Объект[Параметр. Ключ]. Количество( ) ;
Исключение
Продолжить;
КонецПопытки ;
Если Количество > 0 Тогда
Документ. Paragraphs. Add( ) ;
Номер = Документ. Paragraphs. Count( ) ;
Документ. Paragraphs( Номер- 1 ) . Range( ) . I_nsertAfter( Параметр. Значение + " (" + Количество + ")" ) ;
Документ. Paragraphs( Номер) . Range( ) . Style= "Заголовок 3" ;
Документ. Paragraphs. Add( ) ;
Номер= Документ. Paragraphs. Count( ) ;
Документ. Tables. Add( Документ. Paragraphs( Номер) . Range( ) , Количество+ 1 , 4 ) ;
Счетчик = 1 ;
Таблица = Документ. Tables( Документ. Tables. Count( ) ) ;
Таблица. Cell( Счетчик, 1 ) . Range( ) . I_nsertAfter( "Имя" ) ;
Таблица. Cell( Счетчик, 2 ) . Range( ) . I_nsertAfter( "Синоним" ) ;
Таблица. Cell( Счетчик, 3 ) . Range( ) . I_nsertAfter( "Тип" ) ;
Таблица. Cell( Счетчик, 4 ) . Range( ) . I_nsertAfter( "Комментарий" ) ;
Документ. Range( Таблица. Cell( Счетчик, 1 ) . Range. Start, Таблица. Cell( Счетчик, 4 ) . Range. End) . Font. Bold = Истина ;
Для каждого Значение Из Объект[Параметр. Ключ] Цикл
Счетчик = Счетчик + 1 ;
Попытка
Таблица. Cell( Счетчик, 1 ) . Range( ) . I_nsertAfter( Значение. Имя) ;
Исключение
КонецПопытки ;
Попытка
Таблица. Cell( Счетчик, 2 ) . Range( ) . I_nsertAfter( Значение. Синоним) ;
Исключение
КонецПопытки ;
Попытка
СтрокаТипов = "" ;
Для каждого Тип Из Значение. Тип. Типы( ) Цикл
СтрокаТипов = СтрокаТипов + " " + Строка( Тип) ;
КонецЦикла ;
Таблица. Cell( Счетчик, 3 ) . Range( ) . I_nsertAfter( СтрокаТипов) ;
Исключение
КонецПопытки ;
Попытка
Таблица. Cell( Счетчик, 4 ) . Range( ) . I_nsertAfter( Значение. Комментарий) ;
Исключение
КонецПопытки ;
КонецЦикла ;
КонецЕсли ;
КонецЦикла ;
КонецЦикла ;
КонецЕсли ;
КонецЦикла ;
Word. Visible = Истина ;
Word. Activate( ) ;
Word = Неопределено ;
КонецПроцедуры
Процедура ВыгрузитьВExcel()
Попытка
Excel = Новый COMОбъект( "Excel.Application" ) ;
Исключение
Сообщить( "Не удалось открыть Excel" ) ;
Возврат ;
КонецПопытки ;
Excel. Application. Workbooks. Add( 1 ) ;
Лист = Excel. ActiveSheet;
Лист. Name = "Данные" ;
НомерСтроки = 0 ;
Для Каждого ТипОбъекта Из ОбъектыКонфы Цикл
Состояние( ТипОбъекта. Значение) ;
Если Метаданные[ТипОбъекта. Ключ]. Количество( ) > 0 Тогда
НомерСтроки = НомерСтроки + 1 ;
Лист. Cells( НомерСтроки, 1 ) . Value = ТипОбъекта. Значение;
Лист. Cells( НомерСтроки, 1 ) . Font. Size = 16 ;
Лист. Cells( НомерСтроки, 1 ) . Font. ColorIndex = 3 ;
Для каждого Объект Из Метаданные[ТипОбъекта. Ключ] Цикл
НомерСтроки = НомерСтроки + 1 ;
Лист. Cells( НомерСтроки, 1 ) . Value = Объект. Синоним;
Лист. Cells( НомерСтроки, 1 ) . I_nsertIndent( 2 ) ;
Лист. Cells( НомерСтроки, 1 ) . Font. Size = 12 ;
Лист. Cells( НомерСтроки, 1 ) . Font. ColorIndex = 5 ;
Для каждого Параметр Из СтруктКонфы Цикл
Попытка
Количество = Объект[Параметр. Ключ]. Количество( ) ;
Исключение
Продолжить;
КонецПопытки ;
Если Количество > 0 Тогда
НомерСтроки = НомерСтроки + 1 ;
Лист. Cells( НомерСтроки, 1 ) . Value = Параметр. Значение + " (" + Количество + ")" ;
Лист. Cells( НомерСтроки, 1 ) . I_nsertIndent( 4 ) ;
Лист. Cells( НомерСтроки, 1 ) . Font. Bold = Истина ;
Лист. Cells( НомерСтроки, 1 ) . Font. ColorIndex = 16 ;
НомерСтроки = НомерСтроки + 1 ;
Лист. Cells( НомерСтроки, 1 ) . Value = "Имя" ;
Лист. Cells( НомерСтроки, 2 ) . Value = "Синоним" ;
Лист. Cells( НомерСтроки, 3 ) . Value = "Тип" ;
Лист. Cells( НомерСтроки, 4 ) . Value = "Комментарий" ;
Для Ном = 1 По 4 Цикл
Лист. Cells( НомерСтроки, Ном) . ColumnWidth = 20 ;
Лист. Cells( НомерСтроки, Ном) . Font. Bold = Истина ;
Лист. Cells( НомерСтроки, Ном) . Borders( 5 ) . LineStyle = - 4142 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 7 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 8 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 9 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 10 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . Interior. ColorIndex = 34 ;
КонецЦикла ;
Для каждого Значение Из Объект[Параметр. Ключ] Цикл
НомерСтроки = НомерСтроки + 1 ;
Попытка
Лист. Cells( НомерСтроки, 1 ) . Value = Значение. Имя;
Исключение
КонецПопытки ;
Попытка
Лист. Cells( НомерСтроки, 2 ) . Value = Значение. Синоним;
Исключение
КонецПопытки ;
Попытка
СтрокаТипов = "" ;
Для каждого Тип Из Значение. Тип. Типы( ) Цикл
СтрокаТипов = СтрокаТипов + " " + Строка( Тип) ;
КонецЦикла ;
Лист. Cells( НомерСтроки, 3 ) . Value = СтрокаТипов;
Исключение
КонецПопытки ;
Попытка
Лист. Cells( НомерСтроки, 4 ) . Value = Значение. Комментарий;
Исключение
КонецПопытки ;
Для Ном = 1 По 4 Цикл
Лист. Cells( НомерСтроки, Ном) . Borders( 5 ) . LineStyle = - 4142 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 7 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 8 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 9 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . Borders( 10 ) . LineStyle = 1 ;
Лист. Cells( НомерСтроки, Ном) . VerticalAlignment = - 4160 ;
Лист. Cells( НомерСтроки, Ном) . WrapText = Истина ;
КонецЦикла ;
КонецЦикла ;
КонецЕсли ;
КонецЦикла ;
КонецЦикла ;
КонецЕсли ;
КонецЦикла ;
Excel. Visible = Истина ;
Excel = Неопределено ;
КонецПроцедуры
Процедура Сформировать()
ОбъектыКонфы = Новый Структура( ) ;
ОбъектыКонфы. Вставить( "ОбщиеМодули" , "Общие модули" ) ;
ОбъектыКонфы. Вставить( "ОбщиеФормы" , "Общие формы" ) ;
ОбъектыКонфы. Вставить( "ОбщиеМакеты" , "Общие макеты" ) ;
ОбъектыКонфы. Вставить( "ОбщиеКартинки" , "Общие картинки" ) ;
ОбъектыКонфы. Вставить( "Роли" , "Роли" ) ;
ОбъектыКонфы. Вставить( "Интерфейсы" , "Интерфейсы" ) ;
ОбъектыКонфы. Вставить( "Стили" , "Стили" ) ;
ОбъектыКонфы. Вставить( "Языки" , "Языки" ) ;
ОбъектыКонфы. Вставить( "ПланыОбмена" , "Планы обмена" ) ;
ОбъектыКонфы. Вставить( "Константы" , "Константы" ) ;
ОбъектыКонфы. Вставить( "КритерииОтбора" , "Критерии отбора" ) ;
ОбъектыКонфы. Вставить( "Справочники" , "Справочники" ) ;
ОбъектыКонфы. Вставить( "Документы" , "Документы" ) ;
ОбъектыКонфы. Вставить( "ЖурналыДокументов" , "Журналы документов" ) ;
ОбъектыКонфы. Вставить( "Перечисления" , "Перечисления" ) ;
ОбъектыКонфы. Вставить( "Отчеты" , "Отчеты" ) ;
ОбъектыКонфы. Вставить( "Обработки" , "Обработки" ) ;
ОбъектыКонфы. Вставить( "ПланыВидовХарактеристик" , "Планы видов характеристик" ) ;
ОбъектыКонфы. Вставить( "ПланыСчетов" , "Планы счетов" ) ;
ОбъектыКонфы. Вставить( "ПланыВидовРасчета" , "Планы видов расчета" ) ;
ОбъектыКонфы. Вставить( "РегистрыСведений" , "Регистры сведений" ) ;
ОбъектыКонфы. Вставить( "РегистрыБухгалтерии" , "Регистры бухгалтерии" ) ;
ОбъектыКонфы. Вставить( "РегистрыРасчета" , "Регистры расчета" ) ;
СтруктКонфы = Новый Структура( ) ;
СтруктКонфы. Вставить( "Измерения" , "Измерения" ) ;
СтруктКонфы. Вставить( "Ресурсы" , "Ресурсы" ) ;
СтруктКонфы. Вставить( "Реквизиты" , "Реквизиты" ) ;
СтруктКонфы. Вставить( "Формы" , "Формы" ) ;
СтруктКонфы. Вставить( "Макеты" , "Макеты" ) ;
СтруктКонфы. Вставить( "Графы" , "Графы" ) ;
СтруктКонфы. Вставить( "ТабличныеЧасти" , "Табличные части" ) ;
СтруктКонфы. Вставить( "Значения" , "Значения" ) ;
ВыгрузитьВWord( ) ;
ВыгрузитьВExcel( ) ;
КонецПроцедуры
Код 1C v 7.x
Процедура Справочник()
Ворд=СоздатьОбъект("Word.Application");
Ворд.DisplayAlerts=0;
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Код");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=?(Метаданные.Справочник(СокрЛП(Имя)).ТипКода="Текстовый","Строка","Число");
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип+" ("+СокрЛП(Метаданные.Справочник(СокрЛП(Имя)).ДлинаКода)+")");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("");
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Наименование");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Строка ("+СокрЛП(Метаданные.Справочник(СокрЛП(Имя)).ДлинаНаименования)+")");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("");
Для Сч=1 По Метаданные.Справочник(СокрЛП(Имя)).Реквизит() Цикл
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Реквизит=Метаданные.Справочник(СокрЛП(Имя)).Реквизит(Сч);
Синоним=Реквизит.Синоним;
Если ПустоеЗначение(Синоним)=0 Тогда
Если нрег(СтрЗаменить(Синоним," ",""))<>нрег(Реквизит.Идентификатор) Тогда
Синоним=" ("+Синоним+")";
Иначе
Синоним="";
КонецЕсли;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(СокрЛП(Реквизит.Идентификатор)+Синоним);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=Реквизит.Тип;
Если Тип="Строка" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина)+")";
ИначеЕсли Тип="Число" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина);
Если ПустоеЗначение(Реквизит.Точность)=0 Тогда
Тип=Тип+"."+СокрЛП(Реквизит.Точность);
КонецЕсли;
Тип=Тип+")";
Иначе
Тип=Тип+"."+Реквизит.Вид;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Реквизит.Комментарий);
КонецЦикла;
Предупреждение("Готово",5);
КонецПроцедуры
Процедура Документ()
Ворд=СоздатьОбъект("Word.Application");
Ворд.DisplayAlerts=0;
Для Сч=1 По Метаданные.Документ(СокрЛП(Имя)).РеквизитШапки() Цикл
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Шапка");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Реквизит=Метаданные.Документ(СокрЛП(Имя)).РеквизитШапки(Сч);
Синоним=Реквизит.Синоним;
Если ПустоеЗначение(Синоним)=0 Тогда
Если нрег(СтрЗаменить(Синоним," ",""))<>нрег(Реквизит.Идентификатор) Тогда
Синоним=" ("+Синоним+")";
Иначе
Синоним="";
КонецЕсли;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(СокрЛП(Реквизит.Идентификатор)+Синоним);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=Реквизит.Тип;
Если Тип="Строка" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина)+")";
ИначеЕсли Тип="Число" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина);
Если ПустоеЗначение(Реквизит.Точность)=0 Тогда
Тип=Тип+"."+СокрЛП(Реквизит.Точность);
КонецЕсли;
Тип=Тип+")";
Иначе
Тип=Тип+"."+Реквизит.Вид;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Реквизит.Комментарий);
КонецЦикла;
Для Сч=1 По Метаданные.Документ(СокрЛП(Имя)).РеквизитТабличнойЧасти() Цикл
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Таб. часть");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Реквизит=Метаданные.Документ(СокрЛП(Имя)).РеквизитТабличнойЧасти(Сч);
Синоним=Реквизит.Синоним;
Если ПустоеЗначение(Синоним)=0 Тогда
Если нрег(СтрЗаменить(Синоним," ",""))<>нрег(Реквизит.Идентификатор) Тогда
Синоним=" ("+Синоним+")";
Иначе
Синоним="";
КонецЕсли;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(СокрЛП(Реквизит.Идентификатор)+Синоним);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=Реквизит.Тип;
Если Тип="Строка" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина)+")";
ИначеЕсли Тип="Число" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина);
Если ПустоеЗначение(Реквизит.Точность)=0 Тогда
Тип=Тип+"."+СокрЛП(Реквизит.Точность);
КонецЕсли;
Тип=Тип+")";
Иначе
Тип=Тип+"."+Реквизит.Вид;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Реквизит.Комментарий);
КонецЦикла;
Предупреждение("Готово",5);
КонецПроцедуры
Процедура Общие()
Ворд=СоздатьОбъект("Word.Application");
Ворд.DisplayAlerts=0;
Для Сч=1 По Метаданные.ОбщийРеквизитДокумента() Цикл
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Шапка");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Реквизит=Метаданные.ОбщийРеквизитДокумента(Сч);
Синоним=Реквизит.Синоним;
Если ПустоеЗначение(Синоним)=0 Тогда
Если нрег(СтрЗаменить(Синоним," ",""))<>нрег(Реквизит.Идентификатор) Тогда
Синоним=" ("+Синоним+")";
Иначе
Синоним="";
КонецЕсли;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(СокрЛП(Реквизит.Идентификатор)+Синоним);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=Реквизит.Тип;
Если Тип="Строка" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина)+")";
ИначеЕсли Тип="Число" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина);
Если ПустоеЗначение(Реквизит.Точность)=0 Тогда
Тип=Тип+"."+СокрЛП(Реквизит.Точность);
КонецЕсли;
Тип=Тип+")";
Иначе
Тип=Тип+"."+Реквизит.Вид;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Реквизит.Комментарий);
КонецЦикла;
Предупреждение("Готово",5);
КонецПроцедуры
Процедура СтруктураРегистра()
Ворд=СоздатьОбъект("Word.Application");
Ворд.DisplayAlerts=0;
Для Сч=1 По Метаданные.Регистр(СокрЛП(Имя)).Измерение() Цикл
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Измерение");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Реквизит=Метаданные.Регистр(СокрЛП(Имя)).Измерение(Сч);
Синоним=Реквизит.Синоним;
Если ПустоеЗначение(Синоним)=0 Тогда
Если нрег(СтрЗаменить(Синоним," ",""))<>нрег(Реквизит.Идентификатор) Тогда
Синоним=" ("+Синоним+")";
Иначе
Синоним="";
КонецЕсли;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(СокрЛП(Реквизит.Идентификатор)+Синоним);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=Реквизит.Тип;
Если Тип="Строка" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина)+")";
ИначеЕсли Тип="Число" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина);
Если ПустоеЗначение(Реквизит.Точность)=0 Тогда
Тип=Тип+"."+СокрЛП(Реквизит.Точность);
КонецЕсли;
Тип=Тип+")";
Иначе
Тип=Тип+"."+Реквизит.Вид;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Реквизит.Комментарий);
КонецЦикла;
Для Сч=1 По Метаданные.Регистр(СокрЛП(Имя)).Ресурс() Цикл
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Ресурс");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Реквизит=Метаданные.Регистр(СокрЛП(Имя)).Ресурс(Сч);
Синоним=Реквизит.Синоним;
Если ПустоеЗначение(Синоним)=0 Тогда
Если нрег(СтрЗаменить(Синоним," ",""))<>нрег(Реквизит.Идентификатор) Тогда
Синоним=" ("+Синоним+")";
Иначе
Синоним="";
КонецЕсли;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(СокрЛП(Реквизит.Идентификатор)+Синоним);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=Реквизит.Тип;
Если Тип="Строка" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина)+")";
ИначеЕсли Тип="Число" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина);
Если ПустоеЗначение(Реквизит.Точность)=0 Тогда
Тип=Тип+"."+СокрЛП(Реквизит.Точность);
КонецЕсли;
Тип=Тип+")";
Иначе
Тип=Тип+"."+Реквизит.Вид;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Реквизит.Комментарий);
КонецЦикла;
Для Сч=1 По Метаданные.Регистр(СокрЛП(Имя)).Реквизит() Цикл
Ворд.ActiveDocument.ActiveWindow.S_election.I_nsertRowsBelow(1);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveLeft(1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText("Реквизит");
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Реквизит=Метаданные.Регистр(СокрЛП(Имя)).Реквизит(Сч);
Синоним=Реквизит.Синоним;
Если ПустоеЗначение(Синоним)=0 Тогда
Если нрег(СтрЗаменить(Синоним," ",""))<>нрег(Реквизит.Идентификатор) Тогда
Синоним=" ("+Синоним+")";
Иначе
Синоним="";
КонецЕсли;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(СокрЛП(Реквизит.Идентификатор)+Синоним);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Тип=Реквизит.Тип;
Если Тип="Строка" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина)+")";
ИначеЕсли Тип="Число" Тогда
Тип=Тип+" ("+СокрЛП(Реквизит.Длина);
Если ПустоеЗначение(Реквизит.Точность)=0 Тогда
Тип=Тип+"."+СокрЛП(Реквизит.Точность);
КонецЕсли;
Тип=Тип+")";
Иначе
Тип=Тип+"."+Реквизит.Вид;
КонецЕсли;
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Тип);
Ворд.ActiveDocument.ActiveWindow.S_election.MoveRight (1,1);
Ворд.ActiveDocument.ActiveWindow.S_election.TypeText(Реквизит.Комментарий);
КонецЦикла;
Предупреждение("Готово",5);
КонецПроцедуры