|
Красивое определение текущей таблицы | ☑ | ||
---|---|---|---|---|
0
VarIzo
02.07.18
✎
17:44
|
Доброго дня.
Есть форма управляемая, на ней три страницы, на каждой странице по таблице (таблицы в реквизитах формы). Как красивее определять текущую таблицу? Для чего: есть общее для всех поле при изменение которого в текущей таблице надо поменять значение колонки. Пока просто после изменением значения в общем поле, проверяю имя текущей страницы, но имхо гореть мне за это в аду. |
|||
1
runoff_runoff
02.07.18
✎
17:52
|
ПараметрыВыбора и СвязиПараметровВыбора скорей всего нужно юзать
|
|||
2
Eiffil123
02.07.18
✎
17:53
|
в элементе форм страниц проверить текущую страницу. но это не кошерно.
|
|||
3
Akela has missed
02.07.18
✎
17:53
|
Если имя таблицы будет совпадать с именем страницы:
ИмяТаблицы = Элементы.ГруппаСтраниц.ТекущаяСтраница.Имя; Таблица = ЭтотОбъект[ИмяТаблицы]; |
|||
4
Tonik992
02.07.18
✎
17:54
|
Что в вашем понимании "Красиво" - это какие критерии?
|
|||
5
Eiffil123
02.07.18
✎
17:55
|
(4) но гравное, чтобы юзер не менял расположение элементов формы. А то перетащит все таблицы на одну страницу и привет.
|
|||
6
_Дайвер_
02.07.18
✎
17:56
|
(4) Не знает как , вот и все
|
|||
7
Akela has missed
02.07.18
✎
17:58
|
(5) Как запретить изменять форму?)
|
|||
8
Eiffil123
02.07.18
✎
18:01
|
(7) в настройках формы конечно. там галка же была вроде. Но запрещать нельзя, этож управляемый интерфейс, пользователь должен себе жизнь облегчать настройками и всё такое.
|
|||
9
Tonik992
02.07.18
✎
18:02
|
(5) хы. Представляю, как бухгалтер думает, как бы озадачить бездельников программистов. И тут начинает переставлять таблицы местами
|
|||
10
Вафель
02.07.18
✎
18:03
|
(9) если это не учитывать, то мы реализуем костыль
|
|||
11
Akela has missed
02.07.18
✎
18:04
|
(8) Да, нашел. Еще в свойствах самой группы есть свойство "Разрешить пользовательское изменение состава группы".
|
|||
12
singlych
02.07.18
✎
19:06
|
Три элемента для отображения общего поля?
|
|||
13
pablo_escobar
02.07.18
✎
19:33
|
(0) Так раз поле общее нужно менять во всех 3-х таблицах. Например пользователь выбрал что то в общем поле, изменилась "активная таблица". Пользователь меняет страницу и активной становится другая таблица. Почему она не изменена, хотя общее поле заполнено?
|
|||
14
VarIzo
03.07.18
✎
09:31
|
>"ПараметрыВыбора и СвязиПараметровВыбора скорей всего нужно юзать"
- спасибо за совет сейчас попробую. >"в элементе форм страниц проверить текущую страницу. но это не кошерно." - это и ыбл рабочий вариант. Выглядело примерно так: <code> Если Элементы.Страницы.ТекущаяСтраница.Имя = "Страница1" Тогда Возврат Таблица1; ИначеЕсли Элементы.Страницы.ТекущаяСтраница.Имя = "Страница2" Тогда Возврат Таблица2 Иначе Возврат Неопределено; КонецЕсли; </code> Но юзерам захотелось внутрь второй страницы засунуть еще две!!! И вышло так: <code> Если Элементы.Страницы.ТекущаяСтраница.Имя = "Страница1" Тогда Возврат Таблица1; ИначеЕсли Элементы.Страницы.ТекущаяСтраница.Имя = "Страница2" Тогда Если Элементы.Страницы.ТекущаяСтраница.ПодчиненныеЭлементы.Страницы2.ТекущаяСтраница.Имя = "Страница3" Тогда Возврат Таблица2 ИначеЕсли Элементы.Страницы.ТекущаяСтраница.ПодчиненныеЭлементы.Страницы2.ТекущаяСтраница.Имя = "Страница4" Тогда Возврат Таблица3 Иначе Возврат Неопределено; КонецЕсли; Иначе Возврат Неопределено; КонецЕсли; </code> При виде такого кода мне становится неприятно. А это для меня знак что код явно не "красивый" - с ним явно что то не то. >"Если имя таблицы будет совпадать с именем страницы: " - надо попробовать. >"но гравное, чтобы юзер не менял расположение элементов формы. А то перетащит все таблицы на одну страницу и привет." - этого не будет, и то хорошо. |
|||
15
Tonik992
03.07.18
✎
10:12
|
Чтобы сделать "красиво", определи переменную Соответствие,
в которой будешь хранить сопоставление названия страницы и таблицы. И далее делай рекурсивный вызов, т.к. у тебя могут быть вложенный таблицы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |