АктивныйДокумент = ПолучитьМакет("Справка"); КомОбъект = АктивныйДокумент.Получить(); Документ = КомОбъект.Application.Documents(1); Документ.Activate(); //КомОбъект.Application.Visible=1; КомОбъект.Bookmarks("Сотрудник").S_elect(); КомОбъект.Application.S_election.TypeText(СтруктураПараметровWord.Сотрудник); КомОбъект.Bookmarks("ДолжностьРаботника").S_elect(); КомОбъект.Application.S_election.TypeText(СтруктураПараметровWord.ДолжностьРаботника); КомОбъект.Variables.Item("ДатаРождения").Value=Строка(СтруктураПараметровWord.ДатаРождения); КомОбъект.Variables.Item("МестоРождения").Value=Строка(СтруктураПараметровWord.МестоРождения); КомОбъект.Variables.Item("МестоЖительства1").Value=Строка(СтруктураПараметровWord.МестоЖительства1); КомОбъект.Variables.Item("МестоЖительства2").Value=Строка(СтруктураПараметровWord.МестоЖительства2); КомОбъект.Variables.Item("СемейноеПоложение").Value=Строка(СтруктураПараметровWord.СемейноеПоложение); КомОбъект.Variables.Item("Дети").Value=Строка(СтруктураПараметровWord.Дети); // заполняем таблицу образование // переходим на закладку // нужно в макете в первой колонке первой строки // установить закладку "ПерваяСтрока" КомОбъект.GoTo(-1, ,, "ПерваяСтрока").S_elect(); Счетчик = 1; Рез = ПолучитьСведенияОбОбразовании(); КолВоСтрок = Рез.Выгрузить().Количество(); Если КолВоСтрок > 0 Тогда ВыборкаОбр = Рез.Выбрать(); Пока ВыборкаОбр.Следующий() Цикл // заполняем первую колонку КомОбъект.Application.S_election.TypeText(Строка(ВыборкаОбр.ВидОбразования)); // переходим вправо КомОбъект.Application.S_election.MoveRight(1, 1); // заполняем вторую колонку КомОбъект.Application.S_election.TypeText(Строка(ВыборкаОбр.УчебноеЗаведение)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаОбр.ГодОкончания)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаОбр.Специальность)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаОбр.Квалификация)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаОбр.СреднийБалл)); // СреднийБалл КомОбъект.Application.S_election.MoveRight(1, 1); // КомОбъект.Application.S_election.MoveRight(1, 1); // добавляем новую строку Если КолВоСтрок > Счетчик Тогда КомОбъект.Application.S_election.I_nsertRowsBelow(1); КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; КонецЕсли; КомОбъект.GoTo(-1, ,, "ВтораяСтрока").S_elect(); Счетчик = 1; Рез = ПолучитьДанныеПовышенияКвалификации(); КолВоСтрок = Рез.Выгрузить().Количество(); Если КолВоСтрок > 0 Тогда ВыборкаПовышения = Рез.Выбрать(); Пока ВыборкаПовышения.Следующий() Цикл // заполняем первую колонку КомОбъект.Application.S_election.TypeText(Строка(Формат(ВыборкаПовышения.ДатаНачала,"ДФ=dd.MM.yyyy"))); // переходим вправо КомОбъект.Application.S_election.MoveRight(1, 1); // заполняем вторую колонку КомОбъект.Application.S_election.TypeText(Строка(Формат(ВыборкаПовышения.ДатаОкончания,"ДФ=dd.MM.yyyy"))); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаПовышения.ВидПовышения)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаПовышения.УчебноеЗаведение)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаПовышения.Квалификация)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.MoveRight(1, 1); // добавляем новую строку Если КолВоСтрок > Счетчик Тогда КомОбъект.Application.S_election.I_nsertRowsBelow(1); КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; КонецЕсли; КомОбъект.GoTo(-1, ,, "ТретьяСтрока").S_elect(); Счетчик = 1; Результат = ПолучитьЯзыки(); КолвоСтрок = Результат.Выгрузить().Количество(); Если КолВоСтрок > 0 Тогда ВыборкаЯзыки = Результат.Выбрать(); Пока ВыборкаЯзыки.Следующий() Цикл // заполняем первую колонку КомОбъект.Application.S_election.TypeText(Строка(ВыборкаЯзыки.Язык)); // переходим вправо КомОбъект.Application.S_election.MoveRight(1, 1); // заполняем вторую колонку КомОбъект.Application.S_election.TypeText(Строка(ВыборкаЯзыки.Степень)); КомОбъект.Application.S_election.MoveRight(1, 1); // добавляем новую строку Если КолВоСтрок > Счетчик Тогда КомОбъект.Application.S_election.I_nsertRowsBelow(1); КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; КонецЕсли; КомОбъект.GoTo(-1, ,, "ЧетвертаяСтрока").S_elect(); Счетчик = 1; РезТруд = ПолучитьСведенияОТрудовойДеятельности(); КолвоСтрок = РезТруд.Выгрузить().Количество(); Если КолВоСтрок > 0 Тогда ВыборкаТруд = РезТруд.Выбрать(); Пока ВыборкаТруд.Следующий() Цикл // заполняем первую колонку КомОбъект.Application.S_election.TypeText(Строка(Формат(ВыборкаТруд.ДатаНачала,"ДФ=dd.MM.yyyy"))); // переходим вправо КомОбъект.Application.S_election.MoveRight(1, 1); // заполняем вторую колонку ДатаУвольнения = ?(ВыборкаТруд.ДатаОкончания = Дата("00010101"), " по наст.время ("+Формат(ДатаОтчета,"ДФ=dd.MM.yyyy")+")",Формат(ВыборкаТруд.ДатаОкончания,"ДФ=dd.MM.yyyy")); КомОбъект.Application.S_election.TypeText(Строка(ДатаУвольнения)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаТруд.Должность)); КомОбъект.Application.S_election.MoveRight(1, 1); КомОбъект.Application.S_election.TypeText(Строка(ВыборкаТруд.Организация)); КомОбъект.Application.S_election.MoveRight(1, 1); Если КолВоСтрок > Счетчик Тогда КомОбъект.Application.S_election.I_nsertRowsBelow(1); КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; КонецЕсли; КомОбъект.GoTo(-1, ,, "ПятаяСтрока").S_elect(); Счетчик = 1; РезНаграды = ПолучитьСведенияОНаградах(); КолвоСтрок = РезНаграды.Выгрузить().Количество(); Если КолВоСтрок > 0 Тогда ВыборкаНаграды = РезНаграды.Выбрать(); Пока ВыборкаНаграды.Следующий() Цикл // заполняем первую колонку КомОбъект.Application.S_election.TypeText(Строка(Формат(ВыборкаНаграды.ДатаНаграждения,"ДЛФ=D"))); // переходим вправо КомОбъект.Application.S_election.MoveRight(1, 1); // заполняем вторую колонку Поощрение = ""+ ВыборкаНаграды.ПоощренияИНаграды+ " "+ ВыборкаНаграды.НаименованиеНаграды; КомОбъект.Application.S_election.TypeText(Строка(Поощрение)); КомОбъект.Application.S_election.MoveRight(1, 1); Если КолВоСтрок > Счетчик Тогда КомОбъект.Application.S_election.I_nsertRowsBelow(1); КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; КонецЕсли; КомОбъект.Variables.Item("РуководительДолжность").Value=Строка(СтруктураПараметровWord.РуководительДолжность); КомОбъект.Variables.Item("РуководительФИО").Value=Строка(СтруктураПараметровWord.РуководительФИО); КомОбъект.Variables.Item("ДатаОтчета").Value=Строка(Формат(?(НЕ ЗначениеЗаполнено(ДатаОтчета),ТекущаяДата(),ДатаОтчета),"ДЛФ=DD")); КомОбъект.Fields.UpDate(); //попытка вставить рисунок ОбъектИзХранилища = Ссылка.ОсновноеИзображение.Хранилище; Если ОбъектИзХранилища <> NULL Тогда ОсновноеИзображение = ОбъектИзХранилища.Получить(); Если ОсновноеИзображение <> Неопределено Тогда Фото = ОсновноеИзображение; Иначе Фото = Новый Картинка; КонецЕсли; КонецЕсли; /////////// // //ТекИзображение.Объект = СпрТкани.Ссылка; //ТекИзображение.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение; //Хранилище = Новый ХранилищеЗначения(НоваяКартинка, Новый СжатиеДанных()); //ТекИзображение.Хранилище = Хранилище.Получить(); //// в этом месте он все выводит ... //ЭлементыФормы.ПолеКартинки1.Картинка = Хранилище.Получить(); //ТекИзображение.Записать(); /////////////// попытка ФайлФото = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"),"ОсновнойКаталогФайлов")+"\Image.bmp"; //ФайлФото = "C:\abc\Image.bmp"; Фото.Записать(ФайлФото); ////////КомОбъект.Application.S_election КомОбъект.Bookmarks("Фото").S_elect(); Shapes = КомОбъект.Application.S_election.Range().InlineShapes.AddPicture(ФайлФото,1,Истина); // показать окно ворда КомОбъект.ActiveWindow.Visible = Истина; //Shapes.Height = 108; Shapes.Height = 105; Shapes.Width = 85; // Shapes.justifyLeft=Истина; Shape = Shapes.ConvertToShape(); Shape.WrapFormat.Type = 0; // по контуру... Исключение // показать окно ворда КомОбъект.ActiveWindow.Visible = Истина; КонецПопытки; // обнуляем КомОбъект КомОбъект = 0; //КомОбъект.Close();
wdAlignParagraphRight = 2; S_election.ParagraphFormat.Alignment = wdAlignParagraphRight;
//ВАЖНО - описания вордовских констант (они недоступны по ОЛЕ) !!! Перем False; Перем True; Перем wdAlignParagraphLeft; // по правому краю Перем wdAlignParagraphCenter; //по центру Перем wdAlignParagraphRight; //по правому краю Перем wdAlignParagraphJustify; //по ширине обычно применимое Перем wdAlignParagraphDistribute; //по ширине ах_енно некомпактно, последняя строка вообще в жопе Перем wdAlignParagraphJustifyMed; //по ширине средней компактности Перем wdAlignParagraphJustifyHi; //по ширине очень разреженно Перем wdAlignParagraphJustifyLow; //по ширине очень компактно Перем wdCellAlignVerticalBottom; Перем wdCellAlignVerticalCenter; Перем wdCellAlignVerticalTop; Перем wdWord9TableBehavior; Перем wdAutoFitFixed; // Автоматически корректировать ширину (размер) Перем wdBorderBottom;// Нижняя грань таблицы Перем wdBorderLeft; // Левая грань таблицы Перем wdBorderRight; //Правая Перем wdBorderTop; // нижняя Перем wdBorderVertical; //Вертикальная (видимо смежная) Перем wdLineStyleNone; //Граница таблицы не отображается Перем wdLineStyleSingle; Перем wdLine; //Используется в MoveDown (строка вниз/вниз) Перем wdCharacter; //Используется в MoveRight (смещение на количество символов,) Перем wdActiveEndPageNumber; //обращение к текущей строке Information Перем wdNumberOfPagesInDocument; //обращение к общему количеству строк в Information Перем wdPageBreak; // ИНИЦИАЛИЗАЦИЯ ВОРДОВЫХ КОНСТАНТ И ЗНАЧЕНИЯ ЭТИХ КОНСТАНТ False = 0; True = 1; wdAlignParagraphLeft = 0; // по правому краю wdAlignParagraphCenter = 1; //по центру wdAlignParagraphRight = 2; //по правому краю wdAlignParagraphJustify = 3; //по ширине обычно применимое wdAlignParagraphDistribute = 4; //по ширине ах_енно некомпактно, последняя строка вообще в жопе wdAlignParagraphJustifyMed = 5; //по ширине средней компактности wdAlignParagraphJustifyHi = 7; //по ширине очень разреженно wdAlignParagraphJustifyLow = 8; //по ширине очень компактно wdWord9TableBehavior = 0; wdAutoFitFixed = 1; // Автоматически корректировать ширину (размер) wdBorderBottom = -3;// Нижняя грань таблицы wdBorderLeft = -2; // Левая грань таблицы wdBorderRight = -4; //Правая wdBorderTop = -1; // нижняя wdBorderVertical = -6; //Вертикальная (видимо смежная) wdLineStyleNone = 0; //Граница таблицы не отображается wdLineStyleSingle = 1; wdLine = 5; //Используется в MoveDown (строка вниз/вниз) wdCharacter = 1; //Используется в MoveRight (смещение на количество символов,) wdActiveEndPageNumber = 3; //обращение к текущей строке Information wdNumberOfPagesInDocument = 4; //обращение к общему количеству строк в Information wdPageBreak = 7; //вставка разрыва страницы (используется в I_nsertBreak(...)) wdCellAlignVerticalBottom = 3; wdCellAlignVerticalCenter = 1; wdCellAlignVerticalTop = 0;