Home

Linha Microsiga Protheus

Páginas filhas
  • PMSA320 Apontamentos - Rotina automática

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