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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.01.2003, 18:26   #1  
AKIS is offline
AKIS
Учаснег
Аватар для AKIS
 
392 / 19 (1) ++
Регистрация: 18.08.2002
Адрес: За морями, за океанами
? InventTrans_DS.active(). Когда выполняется?
А не подскажете ли мне вот чего.

Имеется несколько форм, у которых в качестве датасорса выступает "сладкая парочка" InventTrans - InventDim. У InventTrans-a везде описан метод Active. В одних случаях он выполняется и при старте, и при изменении количества отображаемых складских измерений (кнопочка на форме Inventory->Dimensions). В других - почему-то только при старте.

Вопросы:
1) От чего это зависит? Есть ли способ заставить его выполняться во всех формах в обоих случаях, изменяя ТОЛЬКО сами формы (перекрывая методы, изменяя свойства) ИЛИ вызываемые таблицы (InventTrans/InventDim, тоже изменяя методы или свойства) ?
2) Если нет - есть ли какой-то другой метод, с которым можно проделать подобное? executeQuery и cursorNotify не предлагать, бо они тоже не работают
__________________
Strictly IMHO & nothing personal
Старый 16.01.2003, 18:41   #2  
Vladislav Yushakov is offline
Vladislav Yushakov
Участник
 
47 / 10 (1) +
Регистрация: 10.01.2003
Я бы искал решение в классах, которые управляют складской аналитикой для данных форм - типа *InvDimFrmCtrl сорри не помню названия, но которые перестраивают датасоурсы и отсюда :
Цитата:
2) Если нет - есть ли какой-то другой метод, с которым можно проделать подобное? executeQuery и cursorNotify не предлагать, бо они тоже не работают
Старый 16.01.2003, 19:36   #3  
AKIS is offline
AKIS
Учаснег
Аватар для AKIS
 
392 / 19 (1) ++
Регистрация: 18.08.2002
Адрес: За морями, за океанами
Привет, Владислав,

Спасибо за отклик.
А без трогания классов никак нельзя обойтись ?

Я просто хочу сделать это локально, для конкретных форм, и не распространять это на всю систему...

Самое обидное - ведь как-то это все делается в НЕКОТОРЫХ формах...

Кстати, запускал с горя CodeProfiler - ничего интересного он не дал, все те же InventDimParm* и InventDimCtrl_Frm... Тоска...

Бум искать дальше...
__________________
Strictly IMHO & nothing personal
Старый 16.01.2003, 20:07   #4  
Vladislav Yushakov is offline
Vladislav Yushakov
Участник
 
47 / 10 (1) +
Регистрация: 10.01.2003
Цитата:
А без трогания классов никак нельзя обойтись ?
Я просто хочу сделать это локально, для конкретных форм, и не распространять это на всю систему...
А это даже красивее - порождаешь своего наследника от класса, подменяешь ему что нужно.
И изменяешь обработчик Димов на свой (одна строка изменения в форме)
Делаешь это во всех формах, в которых нужна новая фича.

ООП блин
Старый 17.01.2003, 09:45   #5  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
AKIS
Вызов active происходит из класса InventDimCtrl_Frm_ActiveRightClick
PHP код:
void formSetControlsRightClick(boolean lockForm,
                               
boolean resizeGrid false,
                               
Args    args       null
                              
)
{
    
FormObjectSet callerDS;
    ;
    
super(lockForm,resizeGrid,args);

    if (
args && args.record() && args.record().dataSource())
    {
        
callerDS args.record().dataSource();
        
callerDS.active(); // !!!
    
}

Осталось только понять почему для интересующей тебя формы это не отрабатывает, кстати, что это за форма?
Старый 17.01.2003, 16:04   #6  
AKIS is offline
AKIS
Учаснег
Аватар для AKIS
 
392 / 19 (1) ++
Регистрация: 18.08.2002
Адрес: За морями, за океанами
Wamr, спасибо за clue

Мне тоже интересно, почему оно не не вызывается.... И в Code Profiler-е никаких следов этого класса (ИМЕННО этого класса!) и метода не обнаружил...

Форма InventJournalMovement... Подозреваю, что такая же параша творится со всеми складскими журналами

Еще раз мерси боку, продолжаю поиски, о результатах доложу
__________________
Strictly IMHO & nothing personal
Старый 17.01.2003, 16:34   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Тогда продолжим
Посмотри как объявлен и как создается объект inventDimFormSetup в интересующей тебя форме и сравни с формой InventTransItem (например).
Как мне кажется, именно здесь и зарылась собака... все-таки придется тебе свой класс создавать
Старый 17.01.2003, 16:47   #8  
AKIS is offline
AKIS
Учаснег
Аватар для AKIS
 
392 / 19 (1) ++
Регистрация: 18.08.2002
Адрес: За морями, за океанами
Нда, ты как всегда прав... В "моей" форме он объявлен как
InventDimCtrl_Frm_Mov, в котором нет даже метода formSetControlsRightClick, что, как я понимаю, означает, что этот метод вызывается из "папы"-InventDimCtrl_Frm.

А в InventTrans-е, где все пучком - как

InventDimCtrl_Frm_activeRightClick !!!

Просто перетащил искомый метод - и все заработало! Здорово

СПАСИБО!
__________________
Strictly IMHO & nothing personal
Старый 17.01.2003, 16:51   #9  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
А балы начислишь?
Старый 17.01.2003, 17:59   #10  
AKIS is offline
AKIS
Учаснег
Аватар для AKIS
 
392 / 19 (1) ++
Регистрация: 18.08.2002
Адрес: За морями, за океанами
Это было внеконкурсное задание
__________________
Strictly IMHO & nothing personal
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
метод active() - когда он должен вызываться? kashperuk DAX: Программирование 15 03.12.2008 15:20
какой метод выполняется на форме... lev DAX: Программирование 8 02.10.2007 16:29
dax-lessons: Active directory in Axapta Blog bot DAX Blogs 0 27.08.2007 23:00
axcoder: Tabax 0.2.14: View query of the active datasource Blog bot DAX Blogs 2 02.02.2007 12:10
Установка схемы Active Directory??? nicko DAX: Администрирование 1 13.07.2006 16:20
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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