Ваши комментарии

Добрый день.

Сначала надо очистить связи по удаляемой должности:

  1. Выделяем ЛС
  2. Таблица массовой обработки
  3. Создаем таблицу "Очистка связей с КП по исп.должностям присутствующим в ЛС"
  4. Заходим в созданную таблицу
  5. Убираем комментарий из ф-ции расчета
  6. Выделяем в таблице должность, по которой нужно очистить связи
  7. Alt+F4

После очистки связи удаляем виды на должности

Удаляем саму должность

Передаем из КП должность еще раз..

Добрый день.

Перед CheckNotExistCod добавьте проверку наличия сумм по источнику

Вам ведь РК нужен только на тех источниках где есть суммы?

if(IsAnySummExist(prop,month))
{
  //делаем проверку через CheckNotExistCod 
}


IsAnySummExist(prop,month)
{
  char dopstbuf[MAXKOD];
  memcpy(dopstbuf,dopst,MAXKOD);
  probely(dopst,MAXKOD-1,'1');
 
  double sum    = CollectSummPropSimv("1",'d',month,0,CL_M |CL_COL|CL_NACH|CL_POSITIVE|CL_SOURCE,prop);
                 sum   += CollectSummPropSimv("1",'d',month,0,CL_M |CL_COL|CL_NACH|CL_NEGATIVE|CL_SOURCE,prop);
  double sumMV  = CollectSummPropSimv("1",'d',0,month,CL_MV|CL_COL|CL_NACH|CL_POSITIVE|CL_SOURCE,prop);
                 sumMV += CollectSummPropSimv("1",'d',0,month,CL_MV|CL_COL|CL_NACH|CL_NEGATIVE|CL_SOURCE,prop);
  
    memcpy(dopst,dopstbuf,MAXKOD);//восстанавливаем...
    return (nabs(sum)+nabs(sumMV)>0.00001)?true:false;
}

Клавишей Tab можно листать таблицы: начисления-> удержания->итоги

Изнутри свода печатает "как есть" , либо можно Экспортировать в Excel

Добрый день.

Заходите в настройки сводов ( F4-F9)

Создаете на основе поставочного свода свой свод( F7)

Заходите внутрь созданного свода и для каждой категории добавляете столбец "Сумма по категории"

Чтобы оклад рассчитался при вызове ras_normzar() нужно править алгоритм...

Верните 0 в столбец 4 и 5 спец. ТВХ для 296 вида.

Поставьте 296 виду алгоритм 196 (РВ у 296 вида будет заполняться только при расчете доплаты ночных)

Скопируйте алгоритм :

UserAlg196(&info,&r)
{
   worktime(info.crow,info.b3,0);
   if(nkalend == knorm && info.b3==B3_OTPUSK_NORM_ZAR)
      // если строка считается по основному графику ЛС
      skoljko(r[2],data,info.z1,info.z2,rsimv,calm,cht);
   char t[20];
   if((info.c=korrv(r,t,0,info.h,flagrow,jf)) != 1)
      return code_ReturnCode;
   info.n1=r[2]*info.bz/norm(2);
   if(FL_V_ALG && uprc != NO_SCREEN)
   {
      infolist.add_record("Рабочее время",r[2]);
      infolist.add_record("Норма часов",norm(2));
      infolist.add_record("Оклад",info.bz);
      infolist.add_record("Результат",info.n1);
   }
   return code_Break;
}    

USALG.S

Сервис поддержки клиентов работает на платформе UserEcho