AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.03.2012, 14:50   #1  
Lapunder is offline
Lapunder
Участник
 
40 / 10 (1) +
Регистрация: 24.04.2008
Добрый день
Ситуация:
есть форма, на которой табконтроль с тремя вкладками. На каждой вкладке - субформа - ссылка на одну и ту же форму, только с разными фильтрами.
Имеется кнопень, которая запускает определенные расчеты в зависимости от того, на какой строчке субформы мы в данный момент находимся. Запуск процедуры стало быть производится непосредственно из самой субформы. Вызов процедуры идет по кнопке из основной формы и имеет следующий вид:
Код:
CurrForm.SubForm.FORM.WorkTime;
Как определить, какая вкладка в данный момент активна, дабы запусать эту процедуру именно под той вкладкой, на которой мы в данный момент находимся? Ибо если стоим на второй вкладке, а по кнопке срабатывает вышеозначенный код, который собственно говоря указывает на субформу с первой вкладки, получаем, что текущая запись берется с первой вкладки.
Старый 27.03.2012, 15:09   #2  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
А как вы определяете вкладку, когда устанавливаете тот или иной фильтр на субформу?
Старый 27.03.2012, 15:23   #3  
Lapunder is offline
Lapunder
Участник
 
40 / 10 (1) +
Регистрация: 24.04.2008
Цитата:
Сообщение от Alex Che Посмотреть сообщение
А как вы определяете вкладку, когда устанавливаете тот или иной фильтр на субформу?
три вкладки - три субформы, в каждую загнан определенный фильтр. во время дизайна вкладки ж можно переключать
Старый 27.03.2012, 16:03   #4  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
Цитата:
Сообщение от Lapunder Посмотреть сообщение
три вкладки - три субформы, в каждую загнан определенный фильтр. во время дизайна вкладки ж можно переключать
Так значит, это три разные субформы и различать нужно не вкладки, а субформы... у меня вроде где-то есть несколько субформ, посмотрю, как они идентифицируются в дизайнере.
Старый 27.03.2012, 16:25   #5  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
Вкладки, по крайней мере в 3.7, не имеют идентификаторов. Субформам можно давать разные имена вместо тех, что по умолчанию, тогда (и только) они появляются в списке объектов. Но как вытащить оттуда RECORD и TABLEVIEW, я не нашёл. Хотел сделать на кнопке: SETTABLEVIEW(<таблица из субформы>).
Старый 27.03.2012, 16:29   #6  
Lapunder is offline
Lapunder
Участник
 
40 / 10 (1) +
Регистрация: 24.04.2008
Цитата:
Сообщение от Alex Che Посмотреть сообщение
Вкладки, по крайней мере в 3.7, не имеют идентификаторов. Субформам можно давать разные имена вместо тех, что по умолчанию, тогда (и только) они появляются в списке объектов. Но как вытащить оттуда RECORD и TABLEVIEW, я не нашёл. Хотел сделать на кнопке: SETTABLEVIEW(<таблица из субформы>).
в нав2009 что-то тоже не находится (

да, может и не принципиально, какая вкладка активна. тогда принципиально, на какой субформе фокус.
Старый 27.03.2012, 16:32   #7  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
Единственное, что приходит в голову - сделать не одну кнопку на общем поле, а на каждой закладке одинаковые кнопки, тогда они должны брать каждая свою субформу (и, соответственно, фильтр?).
Старый 31.07.2013, 11:39   #8  
Larsen is offline
Larsen
Участник
 
4 / 10 (1) +
Регистрация: 20.01.2006
И чего не заглянул раньше?
Путем размышлений пришел почти к такому же решению, как и apanko. Только не Контрол, а глобальную переменную ActiveForm.
На триггере OnActivateForm() строка ActiveForm :=TRUE; а на триггере OnDeactivateForm() - ActiveForm :=FALSE;
На каждой субформе функция retActiveForm() : Boolean со строкой EXIT(ActiveForm);

А на нажатие кнопки повесил проверку
IF CurrForm.sub31.FORM.retActiveForm() = TRUE THEN //дальше ваш код
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:02.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.