Re: Как использовать Bounds?
Добавлено: 01 фев 2012, 13:16
boundactive без "s"denisag писал(а):Что такое "boundsactive"? в документации по поиску не находит, Viper ругается что нет такой функции поля или метода.
Обсуждение различных вопросов, связанных с сопровождением, администрированием и программированием
https://ns1.tyumbit.ru/
boundactive без "s"denisag писал(а):Что такое "boundsactive"? в документации по поиску не находит, Viper ругается что нет такой функции поля или метода.
Код: Выделить всё
cmDefault:
{
_kol:=tmpVozvratMC.KOLFACT
_price:=tmpVozvratMC.CENA
_csporder:=tmpVozvratMC.SPORDERNREC
///////
_gruz:=tmpGruzto.CGRUZTO
_adr:=tmpGruzto.ADRES
}
cmpick:
{
_gruz:=0;
message (_gruz)
RUNINTERFACE (L_SOPRDOC::Example2, _corg, _gruz, _adr);
if boundactive(tbfilGruz) subbounds(tbfilGruz)
if _gruz <>0
{ addbounds(tbfilGruz);
}
//if getfirst ????? =0 {} // без позиционирования иногда не срабатывает обновление
//rescanpanel(tn?????) // вместо tn можно юзать # - но это не везде.
/*if _gruz !=0
{
subbounds(tbfilGruz);
addbounds(tbfilGruz);
message (_gruz)
}
else
subbounds(tbfilGruz)
PutCommand(cmRefreshBDdata) */
message (_gruz)
}
end;
end.
// Вызов второго интерфейса для использования его в качестве фильтров для первого интерфейса
Interface Example2 'Грузополучатели' , escClose, cyan, doAccept;
//Передаем ему параметры
parameters _CORG, _gruz, _adr
//Создаем представление для временной таблицы tmpGruzto
create view as select * from tmpGruzto;
// Выводим то что будет отображаться в нашем интерфейсе
browse GruztoBrowse;
Fields
tmpGruzto.CGRUZTO 'Наименование грузополучателя':[25], protect;
tmpGruzto.ADRES 'Адрес грузополучателя':[25], protect;
end;
handleevent
cmInit :
{
//Обрабатываем прямой SQL для второго интерфейса
sql select distinct KATORG.NAME
,KATORG.ADDR
,KATORG3.NAME
,KATORG.NREC
from KATORG
,KATSOPR
,KATORG KATORG3
where KATSOPR.CGRUZTO = KATORG.NREC and
KATSOPR.CORGBASE = KATORG3.NREC and
(katsopr.corgbase = :_corg )
into tmpGruzto
}
end;
end.
Код: Выделить всё
parameters _CORG, _gruz, _adr
Код: Выделить всё
create view as select * from tmpGruzto group by tmpGruzto.CGRUZTO;
Код: Выделить всё
cmpick:
{
_gruz:='';
RUNINTERFACE (L_SOPRDOC::Example2, _corg, _gruz, _adr);
if boundactive(tbfilGruz) subbounds(tbfilGruz)
if _gruz <>''
{ addbounds(tbfilGruz);
}
if getfirst tmpVozvratMC =0 {} // без позиционирования иногда не срабатывает обновление
rescanpanel(tntmpVozvratMC) // вместо tn можно юзать # - но это не везде.
}
end;
end.
// Вызов второго интерфейса для использования его в качестве фильтров для первого интерфейса
Interface Example2 'Грузополучатели' , escClose, cyan, doAccept;
//Передаем ему параметры
parameters _CORG, _gruz, _adr
//Создаем представление для временной таблицы tmpGruzto
create view as select * from tmpGruzto;
// Выводим то что будет отображаться в нашем интерфейсе
browse GruztoBrowse;
Fields
tmpGruzto.CGRUZTO 'Наименование грузополучателя':[25], protect;
tmpGruzto.ADRES 'Адрес грузополучателя':[25], protect;
end;
handleevent
cmInit :
{
//Обрабатываем прямой SQL для второго интерфейса
sql select distinct KATORG.NAME
,KATORG.ADDR
,KATORG3.NAME
,KATORG.NREC
from KATORG
,KATSOPR
,KATORG KATORG3
where KATSOPR.CGRUZTO = KATORG.NREC and
KATSOPR.CORGBASE = KATORG3.NREC and
(katsopr.corgbase = :_corg )
into tmpGruzto
}
cmDefault:
{
_gruz:=tmpGruzto.CGRUZTO
_adr:=tmpGruzto.ADRES
}
end;
end.
Код: Выделить всё
//Обозначаем переменные
var _corg, _cmc, _csporder, _cpodr:comp;
var _kol, _price:double;
var _dsopr :date;
var _gruz, _adr :string;