Выборка размера северной надбавки из РВ видов НУ
Поправьте, пожалуйста, скрипт. В колонке 33 символом 3 отмечены виды СН. Как подсуммировать РВ по этим видам по основному подразделению, источнику, совместительству и без учета пересчетных строк.
Спасибо.
UserDefineSev(month, d1, d2)
{
int stolbec = 33;
double n2=0;
var Prop = CreateObject("APropBE");
Prop.Init(GetGeneralSrcLS(),GetGeneralSubjectLS(),GetGeneralPodrLS(),GetGeneralCombineLS()); //Основной источник
var CurProp = GetCurPropCountLS(); // По должностям
char buf[256];
char func[256];
sprintf(func,"R_Col_T(3,'н',%d,0,0,Prop)%s",stolbec);
CallFuncReceive(func,buf,250,2);
n2 = atof(buf)/100;
return n2;
}
Ответ
Попробуйте так:
UserGetRvColProp(col,sim, prop)
{
int Flags=CL_SOURCE|CL_MV;//выборка по виду по месяцу начисления
double rv=0.;
//цикл по видам ТВХ
for(int pos=0;pos<cntplus;pos++)
{
char cur_sim=Sim_For_Position(pos,col-1);
if ( cur_sim!=sim)
continue;
rv+=CashSummProp(0,kodnu1[pos],mrasch,mrasch,42,Flags,prop);
}
return rv;
}
Использовать так:
var Prop = CreateObject("APropBE");
Prop.Init(GetGeneralSrcLS(),GetGeneralSubjectLS(),GetGeneralPodrLS(),GetGeneralCombineLS());
return UserGetRvColProp(25,'3', Prop);
Пересчетные строки суммирует. Если за предыдущий месяц доначислили СН, берет и из этой строки РВ. Нужно подсуммировать РВ текущего месяца за текущий месяц.
Спасибо большое!!
Еще одна проблема. Эта функция срабатывает только после окончательного расчета ЛС. Пока не запишем рассчитанные значения видов СН, мы не можем прочитать их этой функцией.
Как только начинаем использовать UserDefineSev, вид СН перестает считаться.
Можете выложить 897 алгоритм, чтобы мы сами переименовали эту UserDefineSev.
Или можно что-то другое придумать?
Сервис поддержки клиентов работает на платформе UserEcho
Попробуйте так:
Использовать так: