Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

(informação) Exemplo de gatilho ao preencher a hora final TFF_HORAFI:

X7_CAMPOX7_REGRAX7_CDOMIN    
TFF_HORAFIgatHoraTot(M->TFF_DTINI, M->TFF_DTFIM, M->TFF_HORAIN, M->TFF_HORAFI)TFF_QTDHRS
Bloco de código
languagecpp
linenumberstrue
#INCLUDE "TOTVS.CH"
#INCLUDE "FWMVCDEF.CH"          
          
User Function gatHoraTot(dDataIni, dDataFim, cHoraIni, cHoraFim)
Local cQtdHoras := "00:00"
Local nHoraIni  := 0
Local nHoraFim  := 0

If !Empty(dDataIni) .And. !Empty(dDataFim) .And.;
    !Empty(cHoraIni) .And. !Empty(cHoraFim)

	//Transforma hora em formato "00:00" para segundos:
    nHoraIni := TimeToSecs(cHoraIni)
    nHoraFim := TimeToSecs(cHoraFim)

	//Calcula a quantidade de horas totais de acordo com o range de datas e horários:
    If nHoraIni > nHoraFim
        cQtdHoras := SecsToTime((dDataFim-dDataIni)*(nHoraIni-nHoraFim))
    Else
        cQtdHoras := SecsToTime((dDataFim-dDataIni)*(nHoraFim-nHoraIni))
    EndIf

	//Tratamento para desconsiderar os segundos e manter picture "00:00"
    cQtdHoras := SubStr(cQtdHoras,1,len(cQtdHoras)-3)
EndIf

Return cQtdHoras

...