|
Как объединить табличные документы | ☑ | ||
|---|---|---|---|---|
|
0
web1984
04.09.15
✎
16:21
|
Хочу получить один табличный документ из двух табличных документов.
Шапку делаю обычной процедурой печати через макет. Таблицу делаю через скд. Объедению две таблицы через МегаТабДокумент = Новый ТабличныйДокумент; МегаТабДокумент.Вывести(ТабДок); МегаТабДокумент.Вывести(ТабДок2); ТабДок Шапка ТабДок результат СКД. В шапке области и свой формат строк. В СКД тоже свой макет со своим форматом строк. При объединении пропадает формат строк СКД. Подозреваю из-за того что нет областей в СКД. Не знаю как сделать область программно. Подскажите в чем может быть причина? Вариант все сделать через СКД не предлагать и наоборот. |
|||
|
1
aka AMIGO
04.09.15
✎
16:24
|
"наоборот" - это как?
|
|||
|
2
web1984
04.09.15
✎
18:07
|
Сделать все программно.
|
|||
|
3
web1984
04.09.15
✎
20:04
|
Нашел пока один полувыход. Сделал в шапке первую строку по формату строк таблицы.
|
|||
|
4
web1984
04.09.15
✎
21:09
|
Нашел решение.
ДокументОбщий = новый ТабличныйДокумент; Документ1 = ЛюбаяФункцияПечатиВозвращающаяТабличныйДокумент(); ДокументОбщий .Вывести(Документ1 ); ДокументОбщий .ВывестиГоризонтальныйРазделительСтраниц(); Документ2 = ЛюбаяФункцияПечатиВозвращающаяТабличныйДокумент(); ЗадатьФорматСтрок(Документ2); //Новая процедура ДокументОбщий .Вывести(Документ2 ); ДокументОбщий .ВывестиГоризонтальныйРазделительСтраниц(); ДокументОбщий .Показать(); /////////////////////////// Процедура ЗадатьФорматСтрок(прТаб) лкКоличествоСтрок = прТаб.ВысотаТаблицы; лкКоличествоКолонок = прТаб.ШиринаТаблицы; лкШирина1 = ""; лкШирина2 = ""; лкСтрока1 = 0; лкСтрока2 = 0; Для лкСтр=1 По лкКоличествоСтрок Цикл лкШирина2 = ""; Для лкКол=1 По лкКоличествоКолонок Цикл лкШирина2 = лкШирина2 + "," + прТаб.Область(лкСтр,лкКол).ШиринаКолонки; КонецЦикла; Если лкШирина1 = лкШирина2 Тогда лкСтрока2 = лкСтрока2 + 1; Иначе Если лкСтрока1 <> 0 Тогда прТаб.Область(лкСтрока1,,лкСтрока2).СоздатьФорматСтрок(); КонецЕсли; лкШирина1 = лкШирина2; лкСтрока1 = лкСтр; лкСтрока2 = лкСтр; КонецЕсли; КонецЦикла; Если лкСтрока1 <> 0 Тогда прТаб.Область(лкСтрока1,,лкСтрока2).СоздатьФорматСтрок(); КонецЕсли; КонецПроцедуры |
| Форум | Правила | Описание | Секции | Поиск |