Ваши комментарии
Попробуйте так:
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
Добрый день.
Замените скрипт в каталоге script\forms\
srz_16.S