|
Работа с Word | ☑ | ||
---|---|---|---|---|
0
FunnyDevil
20.01.14
✎
09:56
|
Доброе утро, не подскажите у меня есть шаблон Word, формируется все хорошо, вот только в документе есть несколько записей по которым нужно формировать новый документ Word, поэтому открывается сразу много сформированных док-ов Word, как сделать, чтобы они были все в одном документе друг под другом?
|
|||
1
dk
20.01.14
✎
10:14
|
походу word 2010 не имеет такой возможности - нет там MDI, либо запрятано где-то
|
|||
2
FunnyDevil
20.01.14
✎
10:15
|
Печаль
|
|||
3
Масянька
20.01.14
✎
10:16
|
(0) Имеется ввиду: 1 документ Word или несколько документов Word?
|
|||
4
le_
20.01.14
✎
10:18
|
(0) На разных листах что ли? Если так, то выводи программно на разные листы в одном документе.
|
|||
5
FunnyDevil
20.01.14
✎
10:19
|
Есть Док в 1с Увольнение из организации, там может быть как несколько записей, так и одна : когда одна, формируется 1 док word с заполненными данными, когда несколько, формируются несколько доков Word с заполненными данными, хочется сделать так чтобы они формировались друг за другом в одном доке Word
|
|||
6
FunnyDevil
20.01.14
✎
10:19
|
да, на разных листах
|
|||
7
Масянька
20.01.14
✎
10:20
|
(6) Слава Богу! Выяснили.
Анализировать - разрыв страницы - новое заполнение. |
|||
8
FunnyDevil
20.01.14
✎
10:24
|
(4) а как можно так организовать?
|
|||
9
le_
20.01.14
✎
10:39
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
|
|||
10
FunnyDevil
20.01.14
✎
10:42
|
(9) буду пробывать
|
|||
11
FunnyDevil
20.01.14
✎
10:42
|
спасибо
|
|||
12
RomaH
naïve
20.01.14
✎
10:51
|
Попытка
АктивныйДокумент = ПолучитьМакет("МакетПриемник"); Исключение Сообщить(ОписаниеОшибки()); Сообщить("Не удалось создать объект ворда"); Возврат Неопределено; КонецПопытки; КомОбъект = АктивныйДокумент.Получить(); ДокументПриемник = КомОбъект; ЭтоПервыйдокумент = Истина; НовыйПараграф = Неопределено; КоличествоСтраниц = Неопределено; Для каждого СтрокаТЧ Из СсылкаНаОбъект.РаботникиОрганизации Цикл Если Не ЭтоПервыйдокумент И КомОбъект <> Неопределено Тогда //Добавим разрывы страниц НовыйПараграф.Range.InsertBreak(2); //Добавляем раздел с нечетной страницы Если КоличествоСтраниц%2 <> 0 Тогда НовыйПараграф.Range.InsertBreak(2); //Добавляем раздел с нечетной страницы КонецЕсли; КонецЕсли; Состояние("Формируем соглашение " + СтрокаТЧ.Сотрудник); КомОбъект = ПечатьСоглашения(СтрокаТЧ.Сотрудник); Если КомОбъект <> Неопределено Тогда ДокументИсточник = КомОбъект; ДокументИсточник.Paragraphs(1).PageBreakBefore = Истина; УдалитьПустыеТаблицы(ДокументИсточник); ДокументИсточник.Repaginate(); КоличествоСтраниц = ДокументИсточник.BuiltInDocumentProperties(14).Value; Если ЭтоПервыйдокумент Тогда НовыйПараграф = ДокументПриемник.Paragraphs(1); Иначе НовыйПараграф = ДокументПриемник.Paragraphs.Add(); //НовыйПараграф.Range.InsertBreak(5); //Добавляем раздел с нечетной страницы КонецЕсли; НовыйПараграф.Range().FormattedText = ДокументИсточник.Range().FormattedText; ЭтоПервыйдокумент = Ложь; ДокументИсточник.Close(0); КонецЕсли; КонецЦикла; Для Каждого Секция Из ДокументПриемник.Sections Цикл Секция.Headers(1).PageNumbers.RestartNumberingAtSection = Истина; Секция.Headers(1).PageNumbers.StartingNumber = 1; КонецЦикла; Возврат ДокументПриемник; |
|||
13
FunnyDevil
20.01.14
✎
11:19
|
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Макет = ПолучитьМакет("ОбходнойЛист").Получить(); Документ = Макет.Application.Documents(1); Документ.Activate(); Месяц = Прав(Лев(ВыборкаДетальныеЗаписи.Дата, 5), 1) - 1; День = Лев(ВыборкаДетальныеЗаписи.Дата, 2); Год = Прав(Лев(ВыборкаДетальныеЗаписи.Дата, 10), 2); Месяц = ПолучитьМесяц(Месяц); Замена = Документ.Content.Find; ФИО = Замена.Execute("<ФИО>", Ложь, Истина, Ложь, , , Истина, , Ложь, ВыборкаДетальныеЗаписи.ФИО,2); Номер =Замена.Execute("<Номер>", Ложь, Истина, Ложь, , , Истина, , Ложь, ВыборкаДетальныеЗаписи.Номер,2); Число = Замена.Execute("<Ч>", Ложь, Истина, Ложь, , , Истина, , Ложь, День,2); НазваниеМесяца = Замена.Execute("<Месяц>", Ложь, Истина, Ложь, , , Истина, , Ложь, Месяц,2); ЧислоГода = Замена.Execute("%", Ложь, Истина, Ложь, , , Истина, , Ложь, Год,2); Макет.Application.Visible = Истина; Макет.Activate(); КонецЦикла; блин, что-то непонятно все равно, можно на примере моем, а то туговато идет понимание.... |
|||
14
WildSery
20.01.14
✎
11:25
|
ОФФ.
(10) ПоубЫвав бы за "пробЫвал". |
|||
15
le_
20.01.14
✎
12:11
|
(13)
Процедура КнопкаВыполнитьНажатие(Кнопка)
С тебя 200 р. |
|||
16
FunnyDevil
20.01.14
✎
12:36
|
номер телефона в студию
|
|||
17
FunnyDevil
20.01.14
✎
12:38
|
или лучше на почту [email protected]
|
|||
18
FunnyDevil
20.01.14
✎
12:39
|
Помогло очень, спасибо!
|
|||
19
RomaH
naïve
20.01.14
✎
14:40
|
Макет.Application.Selection.Copy();
вообще-то не хорошо пользоваться буфером обмена |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |