// передача инфо  из табл "2017 - РСВ..." в промежут табл rsv1_info.tmp  при выходе из таблицы
// вызов модуля из "Конец закрытия таблицы"__:
//       UnloadScriptModule("user\\Ctrl_rsv_r");LoadScriptModule("user\\Ctrl_rsv_r");return Dial_2(__AdrTable);  
//

 var CTabl = CreateObject("CurPrnTbl");




Dial_2(__AdrTable)
{
 CTabl.Initial(__AdrTable);

 int Write = 0;
 if (ESC==Panel_Zapros(" Передача информации в промежуточную таблицу Сверка_СЗВМ ","",
                        "Передать информацию (1-да): ",Write, 3)
                                                              ) return ESC;
 int WriOn = atoi(Write);

 if(WriOn)  ReadWritTabl();
}


ReadWritTabl()
{

 var SprTabl = CreateObject("CurPrnTbl");               // промежуточная таблица
 SprTabl.InitialNameFile("T_PFOND\\rsv1_info.tmp");     // для передачи информации
 SprTabl.Clear();                        
 int CurRcr = SprTabl.Count_Rcr()-1;                    // устанвливаем счетчик



 for (int zap=0; zap<CTabl.Count_Rcr(); zap++)
  {
    //string tn  = CTabl.TextS("C_FIO",zap);      
    int tn     = atoi(CTabl.TextS("C_FIO",zap));      
    int StgOn1 = atoi(CTabl.TextS("P_Ins_M1",zap));      
    int StgOn2 = atoi(CTabl.TextS("P_Ins_M2",zap));      
    int StgOn3 = atoi(CTabl.TextS("P_Ins_M3",zap));      


         SprTabl.Add_Rcr(CurRcr,1);
         //SprTabl.STextS("Order",CurRcr, static_cast_to_string(or));
         SprTabl.STextS("C_FIO",CurRcr, static_cast_to_string(tn));
         SprTabl.STextS("StgOn1",CurRcr, static_cast_to_string(StgOn1));
         SprTabl.STextS("StgOn2",CurRcr, static_cast_to_string(StgOn2));
         SprTabl.STextS("StgOn3",CurRcr, static_cast_to_string(StgOn3));
         CurRcr++;
  }                                                  
     SprTabl.Rewrite();


}





SearchTN(__AdrTable)
{
 var CTabl = CreateObject("CurPrnTbl");
 CTabl.Initial(__AdrTable);

 //int CountCodAlim = 0;

 for (int zap=0; zap<CTabl.Count_Rcr(); zap++)
  {
    string snils = CTabl.TextS("STRAH_N",zap);    //  
    int tn=TNfromStrahN(snils);

    CTabl.STextS("C_FIO",zap,to_string(tn));

  }
}


//  LoadScriptModule("user\\Ctrl_SZVm3");   return Analyz(__AdrTable,__AdrCListTabl);

Analyz(__AdrTable,__AdrCListTabl)
{

char nt1[4], nt2[4], nt3[4], nt4[4], nt5[4], nt6[4];


   var CTabl   = CreateObject("CurPrnTbl");
   var SpTabl  = CreateObject("CurPrnTbl");     // таблицы из списка

   int CountTabl = 0;
   int NumZap = 0;

   int MaxSZVM = 99999;
   int SZVM_tn[MaxSZVM];     // массив для данных из табл СЗВ_М  
   string RSV_tn[MaxSZVM];   // массив для данных из табл  RSV

   int Nmes = 0;             // № проверяемого месяца (в квартале)
   int KolZap=0;


   // подготавливаем предварительно массивы
   for ( int LRcr=0; LRcr<MaxSZVM; LRcr++ )
    {
     SZVM_tn[LRcr]=0;
     RSV_tn[LRcr]="";
    }


   CTabl.Initial(__AdrTable);
   //CTabl.Initial(AdrCTabl);    // текущая таблица
   //таблицу не чистим, т.к. в ней инфо для сравнения          CTabl.Clear(); // очистка таблицы


   var CListTabl = CreateObject("CurPrnTbl");   // список таблиц
   //CListTabl.Initial(AdrCListTabl);
   CListTabl.Initial(__AdrCListTabl);

   for ( int LRcr=0; LRcr<CListTabl.Count_Rcr(); LRcr++ )
   {
      if( CListTabl.Check_Empty_Rcr(LRcr) || !CListTabl.Flag_Action_0(LRcr) ) continue;

      long newt = CListTabl.GetTableFromList(LRcr);
      if ( !newt ) continue;

      SpTabl.Initial(newt);

      CountTabl = CountTabl + 1;
                                    
      if (ESC==Panel_Zapros(" Прием информации из таблиц ","",
                        "Отмечено таблиц для анализа: ",CountTabl, 3)
                                                              ) return ESC;

      //ReadTbl();  
   }



}