0
Отвечен
Как вытащить в шапку части квитка РВ по виду?
KTV 7 лет назад
в Справки, квитки и прочие формы печати
•
обновлен Гашков Николай (Эксперт) 7 лет назад •
6
Добрый день!
Как в форме квитка 102, разбиваемому по совместительствам, вытащить по каждому совместительству фактически отработанное РВ по виду НУ?
Т.е. нужен скриптовый аналог функции R_Time.
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день.
Разве 102 квиток не печатает РВ по видам!?
РВ по виду можно получить скриптовой ф-цией rvvid()
Извините, может не совсем корректно описала задачу.
В шапке каждой части квитка (по каждому совместительству) нужно, чтобы был выведен оклад, факт.РВ и норма РВ.
Оклад и норму я вытащила, а факт.РВ не нашла.
Причем это должно быть РВ именно по виду, т.к. по внутренним совместительствам чаще всего табель не заполняется.
Оклад и НРВ печатаете так:?
ФРВ по какому виду нужно выводить?На одной должности может быть несколько строк с таким кодом?
Да, так.
ФРВ выводится по коду 143 или 296, на одной должности только одна строка с одним из этих кодов.
Попробуйте так:
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; }USFUNCRW.S