Код: Выделить всё
vipInterface sfKKmcForm;
public :
function fmastFIO(cmast : comp) : string;
end;
interface sfKKmcForm 'Керосиновый контроль - по изделию' (,,sciAqaSwitchItemName);
show at (1,10,50,18);
create view
var d1, d2 : date;
cmast : comp;
(cmastFIO )
as select
fmastFIO(cmast),
* from sfpersons, katmc, sfdocs, sfmclist, sfdefects, exclassval, exclassseg
where
((
5 == katmc.isarch
and sfdocs.atl_nrec == sfmclist.csfdoc
and sfmclist.atl_nrec == sfdefects.csfmclist
))
;
form SF("SF.out");
//*******************************************************************************
/*
*******************************************************************************
Название: fmastFIO(cmast : comp) : string;
Описание: Функция поиска фамилии сотрудника
Входные пар-ры: cmast : comp; - nrec сотрудника в sfpersons
Выходные пар-ры: ФИО сотрудника
*******************************************************************************
*/
function fmastFIO(cmast : comp) : string;
{
if GetFirst sfpersons where (( cmast == sfpersons.atl_nrec )) = tsOk
fmastFIO := sfpersons.sffio;
else fmastFIO := '';
}
//******************************************************************************
screen scKKmc;
table sfpersons;
fields
d1 : noProtect;
d2 : noProtect;
сmastFIO : PickButton, protect;
buttons
cmOk;
<<
с .@@@@@@@@@@@ по .@@@@@@@@@@@
Мастер .@@@@@@@@@@@@@@@@@@@@
<. Сформировать .>
>>
end;
handleEvent
cmInit :
{
cmast := 0;
d1 := Cur_Date;
d2 := Cur_Date;
}
cmPick :
{
case CurField of
#cmastFIO : RunInterface(iMasters, cmast, 1);
end;
}
cmOk :
{
SF.SetGroup('KKMC');
SF.Write(d1);
SF.Write(d2);
SF.Write(cmast);
SF.Write(cmastFIO);
SF.Write('');
_loop sfdocs where (( d1 <<= sfdocs.datedoc and d2 >>= sfdocs.datedoc and (/*8 = sfdocs.typedoc or*/ 2 = sfdocs.typedoc) ))
{ #include %src%\make\form\loopAll.vip
}
SF.PutEvent(feBreak);
if (SF.error) SF.Reinit;
else SF.ShowFile('');
}
end;
end.