Код: Выделить всё
vipInterface PickPPKatstan;
interface PickPPKatstan 'Список эталонных МЦ' alwaysReturn, doAccept;
show at (,,93,25);
var kstan, kgroupnrec,ketalonnrec:comp;
check,sorted,grants:boolean;
res:word;
create view
as select k1.name,ppkatstan.name,k2.name,*
from katmc k1(katmc02),PPKATSTANMC,PPKATSTAN,katmc k2,groupmc(GROUPMC03),ppstatus,ppgrformat,ppline,katmc k3(katmc02),katmc k4(katmc02),katpodr
where ((ppkatstan.cmc==k1.nrec
and (7=k1.isarch)
and ppkatstan.atl_nrec==ppkatstanmc.cppkatstan
and k2.nrec==ppkatstanmc.cmc
and ppkatstan.cgroupmc==groupmc.nrec and (0=k2.isarch or 5=k2.isarch)))
order byppkatmc by ppkatstan.name
order byk1 by k1.name
order bygr by groupmc.name;
parameters kstan,check;
panel pMc
show at (,,,);
browse bMc(,,Sci1478Esc);
table ppkatstan,cartesian;
fields
ppkatstan.name 'МЦ(Э,Л)':[10],protect;
k1.name 'Эталон':[10],protect;
groupmc.name'Группа Мц':[15],protect;
end;
end;
tableevent table ppkatstan
cmSetDefault: {
ppkatstan.name:='';
ppkatstan.cmc:=0;
ppkatstan.cgroupmc:=0;
SetModified(true);
PutCommand(cmEdit);
}
cmUpdateRecord : update current ppkatstan;
cmInsertRecord :
{
insert current ppkatstan;//rereadrecord(#ppkatstan);}
}
cmDeleteRecord:
{
if Delete ppkatstanmc Where (( ppkatstan.atl_nrec==ppkatstanmc.cppkatstan)) = tsOk
Delete Current ppkatstan;
}
cmCheckField:
{
updatetable;
SetModified(true);
update current ppkatstan;
RescanPanel(#ppkatstan);
}
end;
handleEvent
cmInit:
{
ClearColumnsSorting(bMc);
if( check = FALSE )
cfsSetProp('bMc','StatusCtx', Sci1478Esc);
else if check=true
{
cfsSetProp('bMc','StatusCtx',Sci1478EnEsc);
}
if getfirst ppkatstan where((kstan==ppkatstan.atl_nrec))=tsOk
{
}
rescanpanel(#ppkatstan);
}
cmEdit:
{
kgroupnrec:=groupmc.nrec;
ketalonnrec:=k1.nrec;
kstan:=ppkatstan.atl_nrec;
res:=RunInterface('ietalon',kstan,kgroupnrec,ketalonnrec);
if getfirst ppkatstan where((kstan==ppkatstan.atl_nrec))=tsOk
{
ppkatstan.cmc:=ketalonnrec;
ppkatstan.cgroupmc:=kgroupnrec;
update current ppkatstan;
}
rescanpanel(#ppkatstan);
}
cmDefault:
{
if check=true
{kstan:=ppkatstan.atl_nrec;}
else stop;
}
cmClose:
{
CloseInterface(cmDefault);
stop;
}
cmColumnClicked :
{
case Target of
#ppkatstan.name :
{
SetOrder(tibyppkatmc);
SetTableBackOrderIn(#ppkatstan,GetColumnSorting(bMc,target)=1);
SetColumnSorting(bMc,target,if(GetColumnSorting(bMc,target)=0,1,GetColumnSorting(bMc,target)*(-1)));
RereadRecord(#ppkatstan);
}
#k1.name:
{
SetOrder(tibyk1);
SetTableBackOrderIn(#k1,GetColumnSorting(bMc,target)=1);
SetColumnSorting(bMc,target,if(GetColumnSorting(bMc,target)=0,1,GetColumnSorting(bMc,target)*(-1)));
RereadRecord(#k1);
}
#groupmc.name:
{
SetOrder(tibygr);
SetTableBackOrderIn(#groupmc,GetColumnSorting(bMc,target)=1);
SetColumnSorting(bMc,target,if(GetColumnSorting(bMc,target)=0,1,GetColumnSorting(bMc,target)*(-1)));
RereadRecord(#groupmc);
}
end;
}
end;
end.