![]() |
#1 |
Учаснег
|
![]()
А не подскажете ли мне вот чего.
Имеется несколько форм, у которых в качестве датасорса выступает "сладкая парочка" InventTrans - InventDim. У InventTrans-a везде описан метод Active. В одних случаях он выполняется и при старте, и при изменении количества отображаемых складских измерений (кнопочка на форме Inventory->Dimensions). В других - почему-то только при старте. Вопросы: 1) От чего это зависит? Есть ли способ заставить его выполняться во всех формах в обоих случаях, изменяя ТОЛЬКО сами формы (перекрывая методы, изменяя свойства) ИЛИ вызываемые таблицы (InventTrans/InventDim, тоже изменяя методы или свойства) ? 2) Если нет - есть ли какой-то другой метод, с которым можно проделать подобное? executeQuery и cursorNotify не предлагать, бо они тоже не работают ![]()
__________________
Strictly IMHO & nothing personal ![]() |
|
![]() |
#2 |
Участник
|
Я бы искал решение в классах, которые управляют складской аналитикой для данных форм - типа *InvDimFrmCtrl сорри не помню названия, но которые перестраивают датасоурсы и отсюда :
Цитата:
2) Если нет - есть ли какой-то другой метод, с которым можно проделать подобное? executeQuery и cursorNotify не предлагать, бо они тоже не работают
|
|
![]() |
#3 |
Учаснег
|
Привет, Владислав,
Спасибо за отклик. А без трогания классов никак нельзя обойтись ? ![]() Я просто хочу сделать это локально, для конкретных форм, и не распространять это на всю систему... Самое обидное - ведь как-то это все делается в НЕКОТОРЫХ формах... Кстати, запускал с горя CodeProfiler - ничего интересного он не дал, все те же InventDimParm* и InventDimCtrl_Frm... Тоска... Бум искать дальше...
__________________
Strictly IMHO & nothing personal ![]() |
|
![]() |
#4 |
Участник
|
Цитата:
А без трогания классов никак нельзя обойтись ?
![]() Я просто хочу сделать это локально, для конкретных форм, и не распространять это на всю систему... И изменяешь обработчик Димов на свой (одна строка изменения в форме) Делаешь это во всех формах, в которых нужна новая фича. ООП блин ![]() |
|
![]() |
#5 |
----------------
|
AKIS
Вызов active происходит из класса InventDimCtrl_Frm_ActiveRightClick PHP код:
|
|
![]() |
#6 |
Учаснег
|
Wamr, спасибо за clue
![]() Мне тоже интересно, почему оно не не вызывается.... И в Code Profiler-е никаких следов этого класса (ИМЕННО этого класса!) и метода не обнаружил... Форма InventJournalMovement... Подозреваю, что такая же параша творится со всеми складскими журналами ![]() Еще раз мерси боку, продолжаю поиски, о результатах доложу ![]()
__________________
Strictly IMHO & nothing personal ![]() |
|
![]() |
#7 |
----------------
|
Тогда продолжим
Посмотри как объявлен и как создается объект inventDimFormSetup в интересующей тебя форме и сравни с формой InventTransItem (например).
Как мне кажется, именно здесь и зарылась собака... все-таки придется тебе свой класс создавать ![]() |
|
![]() |
#8 |
Учаснег
|
Нда, ты как всегда прав... В "моей" форме он объявлен как
InventDimCtrl_Frm_Mov, в котором нет даже метода formSetControlsRightClick, что, как я понимаю, означает, что этот метод вызывается из "папы"-InventDimCtrl_Frm. А в InventTrans-е, где все пучком - как InventDimCtrl_Frm_activeRightClick !!! Просто перетащил искомый метод - и все заработало! Здорово ![]() СПАСИБО!
__________________
Strictly IMHO & nothing personal ![]() |
|
![]() |
#9 |
----------------
|
А балы начислишь?
![]() |
|
![]() |
#10 |
Учаснег
|
Это было внеконкурсное задание
![]()
__________________
Strictly IMHO & nothing personal ![]() |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|