1с не меняется страница

Обновлено: 08.07.2024

Режимы панели

В формах 1С:Предприятия 8 элементы управления не существуют сами по себе, а размещаются на страницах панелей или табличных документах. Самый простой случай - элемент управления размещен на первой и единственной странице главной панели формы. Дополнительные панели обычно используют для группировки или унификации форм. Элементы управления привязываются к панели или к другим элементам на этой же странице и не зависят от элементов формы, размещенных на других панелях формы.
Таким образом, панель является своего рода "изолятором" для содержащихся в ней элементов управления, ограничивая их зависимость от остальной формы в области привязок.

Панель может содержать несколько страниц, на каждой из которых можно размещать различные элементы управления. Многостраничные панели используются, например, в следующих случаях:

  1. Если поля не влезают в форму, то их можно распределить по закладкам панели по смысловому признаку (важные - вспомогательные, основные - дополнительные и т.д.) или принадлежности к одной информационной группе (например, одна закладка для реквизитов юридического лица, а другая - для реквизитов физического лица)
  2. Если поля четко можно разделить на основные и второстепенные так, что второстепенные будут использоваться крайне редко. В этом случае их удобно поместить на закладку с названием, например, "Дополнительно".
  3. Для создания сложных форм с программным управлением доступностью и видимостью нужных страниц.

Варианты расположения закладок.

Наиболее популярным и понятным для пользователя является вариант отображения закладок "Сверху".


Следом за ним идет вариант "Снизу". Далее по популярности следуют варианты "Слева (горизонтально)" и "Справа (горизонтально)". Все остальные варианты применяются значительно реже:

  • Сверху (с прокруткой)
  • Сверху (в несколько строк)
  • Сверху (в несколько строк с перестановкой)
  • Снизу (с прокруткой)
  • Снизу (в несколько строк)
  • Снизу (в несколько строк с перестановкой)
  • Слева (вертикально)
  • Справа (вертикально)

Особенности отрисовки закладок

В режиме "Сверху", "Снизу", "Слева (вертикально)" или "Справа (вертикально)", если все закладки не вмещаются по ширине панели, то текст в названиях закладок обрезается и дополняется троеточиями. В режимах "Сверху (с прокруткой)", "Снизу (с прокруткой)", "Слева (горизонтально)" и "Справа (горизонтально)", если все закладки не вмещаются по ширине, появляются кнопки прокрутки. Прокручивание не меняет активной закладки.

Картинки в закладках

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


Высота всех закладок вычисляется как максимум от высоты текста и размера самой большой картинки. Картинки отображаются центрированными по высоте, не сжимаясь и не растягиваясь. Максимально допустимый размер картинки для закладок панели составляет 96х64 точек экрана. Картинки большего размера автоматически пропорционально уменьшаются до этого размера.

Переключение страниц

Интерактивно переключать страницы панели можно несколькими способами:

  1. Щелчок левой кнопкой мыши на соответствующей закладке.
  2. Открытие контекстного меню при помощи щелчка правой кнопкой мыши в панели или области закладок с последующим выбором команды, соответствующей названию нужной страницы (только в режиме редактирования или проверки формы).
  3. Нажатие Ctrl+PgUp (Ctrl+Alt+F) или Ctrl+PgDown (Ctrl+Alt+B) для выбора предыдущей или следующей страницы.

Закладки несколько ухудшают беглое восприятие формы, т.к. скрывают часть полей и лишают пользователя возможности одним взглядом оценить смысловое содержание формы. Поэтому рекомендуется применять многостраничные панели, когда остальные способы улучшения эргономики форм не приносят желаемого результата.

Несмотря на возможность переключения закладок при помощи клавиатуры большинство пользователей применяют для этих целей мышь. На это требуется в среднем от 2 до 5 секунд, поэтому поля частого использования рекомендуется размещать на первой закладке, чтобы не сбивать темп при потоковом вводе данных.

Одна страница - много закладок

Невидимые страницы

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

Запрещенные страницы

Если страница является недоступной, то ее нельзя сделать активной.
Элементы управления, расположенные на недоступной закладке, также являются недоступными.
Закладка и команды контекстного меню недоступных страниц отображаются притененными.

Режим прокручиваемых страниц

В этом режиме все страницы панели располагаются вертикально одна за другой и отделяются друг от друга заголовками. Заголовок каждой страницы имеет кнопки для перехода к следующей или предыдущей странице или закрытию (схлопыванию) данной страницы. Активной считается страница, на которой расположен активный элемент управления.


При двойном щелчке левой кнопкой мыши на заголовке какой-либо страницы происходит ее раскрытие (если нужно) и закрытие всех остальных страниц. Таким образом, с помощью двойного щелчка мыши можно добиться, чтобы всегда была раскрыта только одна страница панели.

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

(9) В чом костыль-то? Событие возникает при ИНТЕРАКТИВНОЙ смене страницы, чтобы мог отработать некий код. Если программист меняет страницу программно, то ему и решать, какой код должен отработать, не факт, что целиком весь обработчик.

Как же одинэснегов всегда поражает необходимость в языке программирования писать код.

(14) В обычном приложении много ещё чего через заднее место.
(16) Костыль в том, что в синтакс-помощнике не указано, что данное событие вызывается при ИНТЕРАКТИВНОЙ смене страницы, а для меня смена страницы - это когда была страница1, а стала страница2 и не важно, программно она была изменена или интерактивно.
А для решения, какой же код должен отработать, пишутся отдельные процедуры, а не вызываются события обработчиков.
(18) "для решения, какой же код должен отработать, пишутся отдельные процедуры" - а видимость у тебя не из процедуры меняется, не? "а не вызываются события обработчиков." - а ты СОБЫТИЕ и не вызываешь. Ты будешь вызывать процедур-обработчик. Почуй разницу.
"в синтакс-помощнике не указано, что данное событие вызывается при ИНТЕРАКТИВНОЙ смене страницы" - программные действия не вызывают возникновения событий у элементов формы, есличо, так что писать это излишне.
Имхо, явно вызывать обработчик события не айс. Карма портится.
(21) да с самого начала было понятно что унего весь код через ..опу
(22) Не могу согласиться, ведь исходников платформы 1С не видел, но, возможно, какие-то недоработки там есть
(23) Не вопрос. Завтра встанет задача изменить поведение исключительно для интерактивной смены страницы.
(27) Жаль огорчать, но как было сказано в (5) , нет возможности интерактивного переключения закладок, ибо страницы сделаны лишь для того, чтобы не мучать сервер при изменении определенных данных
есть процедура которая отрабатывает некий код, вызывай её когда нужно и если нужно пихай в любые активации событий в которых она нужна, в чем проблема?
(29) Чего меняешь? В смысле убираешь г*код с вызовом обработчика событий и делаешь нормально, как можно было сделать сразу?
(30) Все может быть, однако вопрос в (0) задан немного не про вызов любой процедуры, а именно про активацию события.

(32) Вы знаете, в нашей работе таки иногда и программировать приходится.
И я таки в упор не вижу, в чем заключается "говнокод вызова процедуры".

Ну и - а куда надо было бы бежать в случае (27) если событие всегда вызывается?

(33) Интерактивно происходит самоактивация, программно активировать необходимо явно - вызовом процедуры события. Что не ясно?
(35) Программная, естественно.
(34) А бежать никуда не надо, просто нужно разрабатывать процедуры так, чтобы они вызывались там, где нужно. Почему нельзя создать общую процедуру (событие) для изменения общих параметров (как для программного, так и для интерактивного изменения) и процедуру для изменения реквизитов (только программное изменение), которую вызывать при программном изменении?

(34) ХЗ может я чо-то непонятно объясняю, попробую на пальцах.

Теперь пришла задача, чтобы когда пользователь переключал страницу программа выдавала предупреждение. А программно не выдавала.

Если бы мы сначала сделали всё руками и вытащили обработку в отдельную процедуру, нам было бы достаточно допилить обработчик события. А так нужно всё перепиливать.

Прошу помощи вот по какому вопросу: настроила автоматический обмен между 1с и сайтом, но изменения не выгружаются. Делаю принудительную выгрузку-1с не отвечает. Сражу скажу, я не специалист. Уже не знаю что делать, помогите, пожалуйста.

Не могу забить, мне срочно нужно решить эту проблему.
Спасибо всем, посмеемся с опечаток. Реально нужна помощь
ну файлы на сайт через ftp выкладываются? там в настройках есть кнопка проверить связь

(0) Ставите любую фигню для удаленного управления компом (TeamViewer, Ammyy etc)

и просите помочь (за спасибо или еще как это уже другой вопрос)

Garykom, т.е. мне эту задачу не решить? Нужно обращаться за помощью к специалисту?

(24) так уже (23) горит прям желанием ))

ЗЫ
помог бы но тока УТ знаю про битрикс тока слышал

(26) не ну я горю многими желаниями не скрою :-))) Но, увы в проблеме я помочь врят ли смогу ни битрикса ни ут 11 я не щупал.
(24) Ну пока что слишком мало исходных данных, чтобы приходит к такому выводу. Все еще может получиться.
Котокот, может я что-то не так делаю? Захожу в Администрирование-Настройки синхронизации данных, выбираю узел обмена, ставлю галочку Использовать периодический обмен данными, параметры каждый день; каждые 10 секунд.
(30) Какие 10 секунд? Что он успеет за 10 секунд сделать то? Раз в 10 минут хотя бы.
И если вы галочку только сейчас поставили, так может там еще никаких изменений не зарегистрировалось, выгружать еще нечего.
Котокот, галочку давно поставила, изменения были. Сначала поставила раз в 20 минут
(30)База-то небось файловая. Регламенты-то небось не работают.
И эта, фотка где? :)))

(35)
Там при настройке выгрузки есть фишка.

Нужно создать типовое соглашение для выгрузки цен: перейти Маркетинг — Типовые соглашения с клиентами. Создать новое соглашение или изменить существующее. При этом соглашение должно быть действующим, с пустым сегментом партнеров, доступно внешним пользователям. Установить Вид цен, График работы, поставить флаг: Доступно внешним пользователям

pablo --> pablo



Просмотр профиля

Захотелось мне по нажатию кнопки Добавить в табличной части обработки сменить текущую страницу управляемой формы. Написал код:

И. ничего не случилось. Я понимаю, что система после обработки события принудительно меняет активный элемент (и, следовательно, страницу).
Теперь вопрос. Можно ли как-то обойти это, кроме как созданием своей собственной кнопки Добавить?

Правильно поставленный вопрос содержит до 90% ответа. andr_andrey --> andr_andrey



Просмотр профиля

pablo @ Сегодня, 17:19 ,
"кроме как созданием своей собственной кнопки Добавить?"

"Правильно поставленный вопрос содержит до 90% ответа."

Vofka --> Vofka



Просмотр профиля

*Поправил немножко код

pablo --> pablo



Просмотр профиля

Vofka, такой способ мне не подходит, т.к. мне нужно, чтобы строка осталась (я ее реквизиты вынес на отдельную закладку).
Я нашел один немного окольный способ обхода

при этом реквизиты формы со страницы Группа3 не заполнены и помечены как "Выдавать ошибку".

но может есть более прямые?

Правильно поставленный вопрос содержит до 90% ответа. Vofka --> Vofka



Просмотр профиля Vofka, такой способ мне не подходит, т.к. мне нужно, чтобы строка осталась (я ее реквизиты вынес на отдельную закладку).
Если в момент ввода новой строки происходит переход на другую страницу, можно предположить, что в новой строке ничего не заполнено. Поэтому такую пустую строку можно добавить программно одной строчкой кода. logist --> logist



Просмотр профиля Подключить обработчик ожидания через 0,1 процедура которая сменит страницу. andr_andrey --> andr_andrey



Просмотр профиля logist @ Сегодня, 18:22 ,
Как цивилизованно можно ожидать интервал? logist --> logist



Просмотр профиля

Читайте также: