Код 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 ) ;
КонецПроцедуры