Имя: Пароль:
1C
 
Видимость колонки "НомерСтроки" в ТЗ
Ø
0 Чучундер
 
08.12.06
19:34
на форме есть ТЗ, хочется видеть в ТЗ счетчик (нумерацию строк).
Делаем ТЗ.ВидимостьКолонки("НомерСтроки",1) - видим эту колонку на форме.
НО! хочется задать ширину = 4, на попытки
ТЗ.УстановитьПараметрыКолонки("НомерСтроки",,,,"N",4);
не реагирует.
можно ли как-то извернуться?
1 bvk
 
08.12.06
22:51
http://1c-esse.buter.ru/load_esse.php?pg=29
)
2 Чучундер
 
08.12.06
23:37
Я так полагаю, что в предложенном (1) решении при пересортировке ТЗ колонка "Номер" будет _автоматом_ содержать нумерацию от 1 до ТЗ.КоличестовСтрок() без всяких _дополнительных_ действий с моей стороны...?
шутники, блин...
3 Natalia
 
09.12.06
14:38
Если сделать ВидимостьКолонки("НомерСтроки",1) - то появляется масса прочих проблем - например, неверно определяется ТекущаяКолонка(), если пытаться определить ее из процедуры, привязанной к ТЗ.... Так что это вещь чисто декоративная...или "мало-декоративная" ))
4 MarshallM
 
14.12.06
07:14
Хотел уточнить для себя некоторый момент...
ВидимостьКолонки("Статус"); И
ВидимостьКолонки("Статус",1);
По сути одинаковые вещи, но работают по разному... В чем причина???
Может кто сталкивался...
5 MarshallM
 
14.12.06
07:43
Первая - ВидимостьКолонки("Статус"); - Просто не делает колонку видимой
Вторая - ВидимостьКолонки("Статус",1); - Удаляет все колонки нах...
Че за бред???
6 smaharbA
 
14.12.06
07:44
(3)
Процедура ПриВыбореЗначения()
  Перем НК;
  Стр=ТЗ.ТекущаяКолонка(,НК);
  Если НК=-1 Тогда
    Стр=ТЗ.ПолучитьПараметрыКолонки(ТЗ.КоличествоКолонок());
  Иначе
  КонецЕсли;
  Сообщить(Стр);
КонецПроцедуры
7 MarshallM
 
14.12.06
07:50
Сильные мира 1С помогите!
Полчаса с одной проблемой сижу!
8 MarshallM
 
14.12.06
08:28
Сильные мира 1С помогите!
Час с одной проблемой сижу!
9 iova
 
14.12.06
08:34
(8) С Какой ?
10 smaharbA
 
14.12.06
08:55
Ширина -> oo
11 MarshallM
 
14.12.06
09:04
(10) - ТОЧНО:-)))))) Спасибо!
12 OlegKZ
 
14.12.06
09:05
Сделай еще одну колонку, в которой отображай номер строк
13 MarshallM
 
14.12.06
09:20
За ширину спасибо...Но она все равно выводит на экран полоски от колонок, что не есть гуд...
Вообщем проблема такая....
ПриОткрытии() делается следующее
Создаю колонки 1,2,3,4,5,6,7,8
1,2,3 - делаю невидимыми ТЗ.ВидимостьКолонки("1,2,3",0);
Следующие 4,5,6 должны становится то видимыми, то не видимыми... В зависимости от нажатой строки...
В конце процедуры ПриОткрытии() Вызывается процедура ПриВыбореГруппы()
В которой первой строкой написано ТЗ.ВидимостьКолонки("4",1);
Запуск...
Нет на экране 4 колонки
Я сделал служебную кнопку и в формуле прописал ПриВыбореГруппы()
На нее нажимаешь.... Опа! И появилась 4 колонка
Объясните причину
14 smaharbA
 
14.12.06
09:32
(13)
Процедура Сформировать()
  Для к=1 по 100 Цикл
    ТЗ.НоваяСтрока();
    ТЗ.Числа=к;
    ТЗ.Числа2=к;
    ТЗ.Числа3=к;
    ТЗ.Числа4=к;
    ТЗ.Числа5=к;
КонецЦикла;
КонецПроцедуры
Процедура ПриОткрытии()
ТЗ.НоваяКолонка("Числа");
ТЗ.НоваяКолонка("Числа2");
ТЗ.НоваяКолонка("Числа3");
ТЗ.НоваяКолонка("Числа4");
ТЗ.НоваяКолонка("Числа5");
ТЗ.ВидимостьКолонки("1,2,3,4,5",0);
Сформировать();
ТЗ.ВидимостьКолонки("1,2,3,4,5",1);
ТЗ.ВидимостьКолонки("1,2,3",0);
КонецПроцедуры
15 MarshallM
 
14.12.06
09:50
Это то я в курсе...
А есть логическое объяснение такому феномену????
Процедура вызываемая из ДругойПроцедуры и она же через нажатие кнопки работают по разному????
16 smaharbA
 
14.12.06
09:52
(15) это только в ПриОткрытии() так
17 Сияющий Асинхраль
 
14.12.06
10:15
(15) Для победы над данным феноменом приходится сильно извращаться без гарантированного результата. Попробуй победить следующим образом:
1) сделай последовательность колонок такой чтобы все видимые при открытии колонки были в начале таблицы (если возможно). Все невидимые в конце.
2) При открытии сначала задать видимость Всех колонок нулевой, и только после этого задавать видимость колонок равную единице, причем видимость и невидимость колонок при открытии задавать не списком, типа ТЗ.ВидимостьКолонки("1,2,3,4,5",1), а по одной
ТЗ.ВидимостьКолонки("1",1)
ТЗ.ВидимостьКолонки("2",1); и т.д.
Использование этих нехитрых правил помогло в свое время частично победить этот геморой.
...
Есть еще пару вариантов, не совсем красивые, но работают:
1)Повесить на форму текст с функцией, которая прорисовывает видимость колонок после открытия (ресурсы жрет, нехорошо)
2) Создать функцию после открытия. На основе обработки ожидания формы создать функцию, которая сразу после открытия будет прорисовывать правильно колонки и прекращать свою работу (вполне работает)...
18 smaharbA
 
14.12.06
10:20
(17) а чем (14) плохо ? и никаких выежонов
19 Сияющий Асинхраль
 
14.12.06
10:29
(18) Последовательность:
ТЗ.ВидимостьКолонки("1,2,3,4,5",1);
ТЗ.ВидимостьКолонки("1,2,3",0);
при открытии может не сработать, особенно если невидимые колонки идут не по порядку, типа
ТЗ.ВидимостьКолонки("1,2,3,4,5",1);
ТЗ.ВидимостьКолонки("1,2,4",0);
По крайней мере несколько раз на это натыкался
20 MarshallM
 
14.12.06
10:54
(19) +1