Documento: PMSA320 (Apontamentos) - Rotina automática
Este documento contêm exemplos de utilizações da rotinas automáticas de inclusão, alteração e exclusão no cadastro de Apontamentos de recursos (PMSA320).
//INCLUSAO
USER FUNCTION PMS320INC()
LOCAL nQtdHora := 0
LOCAL dData := STOD('20110202')
LOCAL nOpc := 3
LOCAL aGetCPos := {}
PRIVATE lMsErroAuto := .F.
aAdd(aGetCPos ,{"AFU_PROJET" ,'TESTE' ,.F.})
aAdd(aGetCPos ,{"AFU_TAREFA" ,'01' ,.F.})
aAdd(aGetCPos ,{"AFU_REVISA" ,'0002' ,.F.})
aAdd(aGetCPos ,{"AFU_RECURS" ,'TI3201' ,.F.})
aAdd(aGetCPos ,{"AFU_DATA" ,dData ,.F.})
aAdd(aGetCPos ,{"AFU_HORAI" ,'08:00' ,.F.})
aAdd(aGetCPos ,{"AFU_HORAF" ,'17:30' ,.T.})
aAdd(aGetCPos ,{"AFU_DOCUME" ,'123456' ,.T.})
// calcula a quantidade de horas
nQtdHora := Round(SubtHoras(dData,'08:00',dData,'17:30'),2)
aAdd(aGetCPos ,{"AFU_HQUANT" ,nQtdHora ,.T.})
MSExecAuto({|a,b,c|PMSA320(a,b,,c)},aGetCpos, nOpc,__cUserID)
If lMsErroAuto
MostraErro()
Else
Alert("Apontamento incluso com sucesso!")
Endif
Return
//ALTERAÇÃO
USER FUNCTION PMS320ALT()
LOCAL nQtdHora := 0
LOCAL dData := STOD('20110202')
LOCAL nOpc := 8 // 8 - ALTERAÇÃO
LOCAL aGetCPos := {}
PRIVATE lMsErroAuto := .F.
DbSelectArea("AFU")
dbSetOrder(7) //AFU_FILIAL+AFU_CTRRVS+AFU_DOCUME+AFU_ITEM
DbSeek(xFilial("AFU")+"1"+"123456" )
aAdd(aGetCPos ,{"AFU_HORAF" ,'10:30' ,.T.})
// calcula a quantidade de horas
nQtdHora := Round(SubtHoras(dData,'08:00',dData,'10:30'),2)
aAdd(aGetCPos ,{"AFU_HQUANT" ,nQtdHora ,.T.})
MSExecAuto({|a,b,c|PMSA320(a,b,,c)},aGetCpos, nOpc, __cUserID )
If lMsErroAuto
MostraErro()
Else
Alert("Apontamento Alterado com sucesso!")
Endif
Return
//EXCLUSÃO
USER FUNCTION PMS320EXC()
LOCAL nQtdHora := 0
LOCAL dData := STOD('20110202')
LOCAL nOpc := 9 // 9 - EXCLUSAO
LOCAL aGetCPos := {}
PRIVATE lMsErroAuto := .F.
DbSelectArea("AFU")
dbSetOrder(7) //AFU_FILIAL+AFU_CTRRVS+AFU_DOCUME+AFU_ITEM
DbSeek(xFilial("AFU")+"1"+"123456")
MSExecAuto({|a,b,c|PMSA320(a,b,,c)},aGetCpos, nOpc, __cUserID )
If lMsErroAuto
MostraErro()
Else
Alert("Apontamento Excluído com sucesso!")
Endif
Return