16.01.2003, 18:26 | #1 |
Учаснег
|
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 |
Участник
|
Я бы искал решение в классах, которые управляют складской аналитикой для данных форм - типа *InvDimFrmCtrl сорри не помню названия, но которые перестраивают датасоурсы и отсюда :
Цитата:
2) Если нет - есть ли какой-то другой метод, с которым можно проделать подобное? executeQuery и cursorNotify не предлагать, бо они тоже не работают
|
|
16.01.2003, 19:36 | #3 |
Учаснег
|
Привет, Владислав,
Спасибо за отклик. А без трогания классов никак нельзя обойтись ? Я просто хочу сделать это локально, для конкретных форм, и не распространять это на всю систему... Самое обидное - ведь как-то это все делается в НЕКОТОРЫХ формах... Кстати, запускал с горя CodeProfiler - ничего интересного он не дал, все те же InventDimParm* и InventDimCtrl_Frm... Тоска... Бум искать дальше...
__________________
Strictly IMHO & nothing personal |
|
16.01.2003, 20:07 | #4 |
Участник
|
Цитата:
А без трогания классов никак нельзя обойтись ?
Я просто хочу сделать это локально, для конкретных форм, и не распространять это на всю систему... И изменяешь обработчик Димов на свой (одна строка изменения в форме) Делаешь это во всех формах, в которых нужна новая фича. ООП блин |
|
17.01.2003, 09:45 | #5 |
----------------
|
AKIS
Вызов active происходит из класса InventDimCtrl_Frm_ActiveRightClick PHP код:
|
|
17.01.2003, 16:04 | #6 |
Учаснег
|
Wamr, спасибо за clue
Мне тоже интересно, почему оно не не вызывается.... И в Code Profiler-е никаких следов этого класса (ИМЕННО этого класса!) и метода не обнаружил... Форма InventJournalMovement... Подозреваю, что такая же параша творится со всеми складскими журналами Еще раз мерси боку, продолжаю поиски, о результатах доложу
__________________
Strictly IMHO & nothing personal |
|
17.01.2003, 16:34 | #7 |
----------------
|
Тогда продолжим
Посмотри как объявлен и как создается объект inventDimFormSetup в интересующей тебя форме и сравни с формой InventTransItem (например).
Как мне кажется, именно здесь и зарылась собака... все-таки придется тебе свой класс создавать |
|
17.01.2003, 16:47 | #8 |
Учаснег
|
Нда, ты как всегда прав... В "моей" форме он объявлен как
InventDimCtrl_Frm_Mov, в котором нет даже метода formSetControlsRightClick, что, как я понимаю, означает, что этот метод вызывается из "папы"-InventDimCtrl_Frm. А в InventTrans-е, где все пучком - как InventDimCtrl_Frm_activeRightClick !!! Просто перетащил искомый метод - и все заработало! Здорово СПАСИБО!
__________________
Strictly IMHO & nothing personal |
|
17.01.2003, 16:51 | #9 |
----------------
|
А балы начислишь?
|
|
17.01.2003, 17:59 | #10 |
Учаснег
|
Это было внеконкурсное задание
__________________
Strictly IMHO & nothing personal |
|