Имя: Пароль:
1C
 
Текущая страница - почему не меняется, а потом модифицированность сбрасывается
0 RomaH
 
naïve
17.08.16
08:09
При открытии на клиенте устанавливаю текущую страницу в зависимости от заполненности реквизита объекта

после неё ничего не выполняется, страница устанавливается - проверял значение

- на форме показывает страницу по умолчанию

дальше веселее - при добавлении строки в ТЧ объекта (таблица на форме)
нужная страница показывается, а модифицированность не устанавливается
и строка в режим редактирования не входит
при этом никакого кода не выполняется - проверял через замер производительности
1 RomaH
 
naïve
17.08.16
08:29
Если ЗначениеЗаполнено(Объект.СлучайНетрудоспособности) Тогда
        Элементы.НачатьНетрудоспособность.Видимость = Ложь;
        Элементы.СтраницыДействияСН.Видимость = Истина;
        //ЭтаФорма.ОбновитьОтображениеДанных();
        
        Если ОснованиеЗаписи = СсылкаНового Тогда
            Элементы.СтраницыДействияСН.ТекущаяСтраница = Элементы.СтраницаДанныеСН;    
        Иначе
            Элементы.СтраницыДействияСН.ТекущаяСтраница = Элементы.СтраницаДействияСН;
        КонецЕсли;


мешает вот эта строка - меняет видимость кнопки
Элементы.НачатьНетрудоспособность.Видимость = Ложь;//было Истина

без неё все работает как надо
почему?
2 Numerus Mikhail
 
17.08.16
08:41
Попробуй настройку видимости перенести в отдельную процедуру.
Типа так

Если ЗначениеЗаполнено(Объект.СлучайНетрудоспособности) Тогда
НастроитьВидимостьЭлементов();
        //ЭтаФорма.ОбновитьОтображениеДанных();

        
        Если ОснованиеЗаписи = СсылкаНового Тогда
            Элементы.СтраницыДействияСН.ТекущаяСтраница = Элементы.СтраницаДанныеСН;    
        Иначе
            Элементы.СтраницыДействияСН.ТекущаяСтраница = Элементы.СтраницаДействияСН;
        КонецЕсли;

Процедура НастроитьВидимостьЭлементов()
        Элементы.НачатьНетрудоспособность.Видимость = Ложь;
        Элементы.СтраницыДействияСН.Видимость = Истина;
КонецПроцедуры

Когда-то сталкивался с подобной херней, так и не смог понять почему, но мне помогло.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший