//-------------------------------------------------------
&PrintAllTabl(N,2,0) = 0;   //  ᥩ ࢮ ⠡  ⮫쪮 ⮣ ப
&PrintExcel(N,2,0) = 0;   // 1 -    Excel, 0 - ⥪⮢
#(N,5,0)=_(0);        // ᫮ ࠡ ᥩ  ⠡
$(_EQ())
  $
$_
$BEG_SCRIPT
   PrintExcel = GetCommonCnfInt("EXCEL_BL","");  
   if ( PrintExcel )
   {
      UnloadScriptModule("forms\\formbl");
      LoadScriptModule("forms\\formbl");
      PrintFormBL(DATBEG,SERBL,NUMBL,TIPRASSR,DATBRRULE);
      UnloadScriptModule("forms\\formbl");
   }
$END_SCRIPT
$(_EQ(PrintExcel-1))
  $
$_
${(5. ⥫ ப ᯨ᪠)
  $(__,0);  // 0 (1,...) - ⢮ ய᪮ ப
  $(_,"-");      // ᨬ  મ: "-" ( .ᨬ)
$}(5. ⥫ ப ᯨ᪠)
${(6. ⥫ ⮫殢 ᯨ᪠)
  $(__,1); // 1,2,...-᫮ ᨬ  ࠧ 
  $(_,"|");     // ᨬ-ࠧ⥫  (|  ||  ..)
$}(6. ⥫ ⮫殢 ᯨ᪠)
${(7. ਧ  )
  $(_," "); // " " (஡) -   㫨, "0" - 
$}(7. ਧ  )
${(1.  ᯨ᪠)
//   ⨬ ਥ 室 ⥪  ᯨ᪠
#TN(N,6,0)=R_Face(tn);
#PD(N,6,0)=R_Face(podr);
#FIO(C,40,0)=R_Name(1);
#inn(C,14,0)=R_Face(inn_fl);
#dolgn(C,35,0)=R_Face(dolgnost,DATBEG);
#snils(C,14,0)=R_Face(strah_n);
&TypeBl(N, 6, 0)=0; 
$BEG_SCRIPT
   PrintAllTabl= GetCommonCnfInt("TYP_PR_BL","");   //  ᥩ ࢮ ⠡  ⮫쪮 ⮣ ப
   UnloadScriptModule("forms\\blreestr_2");
   UnloadScriptModule("forms\\formbl");
   LoadScriptModule("forms\\blreestr_2");
   LoadScriptModule("forms\\formbl");
   char Buf[512];
   print("             ࠢ  ࠡ⭮    ᮡ");
   print("                     ६ 㤮ᯮᮡ");
   print("");
   sprintf(Buf,"p:   %6.6s        : %35.35s",PD,dolgn);
   print(Buf);
   sprintf(Buf," : %6.6s        : %14.14s",TN,inn);
   print(Buf);
   // sprintf(Buf," /: %10.10s           /: %10.10s",SERBL,NUMBL);
   char StrSer[81]; 
   if ( Str_Cmp(SERBL," ", " ") )
      sprintf(StrSer," /: %10.10s          ",SERBL);
   else
      StrSer[0]=0; 
   sprintf(Buf,"%s /: %12.12s",StrSer,NUMBL);
   print(Buf);
   sprintf(Buf,": %14.14s",snils);
   print(Buf);
   print("");

   int year,month,day;
   TypeBl = atoi(GetInfoBL(DATBEG,""));

   // ᨢ  ࠭ ப 
   string BufPrint[20]; for(int i=0; i<20; ++i) BufPrint[i] = "";
   int ChStr = 0;
   //   "祭 ᮡ"
   CreateZglNazPos(DATBEG,FIO,DATBRRULE,TypeBl,year,month,day,BufPrint,ChStr);
   for(int i=0; i<ChStr; ++i) print(BufPrint[i]);
      
   var rez = GetStrYMD(year,month,day);
   sprintf(Buf,"த⥫쭮 客 ⠦ %d %s %d %s %d %s",year,rez[0],month,rez[1],day,rez[2]);
   print(Buf);
   print("");
   print("  ࠡ⭮ ");
   UnloadScriptModule("forms\\blreestr_2");
   UnloadScriptModule("forms\\formbl");

   var CTabl = CreateObject("CurPrnTbl"); 
   int FldDbl = CTabl.Find_Name_Fld("SUMM_SR_DB"); 
   if ( FldDbl>=0 && atof(CTabl.Text(FldDbl,CTabl.Count_Rcr()-1))<0. )
      CTabl.SText(FldDbl,CTabl.Count_Rcr()-1," "); 
$END_SCRIPT
//   @OKLAD        .  䭠 ⠢ @STVK          .
$(_NE(TIPRASSR-3))
&PrintAllTabl=1;
      㬬 䠪᪮ ࠡ⪠  砥 
 ᢥ ࠡ,  ᮢ⥫⢮  ६ 믫
$_
$}(1.  ᯨ᪠)
&(N,5,0)=0;
// $(_EQ(PrintAllTabl)) 
// "" ਠ ᮪饭 ⠡,  ⠫ ⮫쪮 ப ⮣, 
// ⮬  ⠫  楢
//   &=-1;
// $_
/////////////////////////////////
// 㬬  .  ࠡ
/////////////////////////////////
$BEG_SCRIPT
  var Tabl = CreateObject("CurPrnTbl");
  var MonthBeg = CreateObject("KDate");
  var MonthEnd = CreateObject("KDate");
  MonthBeg.SetDate("01."+Tabl.Text(0,0));
  int EndRcr=Tabl.Count_Rcr()-2;
  if ( EndRcr<0 ) EndRcr=0;
  MonthEnd.SetDate("01."+Tabl.Text(0,EndRcr));
  MonthEnd.SetDateII(MonthEnd.CountDay(),MonthEnd.GetAbs());
  int FirstYear = MonthBeg.GetYear();
  int LastYear = MonthEnd.GetYear(); 
  char Buf[512];
  double eps = 0.001;
  var AllSprOtherWork = CreateObject("KOtherEnterprisesCollectionReferences");
  AllSprOtherWork.LoadFromLS();
  if ( AllSprOtherWork.Size() )
  {
     int PrZgl = 0; // 
     for ( int i=FirstYear; i<=LastYear; ++i ) 
     {
       // "" ଠ  㣨  ࠡ  1- 
        var InfOtherWork = AllSprOtherWork.CollectInfoBLByYear(static_cast_to_int(i));
        double SummaOW = InfOtherWork.Summa(); //㬬 ⥫쭮 뢠   ।
        int ExcDays    = InfOtherWork.ExcludeDays(); //⢮ ᪫砥   ⮣ 

        // ᫨  㬬    ࠡ 
        if ( nabs(SummaOW)>eps )
        {
           if ( !PrZgl )
           {
              if ( TypeBl==1 )
              {
print("1. ࠡ⮪     㣨  ࠡ");
print("------------------------------------------------------------------");
print("    |  㬬 䠪.  | ᫮ ᪫.|   客⥫         |");
print("       |    ࠡ⪠    |          |                        |");
print("------------------------------------------------------------------");
              }
              else
              {
print("1. ࠡ⮪     㣨  ࠡ");
print("------------------------------------------------------------------");
print("    |  㬬 䠪.ࠡ⪠   |        客⥫         |");
print("------------------------------------------------------------------");
              }
              PrZgl = 1;
           }
           if ( TypeBl==1 )
           {
sprintf(Buf, " %6d| %16.2f| %12d |।騩 客⥫ |",i,SummaOW,ExcDays); print(Buf);
           }
           else
           {
sprintf(Buf, " %6d| %26.2f| ।騩 客⥫     |",i,SummaOW); print(Buf);
           }
        }
     }
     if ( PrZgl )
     {
print("------------------------------------------------------------------");
print("2.  । ࠡ⪠");
     }
  }
$END_SCRIPT
/////////////////////////////////
// ࠧ⮩ ⠡
/////////////////////////////////
$(PrintAllTabl)  //  ⠡
&(N,5,0)=1;                                 // 稪 ࠭
#(N,3,0)=_();                      //  ࠭
//${( ⠡)
  #=_(,,)             //  
  #=_(__);                 //  㬬  
//$}( ⠡)
$                                             //     ⠡
  //${(ப )
    #=_();                         // ਧ  
    $()
      #=_(_,,)  //   ப ⠡
    $_
  //$}(ப )
  &=+1;
  #(N,5,0)=_();                 // 稪 ப  
  $(_GE(+6-)+_EQ(-))
    //${(⮣ )
      #=_();                       //  ⮣  .
      #=_(__);            //  ⮣  .
    //$}(⮣ )
    ${(3.  )
//   ⨬ ਥ 室 ⥪   
    $}(3.  )
    $(_LT(-))
      $_
      ${(2.  )
//   ⨬ ਥ 室 ⥪  

      $}(2.  )
      //${( ⠡).   .
        #=_(,,)             //  
        #=_(__);                 //  㬬
      //$}( ⠡).   .
    $_
  $_
$(_GT(-))
$_
/////////////////////////////////
//C饭 ਠ ⠡
/////////////////////////////////
$(_EQ(PrintAllTabl)+_EQ(PrintAllTabl-2)) // ᮪饭 ਠ ⠡
$BEG_SCRIPT
  if ( atoi(PrintAllTabl)==2 )
    print("");
  var Tabl = CreateObject("CurPrnTbl");
  var MonthBeg = CreateObject("KDate");
  var MonthEnd = CreateObject("KDate");
  MonthBeg.SetDate("01."+Tabl.Text(0,0));
  int EndRcr=Tabl.Count_Rcr()-2;
  if ( EndRcr<0 ) EndRcr=0;
  MonthEnd.SetDate("01."+Tabl.Text(0,EndRcr));
  MonthEnd.SetDateII(MonthEnd.CountDay(),MonthEnd.GetAbs());
  char NameMB[31], NameME[31];
  R_DATA_EX("11,"+MonthBeg.GetStr(),NameMB,30,0);
  R_DATA_EX("11,"+MonthEnd.GetStr(),NameME,30,0);
  FreeSpaceString(NameMB,2,"");
  FreeSpaceString(NameME,2,"");
  char Buf[512];
  if ( TypeBl==1 )
  {
print("---------------------------------------------------------------------------");
print("    ਮ     |᫮   |᫮   |㬬 䠪.  |   ।     |");
print("  ᫥ ᮡ |. |᪫. |ࠡ⪠    |        |");
print("                        |    |    | . |   ࠡ⮪   |");
print("---------------------------------------------------------------------------");
  }
  else
  {
print("------------------------------------------------------------------");
print("    ਮ     |᫮   |㬬 䠪.  |   ।     |");
print("  ᫥ ᮡ |. |ࠡ⪠    |        |");
print("                        |    | . |   ࠡ⮪   |");
print("------------------------------------------------------------------");
  }
  int ItogRcr = Tabl.Count_Rcr()-1;
  int FirstYear = MonthBeg.GetYear();
  int LastYear = MonthEnd.GetYear(); 
  double SumFirst=0., SumLast = 0.; 
  double RvFirst=0. ,  RvLast=0. ; 
  double RvMinusFirst=0. , RvMinusLast=0. ; 
  int FldMinus = Tabl.Find_Name_Fld("MINUS_DNI"); 
  double SumSredn = atof(Tabl.Text(3,ItogRcr));
  var Month = CreateObject("KMonth"); 
  for ( int Rcr=0;  Rcr<ItogRcr; ++Rcr )
  {
     Month.SetDate(static_cast_to_string(Tabl.Text(0,Rcr)));
     double Sum = atof(Tabl.Text(2,Rcr)); 
     double Rv = atof(Tabl.Text(1,Rcr)); 
     double RvMinus = FldMinus==-1? 0. : atof(Tabl.Text(FldMinus,Rcr));  
     if ( Month.GetYear()==FirstYear ) SumFirst+=Sum, RvFirst+=Rv, RvMinusFirst+= RvMinus; 
     else SumLast += Sum, RvLast+=Rv, RvMinusLast += RvMinus; 
  }
  bool bYear = LastYear-FirstYear>1; 
  char BufPeriod[81]; 
  if ( bYear )
     sprintf(BufPeriod, " %s - 31.12.%04d ",MonthBeg.GetStr(), MonthBeg.GetYear()); 
  else
     sprintf(BufPeriod, "c  %02d %-8.8s %4d ", MonthBeg.GetDay(), NameMB, MonthBeg.GetYear()); 
  // sprintf(Buf, "%-24.24s|        |               |          |               |",BufPeriod);

  if ( TypeBl==1 )
     sprintf(Buf, "%-24.24s| %7.2f| %7.2f|  %12.2f |  %12.12s |", BufPeriod,RvFirst,RvMinusFirst/*atof(Tabl.Text(1,ItogRcr))*/,SumFirst,
          ""/*SumSredn*/);
  else
     sprintf(Buf, "%-24.24s| %7.2f|  %12.2f |  %12.12s |", BufPeriod,RvFirst/*atof(Tabl.Text(1,ItogRcr))*/,SumFirst,
          ""/*SumSredn*/);
  print(Buf);
  // double stvk = atof(OKLAD);
  // if ( !stvk ) stvk = atof(STVK);
  if ( bYear )
     sprintf(BufPeriod, " 01.01.%04d - %s ", MonthEnd.GetYear(),MonthEnd.GetStr()); 
  else
     sprintf(BufPeriod, " %02d %-8.8s %4d ",MonthEnd.GetDay(),NameME,MonthEnd.GetYear()); 

  // sprintf(Buf, "%-24.24s| %7.2f|  %12.2f |  %12.3f |", BufPeriod,atof(Tabl.Text(1,ItogRcr)),atof(Tabl.Text(2,ItogRcr)),
  //         atof(Tabl.Text(3,ItogRcr)));
  if ( TypeBl==1 )
     sprintf(Buf, "%-24.24s| %7.2f| %7.2f|  %12.2f |  %12.12s |", BufPeriod,RvLast,RvMinusLast,SumLast,"");
  else
     sprintf(Buf, "%-24.24s| %7.2f|  %12.2f |  %12.12s |", BufPeriod,RvLast,SumLast,"");
  print(Buf);
   int Accuracy = 3; 
   if (  IsCommonCnfExist("ACC_SR","") ) 
	{
      char Tmp[256]; 
		Accuracy = atoi(GetCommonDateCnf("ACC_SR","",DATBEG,Tmp,255));
		if ( Accuracy>5 || Accuracy<0 )  Accuracy=3;
	}
  if ( TypeBl==1 )
  {
print("---------------------------------------------------------------------------");
sprintf(Buf, "%-24.24s| %7.2f| %7.2f|  %12.2f |  %12.*f |", "⮣",RvFirst+RvLast,RvMinusFirst+RvMinusLast,SumFirst+SumLast,Accuracy,SumSredn);print(Buf); 
print("---------------------------------------------------------------------------");
  }
  else
  {
print("------------------------------------------------------------------");
sprintf(Buf, "%-24.24s| %7.2f|  %12.2f |  %12.*f |", "⮣",RvFirst+RvLast,SumFirst+SumLast,Accuracy,SumSredn);print(Buf); 
print("------------------------------------------------------------------");
  }
$END_SCRIPT
$_
$