Страница 1 из 1

Почему не присваивается?

Добавлено: 19 июн 2008, 15:09
RAJAH
Странно... Почему значение не присваивается полю временной таблицы:

Код: Выделить всё

     rab._loop
     {
       ls:=rab.sumvidop.clsch;
       vrem._loop
       {
         srch:=vrem.lstab.chasf;
       }
       srsum:=rab.sumvidop.summa;
       rz:=rab.sumvidop.razr;
       zarprof.insert svedpr set
         svedpr.fcls:=ls,
         svedpr.fcpod:=rab.katpodr.nrec,
         svedpr.fcnr:=rab.sumvidop.nrec,
         svedpr.fcdol:=rab.sumvidop.cappoint,
         svedpr.frazr[mm]:=rz,
         svedpr.fch[mm]:=srch,
         svedpr.frub[mm]:=srsum;
       if rab.sumvidop.clsch=1000000000759h then message(zarprof.svedpr.frub[mm]+chr(13)+srsum+chr(13)+rab.sumvidop.summa);
     }
Message выдаёт нечто вроде
---------------------------
Информация
---------------------------
0.00
1791.12
1791.12
---------------------------
ОК
---------------------------
Спасибо, что поломали голову...

Добавлено: 19 июн 2008, 15:53
evchic
zarprof.svedpr.frub[mm] а что за mm

Добавлено: 19 июн 2008, 15:54
RAJAH
Да. Наверное, так будет понятнее:

Код: Выделить всё

.begin
   for (i:=0; i<=n; i:=i+1)
   {
     mm:=month(Add_months(begper, i));
     yy:=year(Add_months(begper, i));
     rab._loop
     {
       ls:=rab.sumvidop.clsch;
       vrem._loop
       {
         srch:=vrem.lstab.chasf;
       }
       srsum:=rab.sumvidop.summa;
       rz:=rab.sumvidop.razr;
       zarprof.insert svedpr set
         svedpr.fcls:=ls,
         svedpr.fcpod:=rab.katpodr.nrec,
         svedpr.fcnr:=rab.sumvidop.nrec,
         svedpr.fcdol:=rab.sumvidop.cappoint,
         svedpr.frazr[mm]:=rz,
         svedpr.fch[mm]:=srch,
         svedpr.frub[mm]:=srsum;
       if rab.sumvidop.clsch=1000000000759h then message(zarprof.svedpr.frub[mm]+chr(13)+srsum+chr(13)+rab.sumvidop.summa);
     }
   }
end.

Добавлено: 19 июн 2008, 16:10
edward_K
1. в конструкции "insert set" не надо использовать таблы разных вьюшек - странно что на это не жалуетесь - раньше галка падала по рантайм.
2. масиивы то же не надо использовать - их раньше и компилятор не пропускал.
сделайте так
zarprof.svedpr.fcls:=ls ;
zarprof.svedpr.fcpod:=rab.katpodr.nrec ;
zarprof.svedpr.fcnr:=rab.sumvidop.nrec ;
zarprof.svedpr.fcdol:=rab.sumvidop.cappoint ;
zarprof.svedpr.frazr[mm]:=rz ;
zarprof.svedpr.fch[mm]:=srch ;
zarprof.svedpr.frub[mm]:=srsum;
zarprof.insert current svedpr ;

Добавлено: 19 июн 2008, 16:24
RAJAH
:cool: