Код: Выделить всё
//#commands start at 7700
#include galnet.ccm;
#include galnet.csc;
end;
const
cmMC=7701;
cmStatus=7702;
cmFormat=7703;
cmLine=7704;
cmRealMC=7705;
cmPickRealMC=7706;
//Sci1478EscIns =6994;
end;
interface iServePlan'Заполнение производственных планов';
Show At (,,93,25);
function MyTable_Add(add_n: comp): boolean;forward;
var SomeWindowNumber:longint ;
SomeWindowNumber2:longint ;
SomeWindowNumber3:longint ;
SomeWindowNumber4:longint ;
SomeWindowNumber5:longint ;
SomeWindowNumber6:longint ;
SomeWindowNumber7:longint ;
SomeWindowNumber8:longint ;
SomeWindowNumber9:longint ;
SomeWindowNumber10:longint ;
SomeWindowNumber11:longint ;
SomeWindowNumber20:longint;
SomeWindowNumber21:longint;
kpodr,kformat,kgroup,ketalon,kstan:comp;
kpodr2,kformat2,kgroupmc2,ketalon2,kstan2:comp;
res:word;
table struct marktable
(
nRec : comp,
cmcnrec: comp
)
with index
(
mark01 = nRec(Unique,Surrogate),
mark02 = cmcnrec
);
//function etalon(wwnrec : comp) : string; forward;
create view
//(standard)
as select /*etalon(ppkatstan.atl_nrec),*,*/k1.name,ppkatstan.name,k2.name//,groupmc.name,*
from katmc k1(katmc02),PPKATSTANMC,PPKATSTAN(PPKATSTAN02),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 ppkatstanmc.cmc==k2.nrec
and ppkatstan.cgroupmc==groupmc.nrec
and 7==k3.isarch and 0==k4.isarch and ppline.cpodr==katpodr.nrec));
create view realmc as select
ppkatstan.name,k2.name from ppkatstan,ppkatstanmc,katmc k2(katmc02)
where((kstan2==ppkatstan.atl_nrec
and ppkatstan.atl_nrec==ppkatstanmc.cppkatstan
and ppkatstanmc.cmc==k2.nrec));
/*create view v2
var w_nrec:comp
as select *
from katmc,ppkatstan
where ((w_nrec==ppkatstan.atl_nrec
and katmc.nrec==ppkatstan.cmc));*/
/* function etalon( wwnrec : comp ) : string;
{
var etal:string[100];
//funcSUM:=0;
{ v2.w_nrec:= wwnrec
if v2.getfirst ppkatstan=0
{ //logstrtofile ('summak.txt', 'нашли накладную '+v2.katsopr.nsopr);
//funcSUM:=funcSUM+v2.sporder.kol*v2.sporder.rsrprice;
etal:=katmc.name;
LogStrToFile('logos.txt','cумма '+SUM);
}
}
etalon:=etal;;
}*/
//panel pServe;
//show at(,,93,25);
//end;
window wppline;
panel pppline;
screen sppline
fields
ppline.name:noprotect;
katpodr.name:pickbutton;
<<
Наименование линии .@@@@@@@@@@@@@@@@@@@@@@@@@@
Подразделение .@@@@@@@@@@@@@@@@@@@@@@@@@@
>>
end;
handleevent
cmCheckField:
{
case curfield of
#ppline.name:
{
update current ppline;
rescanpanel(#ppline);
}
#katpodr.name:
{
res:= RunInterface(PickPodr,kpodr);
ppline.cpodr:=kpodr;
update current ppline;
if getfirst katpodr where((ppline.cpodr==katpodr.nrec))=tsOk
{
rescanpanel(#ppline);
rescanpanel(#katpodr);
}
}
end;
}
end;
end;
end;
window wppgrformat 'Форматы'
panel pppgrformat
screen sppgrformat
fields
ppgrformat.name:noprotect;
ppgrformat.kod:noprotect ;
<<
Наименование формата .@@@@@@@@@@@@@@@@@@@@@@@@@@
Код формата(1-размер).@@@@@@@@@@@@@@@@@@@@@@@@@@
>>
end;
handleevent
cmCheckField:
{
case curfield of
#ppgrformat.name:
{
update current ppgrformat;
rescanpanel(#ppgrformat);
}
#ppgrformat.kod:
{
update current ppgrformat;
rescanpanel(#ppgrformat);
}
end;
}
end;
end;
end;
window wppstatus 'Статусы'
panel pppstatus
screen sppstatus
fields
ppstatus.name:noprotect;
<<
Наименование статуса .@@@@@@@@@@@@@@@@@@@@@@@@@@
>>
end;
handleevent
cmCheckField:
{
case curfield of
#ppstatus.name:
{
update current ppstatus;
rescanpanel(#ppstatus);
}
end;
}
end;
end;
end;
window wgroup 'Группа МЦ'
show at (,,14,);
panel pgroup
browse bgroup
table groupmc,cartesian;
fields
groupmc.name 'Наименование группы':[12];
end;
end;
end;
window wmc 'Выбор реальных МЦ';
function MyTable_Add(add_n: comp): boolean;
{
//clearbuffer(#mytable);
if (getFirst marktable where ((add_n == marktable.cmcNrec)) = tsOk)
{
delete current marktable;
}
else
{
marktable.cmcNrec := add_n;
if insert current marktable <> tsOk
{
message(''#3'Ошибка добавления записи в таблицу MyTable');
MyTable_Add := false;
}
else
{
MyTable_Add := true;
//message(add_n+' '+add_name);
}
}
}
panel pwMC
browse bwMC (,,Sci1478EscIns)
table k4,cartesian;
fields
k4.name 'Реальные МЦ';
end;
end
handleEvent
cmMarkRec :
{
// i:=0;
MyTable_Add(k4.nrec);
RescanPanel(#k4); // обновить панель
//else if (recMarker.count>5)
/* if( getfirst marktable = tsOk )
{
do
{
i:=i+1;
} while ( getnext marktable = tsOk );
}*/
//message ('i= '+i);
}
end;
end;
window wrmc 'Список реальных МЦ'
panel prMC
browse brMC
table k3,cartesian;
fields
k3.name 'Выбранные МЦ';
end;
end
end;
window wetalon;
Show At (,,93,25);;
panel petalon
screen setalon (,,Sci1478EscIns)
show at (,,,8);
table ppkatstan;
fields
ppkatstan.name:noprotect;
k1.name:protect,pickbutton;
groupmc.name:protect,pickbutton;
buttons
cmRealMC;
<<
МЦ .@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Эталон МЦ .@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Группа МЦ .@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<.~в~ыбор МЦ.>
>>
end;
browse betalon2 (,,Sci1478EscIns);
show at (,9,,);
fields
realmc.k2.name:protect;
end;
handleevent
cmCheckField:
{
case CurField of
#ppkatstan.name:
{
update current ppkatstan;
rescanpanel(#ppkatstan);
}
end;
}
end;
end;
handleevent
cmInit:
{
ketalon2:=k1.nrec;
kgroupmc2:=groupmc.nrec;
kstan2:=ppkatstan.atl_nrec;
rescanpanel(#realmc.k2);
// setformat(betalon2);
}
cmPick:
{
UpdateTable();
case CurField of
#k1.name:
{
res:= RunInterface(PickKatMC,ketalon);
ppkatstan.cmc:=ketalon;
update current ppkatstan;
if getfirst k1 where((ppkatstan.cmc==k1.nrec))=tsOk
{
}
rescanpanel(#ppkatstan);
rescanpanel(#k1);
}
#groupmc.name:
{
res:= RunInterface(PickGroupMC,kgroup);
ppkatstan.cgroupmc:=kgroup;
update current ppkatstan;
if getfirst groupmc where((ppkatstan.cgroupmc==groupmc.nrec))=tsOk
{
rescanpanel(#ppkatstan);
rescanpanel(#groupmc);
}
}
end;
}
cmRealMC:
{
RunWindow(wmc);
}
cmClose:
{
//clearbuffer(sCorPPlan);
//update current pptitle;
}
end;
end;
window mc
show at (,,93,25);
panel pMc
show at (,,,);
browse bMc(,,Sci1478EscIns)
table ppkatstan;
recMarker {k2.nrec};
fields
ppkatstan.name 'МЦ(Э,Л)':[10],protect;
k1.name 'Эталон':[10],protect;
// k2.name 'МЦ обычная':[20],protect;
groupmc.name'Группа Мц':[15],protect;
end;
end;
handleEvent
cmEdit:
{
RunWindowModal(wetalon);
}
end;
end;
window status
show at (,,93,25);
panel pstatus
show at (,,,);
browse bstatus(,,Sci1478EscIns)
table ppstatus,cartesian;
recMarker {ppstatus.atl_nrec};
fields
ppstatus.name 'Статус документа':[10],protect;
end;
end;
handleevent
cmEdit:
{
RunWindowModal(wppstatus);
}
end;
end;
window format
show at (,,7,);
panel pformat
browse bformat (,,Sci1478EscIns)
table ppgrformat, cartesian
fields
ppgrformat.name 'Формат':[5],protect;
end;
end;
handleevent
cmEdit:
{
RunWindowModal(wppgrformat);
}
end;
end;
window line
show at(,,7,);
panel pline
browse bline (,,Sci1478EscIns);
table ppline, cartesian
fields
ppline.name 'Линия':[5],protect;
end;
end;
handleevent
cmEdit:
{
RunWindowModal(wppline);
}
end;
end;
screen sServe
show at(,,,);
buttons
cmMC;
cmStatus;
cmFormat;
cmLine;
<<
<.МЦ.>
<.Статусы.>
<.Форматы.>
<.Линии.>
>>
end;
handleevent
cmInit:
{
SomeWindowNumber:=mc;
SomeWindowNumber2:=status;
SomeWindowNumber3:=format;
SomeWindowNumber4:=line;
SomeWindowNumber5:=wetalon;
SomeWindowNumber6:=wmc;
SomeWindowNumber7:=wrmc;
SomeWindowNumber8:=wgroup;
SomeWindowNumber9:=wppstatus;
SomeWindowNumber10:=wppgrformat;
SomeWindowNumber11:=wppline;
// SomeWindowNumber20:=PickKatMC;
// SomeWindowNumber21:=PickGroupMC;
}
cmMC:
{
RunWindowModal(mc);
//RunAnyView('window mc',false);
}
cmStatus:
{
RunWindowModal(status);
//RunAnyView('window status',false);
}
cmFormat:
{
RunWindowModal(format);
//RunAnyView('interface iServePlan::format',false);
}
cmLine:
{
RunWindowModal(line);
//RunAnyView('interface iServePlan::line',false);
}
end;
end.