Табель по совместительству
Здравствуйте.
Как можно прочитать табель по совместительству.
Я написал алгоритм, который учитывает совместительства. И всё бы хорошо, но не могу посчитать количество рабочих дней по табелю. Причем количество нормативных дней считается.
Использую функцию skoljko.
Вывел в строку табель calm. Для основного места работы показывает нормальный табель. Для совместительства показывает одни "n". Табель заполнен что для обоих должностей.
Подскажите, пожалуйста, в чем может быть дело.
Ответ
О каком алгоритме идет речь?
К тому моменту, когда выполняется расчет вида (если мы говорим об алгоритме расчета вида), в память уже загружен нужный табель и никаких хитростей делать не надо для его получения. При условии конечно, что у этого вида код совместительства не забыли прописать.
К сожалению, речь об авансах.
Вот существенный код, который вызываю:
var Src=GetCommonProp(CMN_SRC_MASS_LS);
var ts1 = CreateObject("TempCommonSrc");
ts1.TempCommonSrcInitial(CMN_SRC_C_WORK);
SetCommonProp(CMN_SRC_C_WORK,Src);
var ts2 = CreateObject("TempCommonSrc");
ts2.TempCommonSrcInitial(CMN_SRC_INT_LS);
SetCommonProp(CMN_SRC_INT_LS,Src);
var ts3 = CreateObject("TempCommonSrc");
ts3.TempCommonSrcInitial(CMN_SRC_COUNT_LS);
SetCommonProp(CMN_SRC_COUNT_LS,Src);
s50(mrasch);
int row_avans = poisk_row(201,0,data,0);
var Prop=GetPropOfCod(GetCode(row_avans));
var Combine=CreateObject("TmpCurCombine");
if (Prop.GetCombine()!=GetGeneralCombineLS())
Combine.Init(Prop.GetCombine());
double fakt = 0.;
double norm = 0.;
double tmp = 0.;
skoljko(tmp,data,1,15,rsimv,calm,1); fakt += tmp;
skoljko(tmp,data,1,15,simv_nr,calm,1); fakt += tmp;
skoljko(norm,data,1,countday,simv_nr,calmras,cht);
tmp = dney_v_tab(rsimv,calm,1,15)+dney_v_tab(simv_nr,calm,1,15);
// для совместительства:
AmbaMessageBox("fakt = " + to_string(fakt),"",MB_OK|MB_ICONINFORMATION,0); // рабочих часов = 0
AmbaMessageBox("norm = " + to_string(norm),"",MB_OK|MB_ICONINFORMATION,0); // норма в часах - считает правильно
AmbaMessageBox("tmp = " + to_string(tmp),"",MB_OK|MB_ICONINFORMATION,0); // рабочих дней = 0
AmbaMessageBox("calm = " + to_string(calm),"",MB_OK|MB_ICONINFORMATION,0); // табель "nnnnnnnnn" и т.д.
// для основного места работы всё хорошо
Поставьте s50(mrasch) перед double fakt = 0.;
Сервис поддержки клиентов работает на платформе UserEcho
Поставьте s50(mrasch) перед double fakt = 0.;