Имя: Пароль:
1C
1С v8
Поле табличного документа. Как скрыть колонку?
0 Галахад
 
гуру
04.08.14
12:54
Процедура ПолеТабличногоДокументаРезультатВыбор(Элемент, Область, СтандартнаяОбработка)
    Позиция = Найти(Область.Имя, "C");
    лИмя = Сред(Область.Имя, Позиция);
    
    //ЭлементыФормы.ПолеТабличногоДокументаРезультат.Область(лИмя).Видимость = Ложь;
    ЭлементыФормы.ПолеТабличногоДокументаРезультат.Область(лИмя).ШиринаКолонки = 2;
КонецПроцедуры

Такой код не работает.
1 Maxus43
 
04.08.14
12:56
видимость не работает? да ладно
2 mikecool
 
04.08.14
12:56
не выводить колонку не предлагать?
3 Галахад
 
гуру
04.08.14
12:57
(1) А вот.
Может где еще посмотреть надо?

(2) Не предлагать.
4 Maxus43
 
04.08.14
12:58
(3) обновить может забыл?
5 Галахад
 
гуру
04.08.14
13:01
(4) Может быть. А как его обновить?
6 Ёпрст
 
04.08.14
13:03
показать
7 Галахад
 
гуру
04.08.14
13:09
Процедура ПолеТабличногоДокументаРезультатВыбор(Элемент, Область, СтандартнаяОбработка)
    Позиция = Найти(Область.Имя, "C");
    лИмя = Сред(Область.Имя, Позиция);
    
    ЭлементыФормы.ПолеТабличногоДокументаРезультат.Область(лИмя).Видимость = Ложь;
    //ЭлементыФормы.ПолеТабличногоДокументаРезультат.Область(лИмя).ШиринаКолонки = 2;
    
    ЭлементыФормы.ПолеТабличногоДокументаРезультат.Показать();
КонецПроцедуры

Так тоже не фурычит.
8 Maxus43
 
04.08.14
13:14
области ячеек таб дока... там может по другому как то... шрит белый делай)
9 mikecool
 
04.08.14
13:15
(3) ну тогда колитесь дальше
видимость области не установите в ложь - только удалять
10 Галахад
 
гуру
04.08.14
13:19
(8) Не, это не круто.

(9) Да вроде Инет говорит обратное.
Примеры вроде есть, только у меня почему-то не работает. :-(
11 mikecool
 
04.08.14
13:20
(10) я вот даже не представлю, что должно случиться с областью таб дока, если ей сказать видимость = 0
скрыть колонку - это понимаю, удалить область или колонку - понимаю, сабж - не понимаю
12 Галахад
 
гуру
04.08.14
13:23
(11) Гм. Скрыть хочу. Вроде так и написал.
13 Ёпрст
 
04.08.14
13:24
(7)
Так работает хоть ? Если да - ищи ошибку в своём коде

Процедура ПолеТабличногоДокументаРезультатВыбор(Элемент, Область, СтандартнаяОбработка)
    Элемент.Область("C2").Видимость = Ложь;

КонецПроцедуры
14 Maxus43
 
04.08.14
13:24
(12) зачем выводить, если скрывать надо?
15 Ёпрст
 
04.08.14
13:26
и это, C то хоть английская в твоём коде ?
:))
16 Jokero
 
04.08.14
13:29
Перерисовать ТабДок без колонки
17 Галахад
 
гуру
04.08.14
13:30
(13) Неа. Так тоже не пашет.
Процедура ПолеТабличногоДокументаРезультатВыбор(Элемент, Область, СтандартнаяОбработка)
    
    Для Сч = 1 по 10 Цикл
        Элемент.Область("C"+Сч).Видимость = Ложь;    
    КонецЦикла;

    
КонецПроцедуры
18 Ёпрст
 
04.08.14
13:31
(17) отладчиком туда хоть заходит ?
19 Ёпрст
 
04.08.14
13:31
я проверил, код в (13) работает на ура
20 Галахад
 
гуру
04.08.14
13:32
(14) Данных много. В экран не входят.

(15) Да. По вычислить выражение тоже нормально показывает.
Может где-то еще какие настройки есть?
21 Ёпрст
 
04.08.14
13:35
А точно обработчик полю назначен ?
Отладчиком заходит в это событие ?
22 Галахад
 
гуру
04.08.14
13:35
(21) Да.

Щас попробую на чистой обработке.
23 Ёпрст
 
04.08.14
13:38
мот еще какой код выполняется при этом ?
Типа обновление отображения и т.д .. где твоя табличка в "первозданный вид" возвращается ?
24 Галахад
 
гуру
04.08.14
13:46
Гм. На чистой обработке все пашет.
И код из (13) и (0)...

Непанятна.

(23) Да вроде нет. Ни у формы, ни у поля больше никаких событий нет.

Может объединенные ячейки так влияют?
25 Галахад
 
гуру
04.08.14
13:48
(24) +
Да нет. Попробовал и с объединенными. Нормально работает.
26 Ёпрст
 
04.08.14
13:56
мот тупо всегда старая обработка с кеша запущается ? перезапусти предприятие
27 hhhh
 
04.08.14
14:03
(24) вот так работает

        ОблНомера = ТабДок.Область(1, 2, ТабДок.ВысотаТаблицы, 2);    
        ОблНомера.ШиринаКолонки = 0;
Основная теорема систематики: Новые системы плодят новые проблемы.