Вход | Регистрация

1С:Предприятие ::

Метки: 

Красивое определение текущей таблицы

Я
   VarIzo
 
02.07.18 - 17:44
Доброго дня.
Есть форма управляемая, на ней три страницы, на каждой странице по таблице (таблицы в реквизитах формы).

Как красивее определять текущую таблицу?

Для чего: есть общее для всех поле при изменение которого в текущей таблице надо поменять значение колонки.

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

>"в элементе форм страниц проверить текущую страницу. но это не кошерно." 
- это и ыбл рабочий вариант. Выглядело примерно так:
<code>
Если Элементы.Страницы.ТекущаяСтраница.Имя = "Страница1" Тогда
    Возврат Таблица1;
ИначеЕсли Элементы.Страницы.ТекущаяСтраница.Имя = "Страница2" Тогда
    Возврат Таблица2
Иначе
    Возврат Неопределено;
КонецЕсли;
</code>

Но юзерам захотелось внутрь второй страницы засунуть еще две!!!
И вышло так:
<code>
Если Элементы.Страницы.ТекущаяСтраница.Имя = "Страница1" Тогда
    Возврат Таблица1;
ИначеЕсли Элементы.Страницы.ТекущаяСтраница.Имя = "Страница2" Тогда
    Если Элементы.Страницы.ТекущаяСтраница.ПодчиненныеЭлементы.Страницы2.ТекущаяСтраница.Имя = "Страница3" Тогда
        Возврат Таблица2
    ИначеЕсли Элементы.Страницы.ТекущаяСтраница.ПодчиненныеЭлементы.Страницы2.ТекущаяСтраница.Имя = "Страница4" Тогда    
        Возврат Таблица3
    Иначе
        Возврат Неопределено;
    КонецЕсли;
Иначе
    Возврат Неопределено;
КонецЕсли;
</code>
При виде такого кода мне становится неприятно. А это для меня знак что код явно не "красивый" - с ним явно что то не то.

>"Если имя таблицы будет совпадать с именем страницы: " 
- надо попробовать.

>"но гравное, чтобы юзер не менял расположение элементов формы. А то перетащит все таблицы на одну страницу и привет." 
- этого не будет, и то хорошо.
   Tonik992
 
15 - 03.07.18 - 10:12
Чтобы сделать "красиво", определи переменную Соответствие,
в которой будешь хранить сопоставление названия страницы и таблицы.
И далее делай рекурсивный вызов, т.к. у тебя могут быть вложенный таблицы.


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует