|
Вывод множества таб. док-ов в один общий таб. док. с сохранением ширины колонок | ☑ | ||
---|---|---|---|---|
0
TURBOslon
20.10.16
✎
10:38
|
Добрый день. Платформа 8.3.5.1443. Есть печатная форма в которой в зависимости от данных могут не выводится некоторые колонки. Сама по себе печатная форма работает правильно, но есть еще одна обработка, которая использует эту печатную форму для списка документов и выводит все данные в один табличный документ. Проблема возникает когда в одном документе колонка печатается, а в другом нет, в результате колонка съезжает влево и берет ширину той колонки в которую попала.
Пример: В макете есть строка с тремя колонками разной ширины |-----1-----|-2-|-----3-----| Печатаем первый документ и выводим его в общий таб. док., в нем не должна выводится колонка 3, тогда в результате имеем Док №1 |-----1-----|-2-| После этого обрабатывается следующий документ, в нем не должна выводятся колонка 1 и тогда в результате изменяется ширина этих колонок: Док №1 |-----1-----|-2-| Док №2 |-----2-----|-3-| Вопрос собственно в том, как этого избежать? Я так думаю надо как то каждый документ выводить со своей собственной структурой колонок, но ни как не получается. Пробовал методами Начать/ЗакончитьГруппуСтрок/Колонок() отделять каждый документ от предыдущего, но ширина колонок все равно была общая для строк. |
|||
1
ptiz
20.10.16
✎
10:41
|
ТабДок2.Область().СоздатьФорматСтрок();
ТабДокОбщий.Вывести(ТабДок2); |
|||
2
TURBOslon
20.10.16
✎
10:59
|
(1) пробовал - если для каждого документа так делать, то он возьмет ширину для всех строк по самой верхней строке (у меня там шапка с одним форматом, а строка с другим, т.е. я так сделать не могу), а если брать для каждой присоединяемой области, то вообще как попало выводит т.е. каждая строка выводится постепенно по ячейкам (1ая колонка, 2ая и т.д.), если для каждой ячейки делать формат строк, то они выводятся пустыми, как попало разбитыми и все равно имеют общую ширину с остальными документами.
|
|||
3
Робинзон Крузо
20.10.16
✎
11:00
|
В каждом макете проделываешь следующий фокус:
1.Выделяешь строки областей 2.Затем тянешь чуть любую колонку 3.вываливается сообщение "Новый формат строк...бла блабла", жмешь "ок" 4. В коде используешь стандартное ТабДок.Вывести(Обл) 5. Profit! |
|||
4
TURBOslon
20.10.16
✎
11:01
|
(3) Макет один и тот же, просто повторяется, в этом и проблема
|
|||
5
Робинзон Крузо
20.10.16
✎
11:02
|
(4) Можно и в одном макете также сделать для разных групп строк
|
|||
6
TURBOslon
20.10.16
✎
11:27
|
(5) то ли я путаю, то ли вы - макет один и тот же, строка одна и та же, у строки этой уже измененный формат и выводится она для каждого документа в определенном составе колонок
|
|||
7
ptiz
20.10.16
✎
12:23
|
(2) Плохо пробовал. У меня таким образом ПКО и РКО выводятся в один таб.документ.
|
|||
8
TURBOslon
25.10.16
✎
08:21
|
(7) Если для всего документа делать, то по верхней строке все выстраивает, т.е. как попало, но в целом метод рабочий. Я сделал так -
ТабДок.Область(8,,Док.ВысотаТаблицы-8).СоздатьФорматСтрок(); , то есть для определенной области только создаю формат строк и тогда все правильно, эти области становятся независимыми по ширине колонок. Вопрос решен. |
|||
9
ptiz
25.10.16
✎
10:07
|
(8) Не совсем так:
1) создаешь один общий объект ТабДокОбщий 2) создаешь другой ТабДок - новый пустой, куда выводишь очередной документ, и для него делаешь .СоздатьФорматСтрок() 3) после этого ТабДокОбщий.Вывести(ТабДок) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |