|
v7: Автоширина столбцов в отчетах | ☑ | ||
---|---|---|---|---|
0
mistеr
23.10.15
✎
20:19
|
Пришлость тут поработать с клюшками.
Можно ли как-то организовать сабж? Может кодом или еще как? Йоксель вроде не умеет. |
|||
1
HawkEye
23.10.15
✎
20:35
|
(0) правой кнопкой конфигураторе на нужной колонке, жамкнуть кнопку "Авто" ))
|
|||
2
mistеr
23.10.15
✎
20:47
|
(1) Щютка, да?
|
|||
3
HawkEye
23.10.15
✎
21:03
|
(2) у тебя нет конфигуратора?
|
|||
4
mistеr
23.10.15
✎
22:08
|
(3) OK, я поленился хорошо сформулмровать задачу. Исправляюсь.
Мне нужно в таблице, куда я вывел отчет, для некоторых колонок подобрать ширину так, чтобы текст в ячейках помещался на одной строке, без переносов и без обрезания. Примерно так, как СКД в восьмерке делает. |
|||
5
mehfk
23.10.15
✎
22:11
|
Исключительно руками.
|
|||
6
RomanYS
23.10.15
✎
22:13
|
(4) только считать максимальную длину текста и задавать явно ширину
|
|||
7
HawkEye
23.10.15
✎
22:43
|
(4) ну тогда, как-то так
Таб = СоздатьОбъект("Таблица"); тесСтр = "фпваовлпрывдпрыдвлопрдавлопрдвпрывдомтдлыовтамдлыоврдлыварпыдвшгапрыдвоалмдывлаоыдловпрывадшгпрывадолпрывадплот"; Таб.ВывестиСекцию("Строка"); Обл = Таб.Область(1,1,1,1); ДлинаСтроки = СтрДлина(тесСтр); обл.ШиринаСтолбца(ДлинаСтроки); |
|||
8
mistеr
23.10.15
✎
22:51
|
(6) (7) Для какого размера шрифта это работает? Или всегда +/- километр?
|
|||
9
HawkEye
23.10.15
✎
22:52
|
(8) тыжпрограммист... подгоняй ))
|
|||
10
RomanYS
23.10.15
✎
22:54
|
(8) естественно считать коэффициент для конкретного шрифта, и если он не моноширинный, то всегда будет погрешность
|
|||
11
Злопчинский
24.10.15
✎
02:10
|
в неком обширном подмножестве случаев вычислить можно 100% - но надо привязываться к размеру листа... а как вычислить именно в мокселе... - не знаю.. интересно
|
|||
12
vcv
24.10.15
✎
07:51
|
(10) этот коэффициент будет зависеть от конкретного шрифта, размера шрифта, показывается печатная форма на экране или выводится на принтер, масштаба печати, модели принтера.
Поэтому коэффициент нужно брать с приличным запасом. |
|||
13
Смотрящий
24.10.15
✎
08:08
|
||||
14
HawkEye
24.10.15
✎
09:07
|
(8) при выводе - запоминаешь максимальную высоту строки. номинальную высоту фиксируешь по любой известной тебе строке...
дальше простой цикл пока высота строки с максимальной высотой больше высоты строки с номинальной высотой - увеличивай ширину, для ускорения можешь взять шаг 3 или 5 - экспериментируй... |
|||
15
RomanYS
24.10.15
✎
13:38
|
(14) почему-то мне кажется, клюшки не вернут тебе реальную высоту строки, если у неё стоит высота "авто".
|
|||
16
HawkEye
24.10.15
✎
14:31
|
(15) наверное ты прав, некогда экспериментировать...
|
|||
17
mistеr
24.10.15
✎
20:01
|
(13) Спасибо. Но уж больно сложно как-то. :)
Если поставят задачу сделать "кровь из носу", тогда воспользуюсь. |
|||
18
Vladal
24.10.15
✎
20:35
|
(4) > Примерно так, как СКД в восьмерке делает.
Программно перебери содержимое колонки и установи ширину. Пример - в типовых конфигурациях в УниверсальномОтчете. |
|||
19
Vladal
24.10.15
✎
20:37
|
(7) Тут надо задать некий максимум, и устанавливать в ячейках перенос текста.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |