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

1С:Предприятие ::

Метки: 

Можно ли задать разную ширину колонки в табличном документе

Я
   kirillkr
 
01.02.18 - 09:47
Много раз видел в печатных формах 1С разную ширину одной и той же (по номеру порядка) колонки в разных строках. Пытаюсь задать через ШиринуКолонки, но ширина всегда одинаковая и равна ширине из первой строки.
Можно ли программно изменить ширину колонки в конкретной строке, независимо от предыдущих и как это сделать? На что стоит обратить внимание? В одном Табличном документе надо вывести данные двух абсолютно разных таблиц.
 
  Рекламное место пустует
   DrShad
 
1 - 01.02.18 - 09:52
можно, смотри в типовых печать накладных с кодом/артикулом номенклатуры + со скидками и без
   Сияющий в темноте
 
2 - 01.02.18 - 09:56
обычно,делается через обьединение колонок
то есть,мы готовим матрицу коьонок так,чтобы на каждую из вертикальных границ хоть в какой-то строке приходилась граница колонки,а потом полученное дробление обьединяем так,чтобы получились нужные нам строки с колонками
данный метод работает для любой программы с таблицами
   catena
 
3 - 01.02.18 - 09:58
Табл = Новый ТабличныйДокумент;
ОблШ = ПолучитьМакет("Макет").ПолучитьОбласть("Шаблон");
ОблС = ПолучитьМакет("Макет").ПолучитьОбласть("Сдвиг");
ОблШ=Табл.Вывести(ОблШ);
ОблШ.ШиринаКолонки = 9;
ОблС=Табл.Вывести(ОблС);
ОблС.ШиринаКолонки = 18;
Табл.Показать();
   DrShad
 
4 - 01.02.18 - 10:01
(2) конечно же имеет право на жизнь, но извращение еще то
   kirillkr
 
5 - 01.02.18 - 10:22
(1) да вот пересмотрел, но так и не понял. Грубо говоря они там изменяют ширину колонки в зависимости от того, надо выводить какие-то данные или нет..

Они это делают для указания одинаковой ширины всех строк? Т.е. мне надо задать ширину колонок так, чтобы ширина всех колонок в строках была одинаковой?

(2) обычно так и делаю, но тут я даже предопределенный макет не использую, т.к. данные могут быть абсолютно разными. Просто беру первую строчку табличного документа как область, а дальше меняю размеры и вывожу данные по колонкам.
   1Сергей
 
6 - 01.02.18 - 10:27
СоздатьФорматСтрок
   kirillkr
 
7 - 01.02.18 - 11:12
(6) Сергей, СПАСИБО за подсказку. Взял пример из справки к этой функции и все заработало. Пришлось сначала все вывести в новый (другой табличный документ), а затем его, как в примере, вставить нужный... Попробую поиграться с этим без создания нового документа. Пока не получилось.
   kirillkr
 
8 - 01.02.18 - 12:39
Спасибо. Все получилось. Убрал доптабличные документ.

//Перед добавлением новых данных запоминаем номер строки

НачалоНовогоФорматаСтрок = ТабДокумент.ВысотаТаблицы + 1;
//Здесь идет вывод данных

ТабДокумент.Область(НачалоНовогоФорматаСтрок, , ТабДокумент.ВысотаТаблицы, ).СоздатьФорматСтрок();
//После этого задаем размеры каждой КОЛОНКИ для начальной строки блока с другими размерами

ТабДокумент.Область(НачалоНовогоФорматаСтрок, 2).ШиринаКолонки = 10;
   1Сергей
 
9 - 01.02.18 - 13:11
(8) Респект, что сам допёр. Побольше бы таких :)


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