// модуль предназначен для приема информации из файла dbf Ведомости(По виду)  Z:\ndfl_ved\ndfl_ved.dbf
//   в таблицу "Уплата НДФЛ в ЛС (по начислению) КБМ"
//        
//   Вызывается по Alt-F10.  Вызов из "Ф-ция приема из файла" :  user\ndfl_ved2,ReadDBF,0 
//   
// на основе  ctrl_SZVm_n.s

   //var SpTabl  = CreateObject("CurPrnTbl");     // таблицы из списка
   var CTabl   = CreateObject("CurPrnTbl");
   var TablDbf = CreateObject("CurPrnTbl");  // таблица - для dbf-файла

   int CountTabl = 0;

   int MaxTN = 99999;
   double dbf_pn[MaxTN];        // массив для данных из dbf файла  

ReadDBF( AdrCTabl,     // адрес передаваемой таблицы
       AdrCListTabl, // адрес списка таблиц
       RcrInList      // номер записи в списке таблиц
     )
{
   //for ( int LRcr=0; LRcr<MaxTN; LRcr++ )   {   dbf_pn[LRcr]=0;  }   // подготавл предварительно массив

   CTabl.Initial(AdrCTabl);      // текущая таблица
   CTabl.Clear();
   int CurRcr = 0;


   TablDbf.InitialNameFile("Z:\\ndfl_ved\\ndfl_ved.dbf");           // с диска  Z: 
   if ( TablDbf.Count_Rcr()<2 &&  TablDbf.Check_Empty_Rcr(0)==-1 ) return ESC;

   int countDBF = TablDbf.Count_Rcr();

   // Читаем dbf-файл и записываем информацию(суммы) в массив  dbf_pn[NewTN]
   for ( int RcrTbl=0; RcrTbl<countDBF;  ++RcrTbl )
     {
       int NewTN  = atoi(TablDbf.TextS("C_FIO",RcrTbl));
       int Podr   = atoi(TablDbf.TextS("C_PODR",RcrTbl));
       string FIO  = TablDbf.TextS("FIO",RcrTbl);
       double tax = atof(TablDbf.TextS("TAX",RcrTbl));
       //dbf_pn[NewTN]=tax;

        char ls1[90];
        lsname(Find_Full_TN(NewTN),ls1);   FreeSpaceString(ls1,3,"");    
        lsread(ls1,0);                    // инициализация ТН

        char part[90];   
        kch_from("part",part);
        part = SubStr(part,0,1);


       // добавляем запись текущую таблицу
       CurRcr = CTabl.Count_Rcr()-1;
       CTabl.Add_Rcr(CurRcr,1);

       CTabl.STextS("C_FIO",CurRcr,to_string(NewTN));
       CTabl.STextS("FCpodr",CurRcr,to_string(Podr));
       CTabl.STextS("FCpart",CurRcr,to_string(part));
       CTabl.STextS("FIO",CurRcr,to_string(FIO));
       CTabl.STextS("Summary",CurRcr,to_string(tax));
     }     
   CTabl.Rewrite();



   // работаем с текущей таблицей
//   CTabl.Initial(AdrCTabl);      // текущая таблица

//   for ( int CurRcr=0; CurRcr<CTabl.Count_Rcr(); ++CurRcr )         //  просматр таблицу  
//    {                                                                   
//     int TN_tab = atoi(CTabl.TextS("C_FIO",CurRcr));                

//     CTabl.STextS("Summary",CurRcr,to_string(dbf_pn[TN_tab]));
//    }


  return 1;
}


