Как сделать, зависимость операции от представления?
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
arkazar Участник со стажем
Вступление в Клуб: 27.09.2010
|
Пт Мар 02, 2012 14:44  Как сделать, зависимость операции от представления? |
|
Полезность: Нет оценки
|
Товарищи, я опять за помощью.
У меня есть операция в справочнике. Она запускается из 3х представлений. И на форме операции есть "выбор из 3х", пользователь хочет, чтобы в зависимости от представления в котором запущена операция, ставилась точка.
Например в Физ лицах на физ. лицах и т.д. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пт Мар 02, 2012 15:36   |
|
Полезность: 3
|
В двух словах - в каждом представлении сделать операцию - фильтр , в котором устанавливать значение в глобальной переменной.
Если собственно фильтр Вам не нужен, можно скрыть его форму, чтобы не нервировать пользователей.
В операции, где "выбор из трех", смотрим в глобальную перемнную фильтров, в зависимости от нее - включаем выбор (нужную точку).
Как то так. |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Пт Мар 02, 2012 15:42   |
|
Полезность: Нет оценки
|
Если представления находятся в разных классах, то можно считать класс и в зависимости от этого проставлять признак. В противном случае, уважаемый vtar, верно сказал, только через фильтр _________________ всегда есть как минимум 2 выхода |
|
 |
arkazar Участник со стажем
Вступление в Клуб: 27.09.2010
|
Пн Мар 05, 2012 12:16   |
|
Полезность: Нет оценки
|
Ок. спасибо.
Всё находиться в одном классе. |
|
 |
ssa774 Профи
Вступление в Клуб: 30.11.2007
|
Ср Мар 14, 2012 12:19   |
|
Полезность: Нет оценки
|
arkazar пишет: | Ок. спасибо.
Всё находиться в одном классе. |
А как потом сбрасывать эту переменную, в какой момент? Допустим, заходим в представление, срабатывает операция фильтра, запускаем конструктор, в нем проставляется нужный флаг. Дальше заходим во второе представление, запускаем конструктор, также проставляется нужный флаг. Но конструктор доступен также для запуска, если не заходить ни в какое представление. Т.е. заходим в справочник, в представление не заходим, запускаем конструктор и на нем проставляется флаг, который был последним установлен (например, второй). А если я хочу в этом случае первый флаг( или никакого), то нужно сбросить глобальную переменную. Вот как? |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Ср Мар 14, 2012 13:11   |
|
Полезность: Нет оценки
|
ssa774 пишет: | arkazar пишет: | Ок. спасибо.
Всё находиться в одном классе. |
А как потом сбрасывать эту переменную, в какой момент? Допустим, заходим в представление, срабатывает операция фильтра, запускаем конструктор, в нем проставляется нужный флаг. Дальше заходим во второе представление, запускаем конструктор, также проставляется нужный флаг. Но конструктор доступен также для запуска, если не заходить ни в какое представление. Т.е. заходим в справочник, в представление не заходим, запускаем конструктор и на нем проставляется флаг, который был последним установлен (например, второй). А если я хочу в этом случае первый флаг( или никакого), то нужно сбросить глобальную переменную. Вот как? |
так нет ни чего проще.. переменные по окончании выполнения дейсвий обнуляйте или устанавливайте то значение по умолчанию какое Вам необходимо _________________ всегда есть как минимум 2 выхода |
|
 |
ssa774 Профи
Вступление в Клуб: 30.11.2007
|
Ср Мар 14, 2012 13:14   |
|
Полезность: Нет оценки
|
Alexsey пишет: |
так нет ни чего проще.. переменные по окончании выполнения дейсвий обнуляйте или устанавливайте то значение по умолчанию какое Вам необходимо |
Так тоже не получается. Запускаем представление, фильтр меняет глобальную переменную. Запускаем конструктор, выполняем действия, обнуляем глобальную переменную. Запускаем еще раз конструктор, а значения переменной уже нет, флаг не проставится. Т.е. обнулять переменную нужно только при закрытии представления. А это, мне кажется, невозможно. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Ср Мар 14, 2012 13:23   |
|
Полезность: 1
|
Может быть, поможет механизм установки контекста
executor.set_context
вместо глобальных переменных ? |
|
 |
ssa774 Профи
Вступление в Клуб: 30.11.2007
|
Чт Мар 15, 2012 07:35   |
|
Полезность: Нет оценки
|
vtar пишет: | Может быть, поможет механизм установки контекста
executor.set_context
вместо глобальных переменных ? |
А это разве не то же самое будет? Заходим в представление, в фильтре выполняется set_context. Запускаем конструктор, читаем контекст, ставим флаг. Выходим в список представлений, запускаем конструктор, читаем контекст, а он тот же, что было установлено в фильтре. Т.е. нужно опять же сбрасывать контекст при выходе из представления, но как же этот момент отследить, непонятно. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Мар 15, 2012 08:38   |
|
Полезность: Нет оценки
|
Возможно, для конструктора - сделать расширение, в расширении после отработки базовой операции чистить переменную или контекст.
p.s. В некоторых случаях, создание расширения конструктора - довольно нетривиальная операция (например, в ТБП Платежные документы), Вас могут ожидать сюрпризы  |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|