Изменение ширины колонок табличного дока #585914


#0 by mzelensky
Доброго времени суток! Трабл такой: есть табличный документ, на котором изображена таблица. Таблица состоит из 3 частей. 1 часть - 3 статические колонки 2 часть - набор динамически выводимых колонок (количество определяется программно) 3 часть - еще 4 статические колонки. Т.к. в середине таблицы находятся динамически создаваемые колонки (их число варьируется), то общая ширина таблицы постоянно разная. Как программно изменять размеры колонок так, чтобы они были на ширину страницы? "АвтоМасштаб" не прокатывает, т.к. он лишь сжимает таблицу, если она слишком широкая, а растягивать не растягивает.
#1 by mzelensky
как я полагаю (самое простое решение) нужно получить количество динамических колонок и в зависимости от их числа увеличить или уменьшить ширину одной из колонок в "1 части" (грубо говоря колонку с наименованием), но не могу понять как добраться до метода "ширина колонки" и изменить его.
#2 by Axel2009
ну у тебя есть ширина 7 статических колонок. и ширина страницы.. ну вычислить помоему не сложно..
#3 by Axel2009
в табдоке ТабДок.Область("C1").Ширина
#4 by mzelensky
там еще другая загвоздка: в макет выводится несколько таких таблиц! В каждой таблице количество динамических колонок разное, а следовательно общая ширина каждой таблицы тоже разная. Нужно все эти таблицы привести к общему размеру.
#5 by mzelensky
выходит, что мне нужно, допустим, в первом случае колонку растянуть на 10 пунктов, а во втором сжать на 5, а в третьем еще что-то...и это все с одной и тойже колонкой (ну допустим второй)
#6 by mzelensky
вот так почеиу-то не прокатывает!
#7 by Axel2009
играться нужно с разными форматами строк.. не сталкивался..
#8 by mzelensky
так куда хоть капать-то???
#9 by Axel2009
глянь в СП СоздатьФорматСтрок
#10 by mzelensky
немного дебильное описание в СП, но попробую...
#11 by mzelensky
какая-то хрень получается! Пишу: В итоге она мне первую часть выводит (с измененным параметром ширины колонки), а потом ничего не присоединяет (ни вторую ни третью часть). При этом никаких ошибок тоже нет - просто ничего не выводит!
#12 by mzelensky
нароооооод!!!! хелп!!!! F1-F1-F1!!!!
#13 by Axel2009
сделай 3 разных табдока, в которых верные ширины колонок для начала. потом будешь с форматом строк играться
#14 by mzelensky
не вариант! Там все динамическое и заранее не просчитывается. Нужно выставлять именно программно в момент формирования.
#15 by Axel2009
как раз самый тот вариант. ты формируешь 3 таб дока с нужными тебе ширинами колонок. потом 1ый основной и в него вставляешь 2 других таб док с новым форматированием, и ширины колонок присваиваешь из этих источников. так и описано в СП
#16 by mzelensky
так а если у меня не 3, а 20 таблиц??? Мне 20 табДоков формировать, а потом собирать в один???
#17 by mzelensky
+ проблема не в том ,чтобы вывести эти 3 разные таблицы, а в том чтобы вывести эту одну таблицу, которая состоит из 3 частей. Получается вывести только первую часть, а две остальные, которые должны к ней присоединяться, почему-то не выводятся в макет!
#18 by Axel2009
ну убери создать формат строк то.
#19 by Axel2009
в скд ваще не вариант таблицу выводить?
#20 by mzelensky
так убрать или поставить??? ты определись! в СКД не вариант!
#21 by Axel2009
так я не понял. ты хочешь в 1 таблицу нарисовать 150 разных колонок???
#22 by Axel2009
ЗЫ есть еще один вариант. получаешь всю область ТабличнаяЧастьУпаковочногоЛистаШапка. знаешь что 3 первые колонки - нужны, 4ая динамическая и остальные тоже нужны. сразу рисуешь область как тебе нужно (изменяешь) и выводишь всю строку.
#23 by Axel2009
вот пример: в макете 3 колонки. 1 узкая, 2 шировка, 3 узкая.
#24 by mzelensky
т.е. ты формируешь общую строку из составляющих путем "ВставитьОбласть", а не через "присоединить", как это делал я изначально. Попробую...
#25 by Axel2009
там основное то, что создать формат строк нужно формировать на область, которая уже вставлена, а не на одну ячейку.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С