Ваши комментарии
7 лет назад
Попробуйте так:
UserBeginPrintPartCheckHeader(tipKv)
{
int combine=__CurrentCheckProp.GetCombine();//внутренний код "печатаемой должности"
//печатаем "значение" оклада и НРВ
if ( !Excel )
{
char str[256];
sprintf(str," Оклад: %.2f Норма: %.2f (%.2f)",UserGetOklad(994,combine),UserGetNorm(combine,2),UserGetNorm(combine,1));
print(str);
double frv=UserGetFrv(143,combine);//берем ФРВ из вида 143
if (frv<0.001)// ФРВ в 143 нулевое - возьмем из 296 вида.
frv=UserGetFrv(296,combine);
sprintf(str," ФРВ: %.2f ",frv);
print(str);
}
}
UserGetFrv(code,combine)
{
int rowkod[ROWMAX];//массив с номерами строк
var Prop = CreateObject("APropBE");Prop.Init(CLL_TOTAL_SRC,CLL_TOTAL_SUBJECT,CLL_TOTAL_PODR,combine); //инициализируем APropBE вн.кодом совместительства
int cntrow=poiskosnkodProp(Extern_To_Intern(code),rowkod,0,Prop);//получаем список строк с внешним кодом code
var monthKvitok=KDateFromInt_WithDay(1,mtek);
for (int row=0; row < cntrow; row++) //перебираем все строки
{
//фильтр на недействующие строки
var DatB = KDateFromD(GetBegDate(rowkod[row]));
var DatE = KDateFromD(GetEndDate(rowkod[row]));
if (DatB.GTM(monthKvitok)||DatE.LTM(monthKvitok))
continue;
double rv=0;
rvvid("=",GetCode(rowkod[row]),mrasch-mtek,rv);
if(rv>0.001)
return rv;
}
return 0;
}Оклад и НРВ печатаете так:?
ФРВ по какому виду нужно выводить?На одной должности может быть несколько строк с таким кодом?
Добрый день.
Разве 102 квиток не печатает РВ по видам!?
РВ по виду можно получить скриптовой ф-цией rvvid()
Добрый день!
Да, будет ( ближе к отчетности...)Можете поставить 1 в
Настройка -> 6. Общие настройки системы -> 6. Настройки режимов корректировки. -> Диалог выбора исполняемой должности
Сервис поддержки клиентов работает на платформе UserEcho