|
Можно ли задать разную ширину колонки в табличном документе | ☑ | ||
---|---|---|---|---|
0
kirillkr
01.02.18
✎
09:47
|
Много раз видел в печатных формах 1С разную ширину одной и той же (по номеру порядка) колонки в разных строках. Пытаюсь задать через ШиринуКолонки, но ширина всегда одинаковая и равна ширине из первой строки.
Можно ли программно изменить ширину колонки в конкретной строке, независимо от предыдущих и как это сделать? На что стоит обратить внимание? В одном Табличном документе надо вывести данные двух абсолютно разных таблиц. |
|||
1
DrShad
01.02.18
✎
09:52
|
можно, смотри в типовых печать накладных с кодом/артикулом номенклатуры + со скидками и без
|
|||
2
Сияющий в темноте
01.02.18
✎
09:56
|
обычно,делается через обьединение колонок
то есть,мы готовим матрицу коьонок так,чтобы на каждую из вертикальных границ хоть в какой-то строке приходилась граница колонки,а потом полученное дробление обьединяем так,чтобы получились нужные нам строки с колонками данный метод работает для любой программы с таблицами |
|||
3
catena
01.02.18
✎
09:58
|
Табл = Новый ТабличныйДокумент;
ОблШ = ПолучитьМакет("Макет").ПолучитьОбласть("Шаблон"); ОблС = ПолучитьМакет("Макет").ПолучитьОбласть("Сдвиг"); ОблШ=Табл.Вывести(ОблШ); ОблШ.ШиринаКолонки = 9; ОблС=Табл.Вывести(ОблС); ОблС.ШиринаКолонки = 18; Табл.Показать(); |
|||
4
DrShad
01.02.18
✎
10:01
|
(2) конечно же имеет право на жизнь, но извращение еще то
|
|||
5
kirillkr
01.02.18
✎
10:22
|
(1) да вот пересмотрел, но так и не понял. Грубо говоря они там изменяют ширину колонки в зависимости от того, надо выводить какие-то данные или нет..
Они это делают для указания одинаковой ширины всех строк? Т.е. мне надо задать ширину колонок так, чтобы ширина всех колонок в строках была одинаковой? (2) обычно так и делаю, но тут я даже предопределенный макет не использую, т.к. данные могут быть абсолютно разными. Просто беру первую строчку табличного документа как область, а дальше меняю размеры и вывожу данные по колонкам. |
|||
6
1Сергей
01.02.18
✎
10:27
|
СоздатьФорматСтрок
|
|||
7
kirillkr
01.02.18
✎
11:12
|
(6) Сергей, СПАСИБО за подсказку. Взял пример из справки к этой функции и все заработало. Пришлось сначала все вывести в новый (другой табличный документ), а затем его, как в примере, вставить нужный... Попробую поиграться с этим без создания нового документа. Пока не получилось.
|
|||
8
kirillkr
01.02.18
✎
12:39
|
Спасибо. Все получилось. Убрал доптабличные документ.
//Перед добавлением новых данных запоминаем номер строки НачалоНовогоФорматаСтрок = ТабДокумент.ВысотаТаблицы + 1; //Здесь идет вывод данных ТабДокумент.Область(НачалоНовогоФорматаСтрок, , ТабДокумент.ВысотаТаблицы, ).СоздатьФорматСтрок(); //После этого задаем размеры каждой КОЛОНКИ для начальной строки блока с другими размерами ТабДокумент.Область(НачалоНовогоФорматаСтрок, 2).ШиринаКолонки = 10; |
|||
9
1Сергей
01.02.18
✎
13:11
|
(8) Респект, что сам допёр. Побольше бы таких :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |