Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Вывод множества таб. док-ов в один общий таб. док. с сохранением ширины колонок

Вывод множества таб. док-ов в один общий таб. док. с сохранением ширины колонок
Я
   TURBOslon
 
20.10.16 - 10:38
Добрый день. Платформа 8.3.5.1443. Есть печатная форма в которой в зависимости от данных могут не выводится некоторые колонки. Сама по себе печатная форма работает правильно, но есть еще одна обработка, которая использует эту печатную форму для списка документов и выводит  все данные в один табличный документ. Проблема возникает когда в одном документе колонка печатается, а в другом нет, в результате колонка съезжает влево и берет ширину той колонки в которую попала.

Пример:
В макете есть строка с тремя колонками разной ширины

|-----1-----|-2-|-----3-----|

Печатаем первый документ и выводим его в общий таб. док., в нем не должна выводится колонка 3, тогда в результате имеем

Док №1
|-----1-----|-2-|

После этого обрабатывается следующий документ, в нем не должна выводятся колонка 1 и тогда в результате изменяется ширина этих колонок:

Док №1
|-----1-----|-2-|
Док №2
|-----2-----|-3-|

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует