
SrOtpKKK(Date,tab)
{
  char tn[91], ls1[255];
  sprintf(tn,"%.90s",static_cast_to_string(tab));  FreeSpaceString(tn,3,"");
  double tabn = atof(tn);
  lsname(Find_Full_TN(tabn),ls1);
  lsread(ls1,0);               // Чтение ЛС 

  //Дата, на которую считаем резерв
  var DateBeg=CreateObject("KDate");
  DateBeg.SetDate(static_cast_to_string(Date));

  //класс для расчета среднего
  var Sredn = CreateObject("KCalcSredn");
  Sredn.InitOtp(DateBeg,0);    // Инициализация способа расчета "по-среднему"
  var Nastr = Sredn.GetNastr();
  string OTPUSK_CNF_TABLE = "отпуск";
  int flag_rvmes=GetCommonCnfInt("FLAG_RVMES",OTPUSK_CNF_TABLE);
  int tip_koef  =GetCommonCnfInt("TIP_KOEF",OTPUSK_CNF_TABLE);
  Nastr.SetNastr(FLAG_RVMES,flag_rvmes);
  Nastr.SetNastr(TIP_KOEF,tip_koef);
  Nastr.SetNastr(FLAG_SILENT,1);

  Sredn.Calculate(0);   // расчет среднего
  return Sredn.SumSredn();
}

SrSredn(Date,tab)
{
  char tn[91], ls1[255];
  sprintf(tn,"%.90s",static_cast_to_string(tab));  FreeSpaceString(tn,3,"");
  double tabn = atof(tn);
  lsname(Find_Full_TN(tabn),ls1);
  lsread(ls1,0);               // Чтение ЛС 

  //Дата, на которую считаем резерв
  var DateBeg=CreateObject("KDate");
  DateBeg.SetDate(static_cast_to_string(Date));

  //класс для расчета среднего
  var Sredn = CreateObject("KCalcSredn");
  Sredn.InitSredn(0,7,DateBeg,0);    // Инициализация способа расчета "по-среднему"
  var Nastr = Sredn.GetNastr();
  //string OTPUSK_CNF_TABLE = "отпуск";
  //int flag_rvmes=GetCommonCnfInt("FLAG_RVMES",OTPUSK_CNF_TABLE);
  //int tip_koef  =GetCommonCnfInt("TIP_KOEF",OTPUSK_CNF_TABLE);
  //Nastr.SetNastr(FLAG_RVMES,flag_rvmes);
  //Nastr.SetNastr(TIP_KOEF,tip_koef);
  //Nastr.SetNastr(FLAG_SILENT,1);

  Sredn.Calculate(0);   // расчет среднего
  return Sredn.SumSredn();
}
