Код: Выделить всё
Interface test 'Test' Cyan;
   show at (,,20,20)
   table struct TableVidDocs(
      code : double
   )with index (Ind = code);
   table struct PickSchet(
      code       : string
   )with index (Ind = code);
   create view vMain
      var
         date_from,
         date_to    : Date  ;
         pPlanSchet : comp  ;
      as
         select
            katsopr.nrec    ,
            oborot.nrec
         from
            katsopr (readonly),
            oborot  (readonly),
            katpodr KatPodrFrom(readonly), katpodr KatPodrTo(readonly),
            KatNazna(readonly),
            BuhSchet(readonly),
            spsopr  (readonly),
            katusl  (readonly),
            katmc   (readonly)
         where((
                TableVidDocs.code  == katsopr.vidsopr
            and pPlanSchet         == BuhSchet.cPlansSch
            and PickSchet.code     == BuhSchet.Code
            and date_from         <<= katsopr.dsopr
            and date_to           >>= katsopr.dsopr
            and katsopr.nrec      /== oborot.csoprdoc
            and katsopr.vidsopr    == oborot.tidk
            and katsopr.nrec       == spsopr.csopr
            and katsopr.cpodrfrom  == KatPodrFrom.nrec
            and katsopr.cpodrto    == KatPodrTo.nrec
            and katsopr.cnazna     == KatNazna.nrec
            and spsopr.cmcusl      == katusl.nrec
            and spsopr.cmcusl      == katmc.nrec
         )) and(Oborot.SchetO = BuhSchet.schet and Oborot.SubOsSch = BuhSchet.subsch)
               order by katsopr.dsopr
            bounds bOborot
            //    pPlanSchet         == Oborot.cPlansSch
             BuhSchet.schet     == Oborot.SchetO
            and BuhSchet.subsch    == Oborot.SubOsSch
            and date_from         <<= Oborot.datob
            and date_to           >>= oborot.datob
         ;
   SCREEN scrMain;
      fields
         date_from Protect, PickButton;
         date_to   Protect, PickButton;
      buttons
         cmbtCreate;
         cmbtCancel;
<<
               Период с .@@@@@@@@@@ по .@@@@@@@@@@
           <.Сформировать.>      <.   Отмена   .>
>>
   end;
   //------------------------------ Begin InitReport  ------------------------------
   procedure InitReport;
   {
       //счета
       insert into PickSchet set PickSchet.code = '43'  ;
       insert into PickSchet set PickSchet.code = '10.9';
       insert into PickSchet set PickSchet.code = '21'  ;
       insert into PickSchet set PickSchet.code = '90'  ;
       insert into PickSchet set PickSchet.code = '0.8' ;
       //Виды документов
       insert into TableVidDocs set TableVidDocs.code = 502;
       set date_to   := Cur_Date;
       set Date_from := Sub_Months(Cur_Date, 4);
       if(coGetTune('FIN.USER.CPLANSSCH') <> 0)
          pPlanSchet := coGetTune('FIN.USER.CPLANSSCH');
       else
          pPlanSchet := coGetTune('KONSOLID.CPLANSSCH');
       if (pPlanSchet = 0){
          Message('Утеряна настройка на план счетов',0);
          Abort;
          Exit;
       }
   }
   //------------------------------ End InitReport ------------------------------
   //------------------------------ Begin CreateTables ------------------------------
   procedure CreateTables;
   {
      var tc : word;
      StartNewVisual (vtRotateVisual,  vfTimer,  '',1);
      SetVisualTitle ('Формирование отчета');
      SetVisualHeader('Выборка данных...'  );
    _loop TableVidDocs{
      _loop katsopr{
         _loop oborot{
            tc := tc + 1;
         }
      }
     }
      StopVisual('',0);
     Message(tc);
   }
   //------------------------------ End CreateTables ------------------------------
   handleEvent
      cmInit:{
         InitReport;
      }
      cmbtCreate:{
         CreateTables;
      }
      cmbtCancel:{
         Abort;
         CloseInterface(0);
      }
   end;
end.
//------------------------------ End Interface Test ------------------------------
а если сделать так:
Код: Выделить всё
502 == katsopr.vidsopr
and '43' == BuhSchet.code
...
_loop katsopr{
   _loop oborot{
        tc := tc + 1;
    }
}