Показано с 1 по 2 из 2
Тема: 1C и ШАБЛОН WORD
-
22.08.2011, 09:20 #1
- Регистрация
- 11.04.2011
- Сообщений
- 12
- Сказал(а) спасибо
- 0
- Поблагодарили 2 раз(а) в 1 сообщении
1C и ШАБЛОН WORD
Здравствуйте! Пожет кто сможет помочь. Задача: Создать документ WORD, и заполнить его шаблонами...
-
22.08.2011, 14:46 #2
- Регистрация
- 11.04.2011
- Сообщений
- 12
- Сказал(а) спасибо
- 0
- Поблагодарили 2 раз(а) в 1 сообщении
СтрЗамены = "НЕ ЗАПОНЕНО ЗНАЧЕНИЕ";
ТекСтрока = ЭлементыФормы.Работы.Текущ иеДанные;
/////////////////////////////////////////////////////////////////////////////////////////////////////
//************************************************** *******************РАБОТАЕТ ДОБАВЛЕНИЕ СТРАНИЦ
АктивныйДокумент = ПолучитьМакет("АктТехничес койЭкспертизы");
MSWord = АктивныйДокумент.Получить( );
MSWord.Application.Visible=1;
Для каждого Строка из Работы Цикл
НомерСтроки = Строка.НомерСтроки;
ЗаявкаНомер = ?(ПустаяСтрока(Номер), СтрЗамены, Номер);
ДатаДокумента = ?(ПустаяСтрока(Формат(Дата, "ДЛФ=DD")), СтрЗамены, Формат(Дата, "ДЛФ=DD"));
ЗаявкаНомер = ?(ПустаяСтрока(Номер), СтрЗамены, Номер);
ЗаявкаДата = ?(ПустаяСтрока(ЗаявкаДата), СтрЗамены, ЗаявкаДата);
КонтрагентДанные = Контрагент.НаименованиеПо� �ное+", "+Контрагент.ОсновноеКонта� �тноеЛицо.Наименование;
//Заполним адрес и телефон
Отбор = Новый Структура;
Отбор.Вставить("Объект", Контрагент);
Выборка = РегистрыСведений.Контактн� �яИнформация.Выбрать(Отбор) ;
Пока Выборка.Следующий() Цикл
КонтрагентАдрес = "НЕ ЗАПОЛНЕН АДРЕС КОНТРАГЕНТА";
КонтрагентТелефон = "НЕ ЗАПОЛНЕН ТЕЛЕФОН КОНТРАГЕНТА";
Если Выборка.Вид = Справочники.ВидыКонтактно� �Информации.НайтиПоНаимено ванию("Юридический адрес") тогда
КонтрагентАдрес = Выборка.Представление;
ИначеЕсли Выборка.Вид = Справочники.ВидыКонтактно� �Информации.НайтиПоНаимено ванию("Телефон") тогда
КонтрагентТелефон = Выборка.Представление;
КонецЕсли;
КонецЦикла;
//
ТабНаименование = ?(ПустаяСтрока(ТекСтрока.На именование) , СтрЗамены, ТекСтрока.Наименование);
ТабМарка = ?(ПустаяСтрока(ТекСтрока.Ма рка) , СтрЗамены, ТекСтрока.Марка);
ТабИнвентарныйНомер = ?(ПустаяСтрока(ТекСтрока.Ин вентарныйНомер) , СтрЗамены, ТекСтрока.ИнвентарныйНоме� �);
ТабДатаИзготовления = ?(ПустаяСтрока(ТекСтрока.Да таИзготовления) , СтрЗамены, ТекСтрока.ДатаИзготовлени� �);
ТабЗаявленнаяНеисправност ь = ?(ПустаяСтрока(ТекСтрока.За явленнаяНеисправность), СтрЗамены, Строка(ТекСтрока.Заявленна яНеисправность));
ТабВнешнийВид = ?(ПустаяСтрока(ТекСтрока.Вн ешнийВид) , СтрЗамены, ТекСтрока.ВнешнийВид);
ТабДиагностика = ?(ПустаяСтрока(ТекСтрока.Ди агностика) , СтрЗамены, ТекСтрока.Диагностика.Соде ржание);
ТабЗаключение = ?(ПустаяСтрока(ТекСтрока.За ключение) , СтрЗамены, Строка(ТекСтрока.Заключени е));
КонтрагентИнициалы = Лев(Руководитель.Имя, 1)+"."+Лев(Руководитель.Отчес� �во, 1)+"."+Руководитель.Фамилия;
MSWord.Variables.Item("НомерСтроки").Va lue = НомерСтроки;
MSWord.Variables.Item("ЗаявкаНомер").Va lue = ЗаявкаНомер;
MSWord.Variables.Item("Дата").Value = ДатаДокумента;
MSWord.Variables.Item("ЗаявкаНомер").Va lue = ЗаявкаНомер;
MSWord.Variables.Item("ЗаявкаДата").Valu e = ЗаявкаДата;
MSWord.Variables.Item("КонтрагентДан� �ые").Value = КонтрагентДанные;
MSWord.Variables.Item("КонтрагентАдр� �с").Value = КонтрагентАдрес;
MSWord.Variables.Item("КонтрагентТел� �фон").Value = КонтрагентТелефон;
MSWord.Variables.Item("ТабНаименован� �е").Value = ТабНаименование;
MSWord.Variables.Item("ТабМарка").Value = ТабМарка;
MSWord.Variables.Item("ТабИнвентарны� �Номер").Value = ТабИнвентарныйНомер;
MSWord.Variables.Item("ТабДатаИзгото� �ления").Value = ТабДатаИзготовления;
MSWord.Variables.Item("ТабЗаявленная� �еисправность").Value = ТабЗаявленнаяНеисправност ь;
MSWord.Variables.Item("ТабВнешнийВид" ).Value = ТабВнешнийВид;
MSWord.Variables.Item("ТабДиагностик� �").Value = ТабДиагностика;
MSWord.Variables.Item("ТабЗаключение" ).Value = ТабЗаключение;
MSWord.Variables.Item("КонтрагентИни� �иалы").Value = КонтрагентИнициалы;
MSWord.Fields.UpDate();
MSWord.Application.Visible = Истина;
MSWord.Activate();
MSWord.SaveAs("C:\temp\"+ЗаявкаНомер+"_ "+НомерСтроки+".doc");
КонецЦикла;
MSWord.Close();
Word = Новый COMОбъект("Word.Application");
Word.Visible = 0;
WordDoc = Word.Documents;
Docum = WordDoc.Add();
Для каждого Строка из Работы Цикл
НомерСтроки = Строка.НомерСтроки;
ЗаявкаНомер = ?(ПустаяСтрока(Номер), СтрЗамены, Номер);
//вставим страницу
Сообщить("Добавлен договор: "+ЗаявкаНомер+"_"+НомерСтрок� �);
Word.Selection.InsertFile("C:\temp\"+Заявка� �омер+"_"+НомерСтроки+".doc");
Word.Selection.InsertBreak(2);
КонецЦикла;
Word.Visible = 1;
Word.Activate();
Word = "" ;
-
Социальные закладки