Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Ср Июл 20, 2016 15:26  Как из формы запустить представление для выбора объекта |
|
Полезность: Нет оценки
|
На форме требуется такая возможность: Пользователь нажимает кнопку, появляется представление заданного типа и пользователь выбирает объект этого типа (например Платеж), после чего из этого объекта значения реквизитов заполняют некоторые поля формы. Вроде понятно: заводим переменную формы с типом ссылка на Платеж, привязываем к ней представление, бросаем на форму, образуется нужная кнопка, которая запускает представление. Вопрос: как передать параметры в представление, чтобы ограничить записи его некими условиями, зависящими от текущих значений на форме? Можно конечно к переменной привязать еще формулу, связывающую колонки представления и переменные операции. Но куда засунуть обработку этих значений, введенных пользователем? Ругань на некорректные значения полей для поиска? Т.е. надо место для кода перед запуском представления, где можно обрабатывать значения переменных для поиска. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Ср Июл 20, 2016 16:13   |
|
Полезность: Нет оценки
|
В клиент-скрипте установить фильтр на представление
Object.ViewFilter As String |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 10:07   |
|
Полезность: Нет оценки
|
Volod пишет: | В клиент-скрипте установить фильтр на представление
Object.ViewFilter As String |
И в каком месте установить фильтр на представление? Между нажатием кнопки и запуском представления нет ни одной точки, куда можно привязать код - клиентские или серверный. Событие OnClick для кнопки с представлением не работает. |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 10:10   |
|
Полезность: Нет оценки
|
Может завести вторую кнопку? После запуска второй кнопки отработает валидатор, где можно все параметры запроса проверить и поругаться, а потом оттуда же нажать вторую кнопку - с представлением. Невидимую. Кто нибудь знает как из валидатора кнопки нажать другую кнопку? |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 10:12   |
|
Полезность: Нет оценки
|
Или в формуле для связи колонок представления и параметров формы вызвать глобальную функцию для проверки значений параметров и ругаться оттуда. Но функция из пакета формы не хочет вызываться в условии формулы. Не видит ее формула. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Чт Июл 21, 2016 10:54   |
|
Полезность: Нет оценки
|
Кнопка валидируется? - значит в секцию Валидации. |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 12:11   |
|
Полезность: Нет оценки
|
Volod пишет: | Кнопка валидируется? - значит в секцию Валидации. |
Кнопка валидируется уже после того как запущено представление и выбран объект из него. А куда вставить код проверки параметров поиска до запуска представления? |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Чт Июл 21, 2016 12:26   |
|
Полезность: Нет оценки
|
Цитата: | Событие OnClick для кнопки с представлением не работает.
|
Тогда OnClick , а почему, кстати, не работает? |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Чт Июл 21, 2016 12:28   |
|
Полезность: Нет оценки
|
Параметры представления задаются на этой же форме и валидируются? |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 12:52   |
|
Полезность: Нет оценки
|
Volod пишет: | Параметры представления задаются на этой же форме и валидируются? |
Да. Но они валидируются не по критериям поиска, а по критериям ввода нового объекта. Форма используется для ввода объекта. Нужна еще отдельная их валидация перед поиском, годятся ли эти значения для поиска |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 12:54   |
|
Полезность: Нет оценки
|
Volod пишет: | Цитата: | Событие OnClick для кнопки с представлением не работает.
|
Тогда OnClick , а почему, кстати, не работает? |
Не знаю. Видимо запуск представления уже занял обработчик OnClicka. Если создаешь, то обработчик не запускается. |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 12:58   |
|
Полезность: Нет оценки
|
Зато работает в клиент-скрипте обработка параметра LastControl is Knopka. Запускается перед запуском представления. Можно поставить Main = False, если проверка параметров не проходит. Только вот сообщение всплывает "Не выполнено условие валидатора клиента. ИГнорировать?" Если выберешь да, то представление все равно запускается. А если нет, то не запускается. Как подавить этот вопрос? |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 13:12   |
|
Полезность: Нет оценки
|
ulge пишет: | Volod пишет: | Цитата: | Событие OnClick для кнопки с представлением не работает.
|
Тогда OnClick , а почему, кстати, не работает? |
Не знаю. Видимо запуск представления уже занял обработчик OnClicka. Если создаешь, то обработчик не запускается. |
Заработал OnClick! И прямо перед запуском представления. Выдаю в обработчике pragma error() при проверке, сообщение отображается, но представление все равно запускается!
Как предотвратить запуск?????? |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Чт Июл 21, 2016 13:45   |
|
Полезность: Нет оценки
|
ulge пишет: | ulge пишет: | Volod пишет: | Цитата: | Событие OnClick для кнопки с представлением не работает.
|
Тогда OnClick , а почему, кстати, не работает? |
Не знаю. Видимо запуск представления уже занял обработчик OnClicka. Если создаешь, то обработчик не запускается. |
Заработал OnClick! И прямо перед запуском представления. Выдаю в обработчике pragma error() при проверке, сообщение отображается, но представление все равно запускается!
Как предотвратить запуск?????? |
Почему не проверять валидность данных сразу после изменения этих данных?
И кнопку входа в представление можно сразу задизейблить.
return False там некуда воткнуть? |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Июл 21, 2016 13:51   |
|
Полезность: Нет оценки
|
Цитата: | Почему не проверять валидность данных сразу после изменения этих данных?
И кнопку входа в представление можно сразу задизейблить |
Критерии валидности разные. Когда значения вводятся для поиска, то они могут быть фрагментами значения, а когда вводятся для ввода, то полными.
Для варианта с LastControl нашел решение. Main = NULL, а не False и представление не вызывается без лишних вопросов. |
|
 |
|