SetSubjToKch(comb,subj)
{
  //внутренний код сов-ва
  int combine=ExtCombineToInt(comb);
  //внутренний код объекта
  int subject=ExtSubjectToInt(subj);
  if(combine>0 && subject>0)
  {
    var CL=CreateObject("CombineList");
    CL.SetIDSubject(combine,subject);
  }
}
GetProfName(Prof)
{
   char s[256];
   GetValueClassif("T_GUIDE\\prof.tab",Prof,s,255,"Value","Kod");
   return s;
}

Message ( &Arg,  &pcT, W, A)
//////////////////////////////////////////////////////////////////
// Сообщение(парам1,парам2)
// парам1 - текст сообщения
// парам2 - заголовок окна
//////////////////////////////////////////////////////////////////
{
   var FuncParam =  CreateObject("ParamFuncRW");
   FuncParam.IInitial(static_cast_to_string(Arg),",",10);
   int CountParam=FuncParam.Count();

   if ( CountParam )
   {
      AmbaMessageBox(FuncParam.Get(0),FuncParam.Get(1),1);
   }
   return pcT;
}

ToLeft( &Arg,  &pcT, W, A)
//////////////////////////////////////////////////////////////////
// Выравнивание числа по левому краю
//////////////////////////////////////////////////////////////////
{
   double Sum = atof(GetVarValue(Arg));
   char StrTmp[W+256];
   sprintf(StrTmp,"%-*.*f",W,A,Sum);
   Text_Text(pcT,StrTmp,W);
   return pcT;
}

UserCombineRefF2(&buffer,bufsize,handle,&C_Params)
{
  // функция для вызова справочника совместительств из таблицы
  // у поля Совместительство в таблице настройки написать в функции предварительной обработки:
  // CLASSIF(S:UserCombineRefF2) 
  // ЧИТАЕТ ЛИЦЕВОЙ СЧЕТ с табельным номером взятым из поля C_FIO 

  char ss[bufsize+1];
  CharToOem(buffer,ss);
  var CTabl=CreateObject("CurPrnTbl");
  CTabl.Initial(C_Params.pTabl);
  int Tn=atoi(CTabl.TextS("C_FIO",CTabl.Get_N_Rcr()));
  int er=LSRead(Tn,2);
  if (er==1)
  {
    int rc=ShowCombineRef(ss,ss, 2, 5, 70, 15);
    if (rc!=ESC)
    {
	   OemToChar(ss, buffer);
      return 1;
    }
  }
  return 0;
}



usrGetRowForOtp()
{
int row=0;
  //определяем категорию сотрудника
  var D = CreateObject("KDate");D.SetDateII(1,mrasch); //значение категории берем на начало расчетного месяца
  char StrKat[81];
  GetKchValue("kat",StrKat,2,D);
  int kod_kat=atoi(StrKat); //значение кода категории

  // если код категории НЕ равен 4 индексация по 1-ой строке сетки
  if ( kod_kat!=4 ) return row=1;
  //иначе индексация по 2-ей строке сетки
else row=2;
}