Имя: Пароль:
1C
1С v8
Помогите отмасштабировать макет
0 mikecool
 
12.01.12
10:04
Ланшафт превращаю в портрет путем уменьшения ширины колонки, но беда в том, что текст в ячейках начинает обрезаться, поскольку не помещается. Как бы его заставить переноситься? СОздать таки видимость того, будто колонку сужаю интерактивно
зы: Размещение стоит в Переносить
1 Пришел в тапках
 
12.01.12
10:06
Точно стоит переносить? Проверь свойства этих ячеек.
2 mikecool
 
12.01.12
10:15
(1) точно, лично устанавливал, инфа 100%
3 RomanYS
 
12.01.12
10:25
Высота строки - авто?
4 mikecool
 
12.01.12
10:27
(3) не везде, но часть ячеек достаточной высоты, что может поместить две строки свободно
5 mikecool
 
12.01.12
10:31
соль в том, что программное изменение ширины не вызывает никакого события.
6 alisto
 
12.01.12
10:32
(4) А ты сохранись, измени высоту всех строк на "Авто" и пиши нам что получилось.
7 mikecool
 
12.01.12
10:37
(6) теже яйки, только сбоку
8 mikecool
 
12.01.12
10:37
+7 если интерактивно изменить ширину - все шевелится, при программном - надо как то вызвать обработчик события
9 RomanYS
 
12.01.12
10:43
Где располагается табличный документ на форме/в отдельном окне?
Ты его выводишь на экран, или сразу на печать?
10 mikecool
 
12.01.12
10:46
(9) вывожу в макет через УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, 1, Ложь);
11 mikecool
 
12.01.12
10:48
12 mikecool
 
12.01.12
10:52
апниму
13 alisto
 
12.01.12
10:54
(0) шарь макет...
14 RomanYS
 
12.01.12
10:55
(11) он так на печать выводит, или на форме так же?
Бывает, что па печать выводит по другому, я относил это к косякам работы с конкретным принтером.
15 mikecool
 
12.01.12
10:55
(13) УТ 10.3.14.5
16 mikecool
 
12.01.12
10:55
+15 ОМ Сч-ф 283
17 mikecool
 
12.01.12
10:56
(14) смотрю пока в предпросмотре
18 НЕА123
 
12.01.12
10:57
(0)
попробовать попинать по колесам(с)
Ячейка.Текст = Ячейка.Текст;
19 alisto
 
12.01.12
10:57
(16) нет УТ...
20 mikecool
 
12.01.12
10:58
(19) да пофик, макет сч-ф одинаков у всех )
21 mikecool
 
12.01.12
11:00
а леплю косого так
Для Счетчик = 1 По ТабДокумент.ШиринаТаблицы Цикл
       ТабДокумент.Область(НачалоОбласти, Счетчик).ШиринаКолонки = ТаблицаСчФ.Область(1, Счетчик, 1, Счетчик).ШиринаКолонки * 0.75;
КонецЦикла;
22 RomanYS
 
12.01.12
11:00
(17) в предпросмотре вроде уже используется драйвер принтера
По-моему выход либо ставить ширину с запасом, или шаманить с принтером/дровами.
23 mikecool
 
12.01.12
11:01
(22) да замутить бы событие изменения ширины как нить
24 RomanYS
 
12.01.12
11:04
(23) Не поможет, в 1с всё у тебя корректно работает, только принтер печатает по своему.
25 mikecool
 
12.01.12
11:05
(24) имхо - тут еще до принтера не доходит, потому что вижу тоже самое и в макете общей формы ПечатьДокументов
26 mikecool
 
12.01.12
11:19
вдруг у кого еще идеи появятся
27 RomanYS
 
12.01.12
11:26
Проверил, взял типовой макет - показывает как у тебя, поменял в макете "размещение" на "переносить" у конкретной ячейки(ед. изм.) - переносит корректно.
28 mikecool
 
12.01.12
11:28
(27) проверил как в (21) ?
29 mikecool
 
12.01.12
11:29
+28 если ручками меняю ширину - то все ок, событие отрабатывает и форматирование происходит
30 RomanYS
 
12.01.12
11:36
(28)да
   Для Счетчик = 1 По Таб.ШиринаТаблицы Цикл
       Таб.Область(1, Счетчик).ШиринаКолонки = Таб.Область(1, Счетчик, 1, Счетчик).ШиринаКолонки * 0.75;
   КонецЦикла;
31 mikecool
 
12.01.12
11:39
переприсвоение текста не помогает
(30) усложним задачу )
ТаблицаСчФ = ФактураСсылка.ПолучитьОбъект().ПечатьТолькоТабличныйДокумент("СчетФактура", 1, Истина);
НачалоОбласти = ТабДокумент.ВысотаТаблицы + 1;
ОбластьПрямоугольная = ТаблицаСчФ.Область(1, , ТаблицаСчФ.ВысотаТаблицы, );
ТабДокумент.ВставитьОбласть(ОбластьПрямоугольная, ТабДокумент.Область(НачалоОбласти, 1));
ОбластьТД = ТабДокумент.Область(НачалоОбласти, , НачалоОбласти + ТаблицаСчФ.ВысотаТаблицы - 1, );
ОбластьТД.СоздатьФорматСтрок();
Для Счетчик = 1 По ТабДокумент.ШиринаТаблицы Цикл
       ТабДокумент.Область(НачалоОбласти, Счетчик).ШиринаКолонки = ТаблицаСчФ.Область(1, Счетчик, 1, Счетчик).ШиринаКолонки * 0.75;
КонецЦикла;
32 RomanYS
 
12.01.12
11:46
(31)У меня только БП под рукой, лениво переписывать
33 RomanYS
 
12.01.12
11:48
Попробуй всё-таки в цикле

ТабДокумент.Область(НачалоОбласти, Счетчик).РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;
34 mikecool
 
12.01.12
13:00
(33) щас попробую
35 mikecool
 
12.01.12
13:05
+34 жестянка получилась )))
не помогло там где должно было помочь
36 RomanYS
 
12.01.12
13:25
(35) ХЗ, я твой код попробовал, выводит вторую таблицу уменьшенную, все переносит (если макет подправлен).
Может платформа глючит, у меня 8.2.13.219.
37 RomanYS
 
12.01.12
13:30
А если уже в форме ПечатьДокументов смотреть свойства кривых ячеек, там "РазмещениеТекста" = "Переносить"?
38 mikecool
 
12.01.12
13:31
(36) у меня 13.205, хз - не переносит и усе тут
плюнул, руками добавил в несколько мест переносы после вывода в табдокумент ))
39 extrim-style
 
12.01.12
14:16
(38) попробуй пройдись циклом по своей колонке, т.е. устанавливая ширину для каждой ячейки. Недавно была похожая проблема, связанная с выводом СКД в макет. Видимо там форматирование разное или еще что-было. Но попробовать не мешает =). Я по-моему так делал.
40 extrim-style
 
12.01.12
14:17
+(39) ой, оффтопик
41 extrim-style
 
12.01.12
14:18
+(40) или нет?..
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn