Имя: Пароль:
1C
1С v8
Страницы на управляемых формах
,
0 SpellKeeper
 
18.12.17
17:25
Добрый день.
На управляемой форме воткнул группу страниц. Вроде в этом элементе есть поле для указания процедуры обработки события переключения формы.
В указанной процедуре поставил точку останова. По факту программа в нее не попадает.

В процедуре ПриОткрытии включил код для установки на нужную страницу. Тоже не работает. На строку попадает, а вот изменений никаких не происходит.
Строка кода.
ЭтаФорма.Элементы.ПанельОрганизации.ТекущаяСтраница = ЭтаФорма.Элементы.ПанельОрганизации.ПодчиненныеЭлементы.Организация2;

Это я что-то не то делаю или с 1С что-то?
1 Cyberhawk
 
18.12.17
17:27
Показывай своего дружка
2 Fragster
 
гуру
18.12.17
17:28
событие возникает при интерактивной смене страницы, если надо программно - то вставляй свой код после изменения текущей страницы
3 SpellKeeper
 
18.12.17
17:30
Так код как раз при интерактивной смене и не отрабатывает.
Вот процедура, если поможет.

&НаКлиенте
Процедура ПанельОрганизацииПриСменеСтраницы(Элемент, ТекущаяСтраница)
    УстановитьОтборПоОрганизации(ТекущаяСтраница);
КонецПроцедуры
4 SpellKeeper
 
18.12.17
17:31
Ну ладно, при программной смене я поставлю код, но страница-то не переключается. Активной остается первая.
5 Cyberhawk
 
18.12.17
17:33
Надо не в ПриОткрытии код писать, а подключить там однократный обработчик ожидания и уже там код переключения страницы написать
6 SpellKeeper
 
18.12.17
18:10
Из обработчика ожидания процедура тоже не вызвалась.
Понатыкал точек останова ни одна не отработала, кроме строки запуска обработчика ожидания.
Форму переделать что ли?
7 Cyberhawk
 
18.12.17
18:12
Видимо ты что-то не так делаешь
8 SpellKeeper
 
18.12.17
18:22
Там что-то не так сделать сложно. что здесь может быть не так?

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Сообщить("Форма управляемая");
    ВремяКон = ТекущаяДата();
    Сообщить("Нач: " + ВремяНач + " Кон:" + ВремяКон);
    
    //Если ЗначениеЗаполнено(ОсновнаяОрганизация) Тогда
    //    ЭтаФорма.Элементы.ПанельОрганизации.ПодчиненныеЭлементы.ОрганизацияГотня.ПутьКДаннымЗаголовка
    //Иначе
    //    ЭтаФорма.Элементы.ПанельОрганизации.ТекущаяСтраница = ЭтаФорма.Элементы.ПанельОрганизации.ПодчиненныеЭлементы.ОрганизацияГотня;
    //КонецЕсли;
    ПодключитьОбработчикОжидания("УстановитьСтраницу", 0.1, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ПанельОрганизацииПриСменеСтраницы(Элемент, ТекущаяСтраница)
    УстановитьОтборПоОрганизации(ТекущаяСтраница);
КонецПроцедуры

&НаКлиенте
Процедура УстановитьСтраницу()
    ЭтаФорма.Элементы.ПанельОрганизации.ТекущаяСтраница = ЭтаФорма.Элементы.ПанельОрганизации.ПодчиненныеЭлементы.Организация2;
КонецПроцедуры
9 PiotrLoginov
 
18.12.17
19:52
(0) Набросать внешнюю обработку с примитивной формой. На форму кинуть страницы. Проверить событие при смене страницы.

(5) Чо то я сомневаюсь... при всем уважении. Сколько использовал страницы, никогда не приходилось прибегать к обработчику ожидания
10 Cyberhawk
 
18.12.17
20:24
(9) В мобильной платформе попробуй ))
11 Cyberhawk
 
18.12.17
20:24
(8) Бери страницу не из подчиненных элементов, а из элементов формы
12 SpellKeeper
 
19.12.17
09:13
(11). Т.е. так?
ЭтаФорма.Элементы.ПанельОрганизации.ТекущаяСтраница = ЭтаФорма.Элементы.Организация2;
13 SpellKeeper
 
19.12.17
09:22
О, как! На самом деле, у меня 1С глючила. Я плюнул, перезагрузил, и оно заработало.
Там еще куча других проблем. Но с этой вроде все.
14 France
 
19.12.17
23:55
ой, семерку вспомнил... первый опыт, или у меня опыта такого нет?))
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший