Сделал простенькую обработку для объяснения сути проблемы. В общем, делаю я довольно навороченную для моего уровня штуковину с автоматически создающимися на форме закладками и полями ввода. Проблема такова: при перемещении по закладкам иногда возникает ситуация, когда после перехода на ту или иную закладку полоса прокрутки не появляется, и часть элементов, расположенных на этой закладке, становится недоступной для пользователя. Однако, погуляв туда-сюда по закладкам и опять переключившись на данную проблемную закладку, мы видим, что полоса прокрутки на своем законном месте!

Чувствую, что копать надо в сторону привязок, но пока что не особо в этом разбираюсь. Прошу советов мудрых.

К вниманию дается обработка с алгоритмом, повторяющим данную проблему (написана в 1С 8.2, но по сути в 8.1 должно быть то же самое). Открываем форму обработки, НИЧЕГО не делаем с размерами самой формы! Гуляем по закладкам, как описано в прилагающихся скриншотах.

Страница5 - Страница4 - Страница3 - Страница2 - никаких проблем.

Далее закрываем обработку и открывааем снова.

Страница5 - Страница4 - Страница2 - нет полосы прокрутки.

Далее, например, так:

Страница4 - Страница2 - вуаля, полоса прокрутки появилась.

Исчезнувшая полоса прокрутки как-то связана с тем, что когда впервые переходим с закладки с небольшим количеством элементов (и соответственно без полосы прокрутки) на закладку с большим количеством элементов, то при первом переходе полоса прокрутки не появляется.

Версия моем платформы - 8.2.15.294.
---
LeaNaeD, в первоначальном варианте обработки в свойствах формы снимите галочку "Использовать выравнивающие линии" - глюк больше не повторится
---
LeaNaeD, в первоначальном варианте обработки в свойствах формы снимите галочку "Использовать выравнивающие линии" - глюк больше не повторится
---
bambr1975,

Аааа, мой спаситель!
---
У меня обработка не открылась по причине:
Неверный формат хранилища данных
---
Apextrofimov,

>Версия моем платформы - 8.2.15.294

Какая у Вас?

Вообще, могу дать код обработки. Достаточно создать форму обработки, на ней разместить панель "Панель1" и вставить следующий код (ну и подставить для формы соответствующую событийную процедуру ПриОткрытии):

```1c
    Процедура ПриОткрытии()

    СозданиеСтраницыИЭлементов(10);
    СозданиеСтраницыИЭлементов(30);
    СозданиеСтраницыИЭлементов(2);
    СозданиеСтраницыИЭлементов(20);

    КонецПроцедуры

    Процедура СозданиеСтраницыИЭлементов(КоличествоЭлементов)

    НовСтраница = ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    ЭлементыФормы.Панель1.ТекущаяСтраница = НовСтраница;

    ВерхЭлемента = 10;

    Для Ном = 1 По КоличествоЭлементов Цикл

    НовыйЭлементУправленияНадпись = ЭлементыФормы.Добавить(Тип("Надпись"), НовСтраница.Имя+"Надпись"+Ном,Истина,ЭлементыФормы.Панель1);
    НовыйЭлементУправленияНадпись.Верх = ВерхЭлемента;
    НовыйЭлементУправленияНадпись.Заголовок = НовСтраница.Имя+"Надпись"+Ном;
    НовыйЭлементУправленияНадпись.Лево = 6;
    НовыйЭлементУправленияНадпись.Ширина = 200;
    НовыйЭлементУправленияНадпись.Высота = 19;

    НовыйЭлементУправления = ЭлементыФормы.Добавить(Тип("ПолеВвода"), НовСтраница.Имя+"Поле"+Ном,Истина,ЭлементыФормы.Панель1);
    НовыйЭлементУправления.Верх = ВерхЭлемента;
    НовыйЭлементУправления.Лево = НовыйЭлементУправленияНадпись.Лево + НовыйЭлементУправленияНадпись.Ширина + 6;
    НовыйЭлементУправления.Высота = 19;
    НовыйЭлементУправления.Ширина = 30;
    НовыйЭлементУправления.ТолькоПросмотр = Ложь;

    НовыйЭлементУправления.ТипЗначения = Новый ОписаниеТипов("Строка");
    НовыйЭлементУправления.ВыбиратьТип = Ложь;

    ВерхЭлемента = ВерхЭлемента + 19 + 6;

    КонецЦикла;

    КонецПроцедуры
```
---
А то что элементы страниц формируются только начиная со 2й страницы это нормально или нет?
В первой получается неопределенное значение...
---
Akuji,

Обработка сделана почти на тяпляп, чтобы воспроизвести ошибку. Первая закладка просто пустая, нет на ней никаких элементов ну и хай с ним.
---
и все таки, как в оригинале?)
если что то типо того:

```1c
    Процедура ПриОткрытии()

    СозданиеСтраницыИЭлементов(10,ЭлементыФормы.Панель1.ТекущаяСтраница);//первая страница уже создана!
    НовСтраница =ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    СозданиеСтраницыИЭлементов(30,НовСтраница);
    НовСтраница =ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    СозданиеСтраницыИЭлементов(2,НовСтраница);
    НовСтраница =ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    СозданиеСтраницыИЭлементов(20,НовСтраница);

    КонецПроцедуры

    Процедура СозданиеСтраницыИЭлементов(КоличествоЭлементов,НовСтраница)
    ЭлементыФормы.Панель1.ТекущаяСтраница = НовСтраница;

    ВерхЭлемента = 10;

    Для Ном = 1 По КоличествоЭлементов Цикл

    НовыйЭлементУправленияНадпись = ЭлементыФормы.Добавить(Тип("Надпись"), НовСтраница.Имя+"Надпись"+Ном,Истина,ЭлементыФормы.Панель1);
    НовыйЭлементУправленияНадпись.Верх = ВерхЭлемента;
    НовыйЭлементУправленияНадпись.Заголовок = НовСтраница.Имя+"Надпись"+Ном;
    НовыйЭлементУправленияНадпись.Лево = 6;
    НовыйЭлементУправленияНадпись.Ширина = 200;
    НовыйЭлементУправленияНадпись.Высота = 19;

    НовыйЭлементУправления = ЭлементыФормы.Добавить(Тип("ПолеВвода"), НовСтраница.Имя+"Поле"+Ном,Истина,ЭлементыФормы.Панель1);
    НовыйЭлементУправления.Верх = ВерхЭлемента;
    НовыйЭлементУправления.Лево = НовыйЭлементУправленияНадпись.Лево + НовыйЭлементУправленияНадпись.Ширина + 6;
    НовыйЭлементУправления.Высота = 19;
    НовыйЭлементУправления.Ширина = 30;
    НовыйЭлементУправления.ТолькоПросмотр = Ложь;

    НовыйЭлементУправления.ТипЗначения = Новый ОписаниеТипов("Строка");
    НовыйЭлементУправления.ВыбиратьТип = Ложь;

    ВерхЭлемента = ВерхЭлемента + 19 + 6;

    КонецЦикла;

    КонецПроцедуры
```

то глюк не воспроизводится. все работает нормально
---
Akuji,

В оригинале в районе 4000-5000 строк кода, смысла приводить его нет. Однако часть с созданием закладок и полей практически идентичная.

В вашем примере замените код процедуры на этот.

```1c
    Процедура ПриОткрытии()

    СозданиеСтраницыИЭлементов(10,ЭлементыФормы.Панель1.ТекущаяСтраница);//первая страница уже создана!
    НовСтраница =ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    СозданиеСтраницыИЭлементов(10,НовСтраница);
    НовСтраница =ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    СозданиеСтраницыИЭлементов(30,НовСтраница);
    НовСтраница =ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    СозданиеСтраницыИЭлементов(2,НовСтраница);
    НовСтраница =ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);
    СозданиеСтраницыИЭлементов(20,НовСтраница);

    КонецПроцедуры
```

В результате у меня тот же самый косяк при переходе по страницам 5-->4--->2.
Почему Вас (как и остальных) смутило, что первая закладка пустая? Логики 1С это не нарушает.

(7) lehis_S,

Не понял смысла в Вашем коде. Суть в том, что на каждой закладке может находиться определенное количество различных элементов. И понятное дело, что эти элементы должны находиться именно на этой закладке, а не на других. Мой код просто воспроизводит это дело (Куча закладок с различным количеством элементов на них) и воспроизводит ошибку с непоявляющейся полосой прокрутки.
---
LeaNaeD,
Суть в том, что не глючит, уже общелкался))). Хотя с вашим кодом были глюки описанные вами. Я понимаю что это не решение, но может все-таки, чем-то поможет. Да и платформа у меня 8.2.16.352.
---
lehis_S,

Располагать на форме количество элементов, меньшее, чем то, при котором часть элементов заходит за границу формы - это не вариант. Тем более, это пример с небольшой формой, а в реале оно покруче будет. У меня разрешение монитора 1920х1080, и где все нормально, у кого-то на 800х600 вылезут такие косяки. Да и элементы эти тоже могут быть похитрее - это здесь они в высоту 19, а может быть один элемент, но такой огромный по высоте, что и на фулл хд выйдет за пределы формы.
---
lehis_S,

Кстати, измените код процедуры в своей обработке (тот, что Вы приложили для скачивания) на этот

```1c
    Процедура ПриОткрытии()

    СозданиеСтраницыИЭлементов(10);
    СозданиеСтраницыИЭлементов(10);
    СозданиеСтраницыИЭлементов(30);
    СозданиеСтраницыИЭлементов(2);
    СозданиеСтраницыИЭлементов(10);
    СозданиеСтраницыИЭлементов(20);
    ОснСтр = ЭлементыФормы.Панель1.Страницы.Страница1;
    ЭлементыФормы.Панель1.ТекущаяСтраница = ОснСтр;

    КонецПроцедуры
```

Гуляйте по закладкам прямо по очереди слева направо 1-->2-->3-->4-->5. На 5 странице косяк.

Дополню - вру, сразу на второй странице уже косяк, нет полосы прокрутки. Для чистоты эксперимента напоминаю - если ненароком изменили размер формы, делаете "восстановить положение окна" форме обработки, иначе глюк может не проявиться.
---
Немного изменил код глюков нет.

```1c
    Процедура ПриОткрытии()

    СозданиеСтраницыИЭлементов(10);
    СозданиеСтраницыИЭлементов(30);
    СозданиеСтраницыИЭлементов(2);
    СозданиеСтраницыИЭлементов(20);
    ОснСтр = ЭлементыФормы.Панель1.Страницы.Страница1;
    ЭлементыФормы.Панель1.ТекущаяСтраница = ОснСтр;

    КонецПроцедуры

    Процедура СозданиеСтраницыИЭлементов(КоличествоЭлементов)

    НовСтраница = ЭлементыФормы.Панель1.ТекущаяСтраница ;

    ВерхЭлемента = 10;

    Для Ном = 1 По КоличествоЭлементов Цикл

    НовыйЭлементУправленияНадпись = ЭлементыФормы.Добавить(Тип("Надпись"), НовСтраница.Имя+"Надпись"+Ном,Истина,ЭлементыФормы.Панель1);
    НовыйЭлементУправленияНадпись.Верх = ВерхЭлемента;
    НовыйЭлементУправленияНадпись.Заголовок = НовСтраница.Имя+"Надпись"+Ном;
    НовыйЭлементУправленияНадпись.Лево = 6;
    НовыйЭлементУправленияНадпись.Ширина = 200;
    НовыйЭлементУправленияНадпись.Высота = 19;

    НовыйЭлементУправления = ЭлементыФормы.Добавить(Тип("ПолеВвода"), НовСтраница.Имя+"Поле"+Ном,Истина,ЭлементыФормы.Панель1);
    НовыйЭлементУправления.Верх = ВерхЭлемента;
    НовыйЭлементУправления.Лево = НовыйЭлементУправленияНадпись.Лево + НовыйЭлементУправленияНадпись.Ширина + 6;
    НовыйЭлементУправления.Высота = 19;
    НовыйЭлементУправления.Ширина = 30;
    НовыйЭлементУправления.ТолькоПросмотр = Ложь;

    НовыйЭлементУправления.ТипЗначения = Новый ОписаниеТипов("Строка");
    НовыйЭлементУправления.ВыбиратьТип = Ложь;

    ВерхЭлемента = ВерхЭлемента + 19 + 6;

    КонецЦикла;
    Если КоличествоЭлементов <> 20 Тогда
    НовСтраница = ЭлементыФормы.Панель1.Страницы.Добавить("Страница"+ЭлементыФормы.Панель1.Страницы.Количество()+1);

    ЭлементыФормы.Панель1.ТекущаяСтраница = НовСтраница;
    КонецЕсли;

    КонецПроцедуры
```