Проблемка...
Добавлено: 03 авг 2010, 18:20
Может кто-нибудь навести на мысль почему срабатывает месага(#2...), а следующие месаги не появляются(#3,#4,#5)? А то уже запарился,(в прямом смысле - на улице +33, а у нас не работает кондёр), мозги уже не соображают, в глазах плывёт. Доп. view используется, так как основное и так уже раздуто.
Код: Выделить всё
create view fritta
as select *
from katmc k1(katmc02)
where k1.kgroupmc like '070203%';
//.....................................................
fritta._loop k1
{
//message('#1'+fritta.k1.name);
i:=instr(' ',fritta.k1.name)+2;
j:=length(fritta.k1.name)-i+1;
s1:=substr(fritta.k1.name,i,j);
if getfirst ppkatstanmc where ((fritta.k1.nrec==ppkatstanmc.cmc)) = tsok
{ message('#2'+s1);
if getfirst ppkatstan where ((ppkatstanmc.cppkatstan==ppkatstan.atl_nrec))= tsok
{
message('#3'+s1);
ppkatstan.name:=s1;
ppkatstan.cgroupmc:=fritta.k1.cgroupmc;
update current ppkatstan;
//knrec:=ppkatstan.atl_nrec;
//ppkatstanmc.cmc:=t1.nrec;
//ppkatstanmc.cppkatstan:=knrec;
// update current ppkatstanmc;
}
}
else
{
if getfirst ppkatstan where ((s1==ppkatstan.name))= tsok
{ message('#4'+ppkatstan.name);
knrec:=ppkatstan.atl_nrec;
clearbuffer(#ppkatstanmc);
ppkatstanmc.cmc:=fritta.k1.nrec;
ppkatstanmc.cppkatstan:=knrec;
insert current ppkatstanmc;
}
else
{
message('#5',s1+fritta.k1.cgroupmc);
clearbuffer(#ppkatstan);
clearbuffer(#ppkatstanmc);
ppkatstan.name:=s1;
ppkatstan.cgroupmc:=fritta.k1.cgroupmc;
insert current ppkatstan;
knrec:=ppkatstan.atl_nrec;
ppkatstanmc.cmc:=fritta.k1.nrec;
ppkatstanmc.cppkatstan:=knrec;
insert current ppkatstanmc;
}
}
}