|
Вставить несколько таблиц в печатную форму WORD (в цикле) | ☑ | ||
|---|---|---|---|---|
|
0
Soulseller76
30.04.15
✎
10:52
|
Есть таблица значений. На каждую ее строку необходимо выести:
1. Заголовок таблицы 2.Саму таблицу с одной строкой. Могу вывести заголовки: АктивныйДокумент = ПолучитьМакет("ДоговорАренды"); MSWord = АктивныйДокумент.Получить(); // Получить объект из макета. Word = MSWord.Application; Документ = Word.Documents(1); Документ.Activate(); //выведем заголовки таблиц MSWord.ActiveWindow.Selection.GoTo(-1, , , "ЗаголовокТаблицы"); Счетчик = 1; Для каждого СтрокаТЗ Из ТаблицаАдресаСРазбиением Цикл СтроениеКорпус = ?(Найти(СтрокаТЗ.КорпусПомещения,"строение") > 0,СтрЗаменить(СтрокаТЗ.КорпусПомещения,"строение","Стр."),СтрЗаменить(СтрокаТЗ.КорпусПомещения,"корпус","Корп.")); MSWord.ActiveWindow.Selection.Font.Bold = Истина; MSWord.ActiveWindow.Selection.Font.size = 11; MSWord.ActiveWindow.Selection.ParagraphFormat.Alignment = 1; Если ЗначениеЗаполнено(СтрокаТЗ.КодБТИ) Тогда НомерАдресПомещения = Найти(СтрокаТЗ.КодБТИ, "помещение"); MSWord.ActiveWindow.Selection.TypeText(СтроениеКорпус+", "+Сред(СтрокаТЗ.КодБТИ,НомерАдресПомещения)+" ("+СтрокаТЗ.Площадь+" кв.м)"); Если Счетчик < ТаблицаАдресаСРазбиением.Количество() Тогда MSWord.ActiveWindow.Selection.TypeParagraph(); КонецЕсли; Иначе MSWord.ActiveWindow.Selection.TypeText(СтроениеКорпус+", "+СтрокаТЗ.ЭтажПомещения+" ("+СтрокаТЗ.Площадь+" кв.м)"); MSWord.ActiveWindow.Selection.TypeParagraph(); КонецЕсли; Счетчик = Счетчик +1; КонецЦикла; Получается вывести одну таблицу с несколькими строками (по количеству строк в таблице значений) //выведем заголовки таблиц MSWord.Bookmarks(СокрЛП("ТаблицыБС")).Select(); Документ.Paragraphs.Add(); Rng = MSWord.Application.Selection.Range; Rng.InsertAfter(СокрЛП("Порядковый № БС")+"*"+"Период действия БС (от)"+"*"+"Период действия БС (до)"+"*"+"Величина БС, руб."); СчетчикТаблиц = 1; Для Каждого СтрочкаТаблицы из ТаблицаАдресаСРазбиением Цикл Rng.InsertParagraphAfter(); Rng.InsertAfter(Строка("1" +"*"+ СтрочкаТаблицы.ДатаНачалаСрокаАренды +"*"+ СтрочкаТаблицы.ДатаОкончанияСрокаАренды+"*"+ "")); Rng.InsertParagraphAfter(); КонецЦикла; Rng.ConvertToTable("*"); Документ.Tables(1).AutoFormat(17); Но чтобы было Заголовок таблицы, потом таблица, потом снова заголовок и так далее... Никак не могу сделать... :( Помогите!!! |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |