На форме панель с тремя вкладками. На первых двух лежат настройки, на третьей - результат в виде поля табличного документа.
Есть код:
&НаКлиенте
Процедура Далее(Команда)
Если Элементы.Страницы.ТекущаяСтраница = Элементы.ГруппаА Тогда
Элементы.Страницы.ТекущаяСтраница = Элементы.ГруппаБ;
ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.ГруппаБ Тогда
Элементы.Страницы.ТекущаяСтраница = Элементы.ГруппаРезультат;
ОбработатьНаСервере();
Иначе
Элементы.Страницы.ТекущаяСтраница = Элементы.ГруппаБ;
КонецЕсли;
СтраницыПриСменеСтраницы(Неопределено, Элементы.Страницы.ТекущаяСтраница);
КонецПроцедуры
&НаКлиенте
Процедура СтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница)
Если ТекущаяСтраница = Элементы.ГруппаА Тогда
Элементы.Далее.Заголовок = "Далее";
ИначеЕсли ТекущаяСтраница = Элементы.ГруппаБ Тогда
Элементы.Далее.Заголовок = "Обработать";
Иначе
Элементы.Далее.Заголовок = "Назад";
КонецЕсли;
КонецПроцедуры
Если нажата кнопка Обработать со второй вкладки, выполняется заполнение результата с помощью СКД, и активизируется последняя вкладка. При этом поле табличного документа оказывается прокрученным максимально вниз и вправо (видно только нижний правый угол от всего документа, и приходится скролить всё это дело в начало).
Если закомментить ручной вызов СтраницыПриСменеСтраницы(Неопределено, Элементы.Страницы.ТекущаяСтраница), то результат начинает отображаться нормально.
Пробовал заменить вызов процедуры на простое присваивание:
Элементы.Далее.Заголовок = "Назад";
Картина та же. При этом заметил, что поле табличного документа прокручивается вниз только при первом формировании. Если вернуться на вторую вкладку и переформировать его, результат отобразится корректно.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой