gifts2017

Как узнать, на какой странице панели находится элемент формы

Опубликовал Александр Лапшин (zfilin) в раздел Программирование - Практика программирования

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

Добрй день, друзья.

Недавно столкнулся с задачей, которую невозможно решить, да и не нужно решать. Но все-таки "Мы сами знаем, что она не имеет решения, мы хотим знать, как ее решать".

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

В приложении обработка (запускается в обычном приложении, любая конфигурация), которая по кнопке "Открыть форму" показывает сложную форму с панелями, а по кнопке "Проанализировать форму" показывает принадлежность элементов к панелям и страницам. Панель с именем "_Форма" - это панель самой формы (ЭтаФорма.Панель).

Понятно, что анализ занимает некоторое время, но, в принципе, результат можно закешировать в сеансе и не тратить время на анализ при повторном использовании (как я и делаю).

Код не использует внешних компонент.

И важно понимать, что ЭТОТ КОД ЯВЛЯЕТСЯ ЧИСТОЙ ВОДЫ "ТРИКСОМ" И БАЗИРУЕТСЯ НА НЕОЧЕВИДНЫХ ОСОБЕННОСТЯХ ПЛАТФОРМЫ. НЕ ИСПОЛЬЗУЙТЕ ЕГО В ПРОДАКШНЕ, ЛУЧШЕ ПРИШЛИТЕ В КОМПАНИЮ 1С РЕПОРТ О НЕДОСТАЮЩЕМ ФУНКЦИОНАЛЕ.

А лучше переходите на современные технологии. Для вас же делают управляемые формы, мобильные приложения и прочую разную крутотень. Стыдно, граждане!

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

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

Скачать файлы

Наименование Файл Версия Размер
ПринадлежностьЭлементов.epf 6
.epf 9,23Kb
08.01.16
6
.epf 9,23Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Лапшин (zfilin) 08.01.16 03:12
Сразу напишу, что есть два топика на другом сайте на которые я ориентировался.
Первый очень старый - http://www.forum.mista.ru/topic.php?id=235018
И второй - http://kb.mista.ru/article.php?id=650

Первый я принял как вызов, второй как поддержку. Спасибо Allexe8.1
3. Александр Лапшин (zfilin) 09.01.16 02:16
(2) tormozit, Спасибо.
Простите за невнимательный поиск.
4. Иван Иванов (kosmo0) 13.01.16 13:56
"А лучше переходите на современные технологии. Для вас же делают управляемые формы, мобильные приложения и прочую разную крутотень. Стыдно, граждане!" - расскажите это поставщикам УПП.
TeMochkiN; +1 Ответить
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа