Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Prestadores de Serviços Terceirização

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:Prestadores de Serviços
Função:Orçamento de Serviço
País:Brasil
Ticket:Não há.
Requisito/Story/Issue (informe o requisito relacionado) :DSERSGS-12603


02. SITUAÇÃO/REQUISITO

Criar um gatilho para trazer as horas extras planejadas cadastradas na escala.

03. SOLUÇÃO

Para implementar esta melhoria, é necessário criar o gatilho para o retorno das horas extras planejadas cadastradas na escala, conforme as informações apresentadas na imagem. Em seguida, é necessário compilar a user function citada no box.


Imagem 1 - Ilustração do gatilho



Gatilho
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
 
User Function HrExTFU( cEscala )
Local oModel    := FwModelActive()
Local oMdlHE    := oModel:GetModel("TFU_HE")
Local cQuery    := ""
Local cAliasTXH := GetNextAlias()
 
cQuery := ""
cQuery += " SELECT DISTINCT TXH.TXH_MANUT "
cQuery += " FROM " + RetSqlName("TXH") + " TXH "
cQuery += " INNER JOIN " + RetSQLName("TGW") + " TGW "
cQuery += " ON TGW.TGW_COD = TXH.TXH_CODPAI "
cQuery += " AND TGW.D_E_L_E_T_ = ' ' "
cQuery += " WHERE "
cQuery += " ( TXH.TXH_CODTFF = '" + oModel:GetValue("TFF_RH", "TFF_COD") + "' OR TXH.TXH_CODTFF = ' ' )"
cQuery += " AND TXH.D_E_L_E_T_ = ' ' "
cQuery += " AND TGW.TGW_EFETDX = '" + cEscala + "' "
 
cQuery := ChangeQuery(cQuery)
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasTXH,.T.,.T.)
 
While (cAliasTXH)->(!Eof())
    If !(oMdlHE:SeekLine({{"TFU_CODABN", (cAliasTXH)->(TXH_MANUT)}}))
        If oMdlHE:Length() > 1 .Or. !Empty( oMdlHE:GetValue("TFU_CODABN") )
            oMdlHE:AddLine()
        EndIf
        oMdlHE:SetValue("TFU_CODABN", (cAliasTXH)->(TXH_MANUT))
        oMdlHE:SetValue("TFU_VALOR", 0)
    EndIf
    (cAliasTXH)->(DbSkip())
EndDo
 
(cAliasTXH)->(dbCloseArea())
 
Return cEscala
 
User Function VLDRecHR()
Local lRet  := .F.
Local lIsRecorrente := .F.
Local lIsItenExtra  := .F.

If isInCallStack("TECA870") .OR. isInCallStack("FATA300") .OR. isInCallStack("TECA745")
    lIsRecorrente := FwFldGet("TFJ_CNTREC") == "1"
    lIsItenExtra  := FwfldGet("TFF_COBCTR") == "2"
    //Só será executado para contratos recorrentes e não será executado para item extra
    If lIsRecorrente .And. !lIsItenExtra
        lRet := .T.
    EndIf
EndIf

Return lRet




04. DEMAIS INFORMAÇÕES

DSERSGS-8699 DT Pro rata na medição de orçamentos recorrentes


05. ASSUNTOS RELACIONADOS