Имя: Пароль:
1C
1C 7.7
v7: Туплю с "шириной колонки" при выводе на печать
,
0 palpetrovich
 
25.02.15
13:56
разная ширина для как-бы "одной и той-же колонки" - эт вообще возможно? код:
    ПерваяКолонка = 1;
    Для Индекс=1 По ТекСправочник.Реквизит() Цикл  
        ИД    = ТекСправочник.Реквизит(индекс).Идентификатор;
        Длина = ТекСправочник.Реквизит(индекс).ДлинаПредставленияЗначения();
        // тут хотелось-бы задать ширину выводимой колонки
        Если ПерваяКолонка = 1 Тогда
            Таб.ВывестиСекцию("Шапка|Колонка");      
            ПерваяКолонка = 0;
        Иначе
            Таб.ПрисоединитьСекцию("Шапка|Колонка"    );
        КонецЕсли;
    КонецЦикла;
1 palpetrovich
 
25.02.15
13:59
+(0) реквизитов - штук 30, лень на каждый делать отдельную секцию...
2 eshtrey
 
25.02.15
14:14
получи область и затем ШиринаСтолбца()
3 Ёпрст
 
25.02.15
14:18
можно, проще - получить секцию, изменить ширину столбца в ней, вывести эту секцию..
4 palpetrovich
 
25.02.15
14:21
(3) но, оп сути - это-же одна и та-же секция? просто она вывоит разные данные
5 palpetrovich
 
25.02.15
14:22
(3) продолжаю тупить
        Секция = Таб.ПолучитьСекцию("Шапка|Колонка");
        Секция.ШиринаСтолбца(Длина);
Поле агрегатного объекта не обнаружено (ШиринаСтолбца)
6 eshtrey
 
25.02.15
14:24
Секция = Таб.ПолучитьСекцию("Колонка");
Секция.ШиринаСтолбца(Длина);
7 palpetrovich
 
25.02.15
14:28
(6) Поле агрегатного объекта не обнаружено (ШиринаСтолбца)

так меняется, но почему-то только первая колонка
        Обл = Таб.Область("R4C1");
        Обл.ШиринаСтолбца(Длина);
8 Ёпрст
 
25.02.15
14:29
да ё..

Секция = Таб.ПолучитьСекцию("Шапка|Колонка");
        Секция.Область().ШиринаСтолбца(Длина);
9 palpetrovich
 
25.02.15
14:31
(8) не, так ничего не меняется ваще, увы
10 Ёпрст
 
25.02.15
14:36
(9) ё..

Секция = Таб.ПолучитьСекцию("Шапка|Колонка");
        Секция.Область(1,1,1,1).ШиринаСтолбца(Длина);
11 welwel
 
25.02.15
14:37
а какую ШиринуСтолбца() показывает отладчик до Таб.ВывестиСекцию(Секция)
?
12 eshtrey
 
25.02.15
14:38
Обл = Таб.Область(1, Таб.ШиринаТаблицы(), 1, Таб.ШиринаТаблицы());
Обл.ШиринаСтолбца(Длина);

если секция например 2 колонки, то пиши Обл = Таб.Область(1, Таб.ШиринаТаблицы()-1, 1, Таб.ШиринаТаблицы());
13 palpetrovich
 
25.02.15
14:44
(10) нет, не катит
Обл = Таб.Область(1, Таб.ШиринаТаблицы(), 1, Таб.ШиринаТаблицы());
Обл.ШиринаСтолбца(Длина);
Сообщить(""+ИД+"  Длина= "+ Длина +" ШиринаТаблицы= "+Таб.ШиринаТаблицы());

ВидКонтрагента  Длина= 12 ШиринаТаблицы= 1
ПолнНаименование  Длина= 100 ШиринаТаблицы= 1
ПолнНаименованиеНал  Длина= 140 ШиринаТаблицы= 2
Адрес  Длина= 100 ШиринаТаблицы= 3
ФизАдрес  Длина= 64 ШиринаТаблицы= 4
Страна  Длина= 15 ШиринаТаблицы= 5
Телефоны  Длина= 30 ШиринаТаблицы= 6
Директор  Длина= 40 ШиринаТаблицы= 7
ГлавныйБухгалтер  Длина= 40 ШиринаТаблицы= 8
14 palpetrovich
 
25.02.15
14:46
Секция = Таб.ПолучитьСекцию("Шапка|Колонка");
Секция.Область(4,1,4,1).ШиринаСтолбца(Длина);

ВидКонтрагента  Длина= 12 ШиринаТаблицы= 1
ПолнНаименование  Длина= 100 ШиринаТаблицы= 1
ПолнНаименованиеНал  Длина= 140 ШиринаТаблицы= 2
Адрес  Длина= 100 ШиринаТаблицы= 3
ФизАдрес  Длина= 64 ШиринаТаблицы= 4
15 palpetrovich
 
25.02.15
14:50
прошу прощения, (13) и (14) - не смотреть - там фигня :)

        Обл = Таб.Область(1, Таб.ШиринаТаблицы(), 1, Таб.ШиринаТаблицы());
        Обл.ШиринаСтолбца(Длина);
        Сообщить(""+ИД+"  Длина= "+ Длина +" ШиринаСтолбца= "+Обл.ШиринаСтолбца());


ВидКонтрагента  Длина= 12 ШиринаСтолбца= 12
ПолнНаименование  Длина= 100 ШиринаСтолбца= 100
ПолнНаименованиеНал  Длина= 140 ШиринаСтолбца= 128
Адрес  Длина= 100 ШиринаСтолбца= 100
ФизАдрес  Длина= 64 ШиринаСтолбца= 64

при этом, первая колонка, там где должно быть 12 - длиннее всех остальных раза в 3. Остальные - как на макете
16 palpetrovich
 
25.02.15
14:53
если выбираю один реквизит (любой) - ширина  выводится корректно, если хотя-бы 2 - нет
17 Ёпрст
 
25.02.15
14:53
(13) гонишь
18 Ёпрст
 
25.02.15
14:56
19 palpetrovich
 
25.02.15
14:56
(17) не, такое впечатление, что на ПрисоединитьСекцию ШиринаСтолбца не действует
20 palpetrovich
 
25.02.15
15:04
(18) странненько, у тебя работает
21 Ёпрст
 
25.02.15
15:05
(19) см. (18)
22 palpetrovich
 
25.02.15
15:20
(21)  таки тупил на ровном месте, ибо вместо:
Таб.ВывестиСекцию(Секция);  
рисовал:
Таб.ВывестиСекцию("Строка|Кол");  

спасибо
23 Ёпрст
 
25.02.15
15:22
(22) бывает, всё самое очевидное, как всегда, на самом видном месте.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн