F_SOPRHOZ::GETDBASE
Мы хотим, чтобы при выборе пункта локального меню Фильтр... сначала вывелось наше меню
Стандартные фильтры
Пользовательские фильтры
Если выбрать Стандартные - то открывается окно, которое есть сейчас
А если пользовательские - то наше окно с дополнительными фильтрами.
Такой механизм сработал в VSchetB, AktUslB, SoprDocB
А в этом интерфейсе - проблема
Когда выбираю пункт локального меню Фильтр - появляется сразу стандартное окно с фильтрами
Когда его закрываю - появляется мое меню с двумя пунктами.
И дальше - как планировалось
Посмотрел в исходнике
В событии cmHotKeys ничего странного не заметил - просто запуск локального меню
Код: Выделить всё
cmHotKeys:
if ( CurTable = tnBaseDoc )
PutHotCommand(RunMenu('GetDBase_HotKeys'));
Код: Выделить всё
cmFilterSave:
{
RunWindowModal(wiGetFiltrToBaseDoc);
if ( boIsChangedFltr )
{
GetSummaBaseDocOne;
SetBaseFormat;
if ( (wInitpar and 8) > 0 )
EvalBalansAsk(False);
///если поменялся фильтр то проверяем баундсы
///---------------------- предопл ДО
if ((myVidDoc = 111) or (myVidDoc = 211))
{
if BoundActive(tbDogovor02)
{
SubBounds(tbDogovor02);
psCalPlan := 0;
}
//на предоплату по своему светяться платежи
if not (BoundActive(tbPreDOPlat))
PushBounds(tbPreDOPlat)
}else
if BoundActive(tbPreDOPlat)
PopBounds(tbPreDOPlat)
///---------------------- предопл ДО
}
}
Код: Выделить всё
TABLE STRUCT LOCAL MTFILTR054_101 "ТАБЛИЦА ФИЛЬТРА"(
NREC : COMP
, CBASEDOC : COMP
, CFLAG : BYTE
)
WITH INDEX
(
MT1 = NREC(surrogate),
MT2 = CBASEDOC,
MT3 = CFLAG
);
alter interface GetdBase;
Create view
as select *
FROM
MTFILTR054_101
bounds Boun054_1011 = BASEDOC.NREC /== MTFILTR054_101.CBASEDOC
;
overload
end;
handleEvent
cmFilterSave:{
message('Зашли в докомпиляцию');
var br:boolean;
br:=false;
case RunMenu('mnuSetFilterType') of
cmValue1:{
inherited:: handleEvent (cmFilterSave);
}
cmValue2:{
}
end;
}
end;
end.
Такое впечатление, что моя докомпиляция не перекрыла стандартную, а выполняется после нее, но чем это может быть вызвано - ума не приложу.
Подскажите пожалуйста, в чем особенность данного интерфейса?
Или может я не вижу явный ляп?