Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Solucoes_totvs
SolucaoTOTVS Prestadores de Serviços Terceirização

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoServiç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.


Image Modified

Imagem 1 - Ilustração do gatilho



Bloco de código
themeRDark
titleGatilho
linenumberstrue
#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.TGW_FILIAL = '" + xFilial("TGW") + "' "
cQuery += " AND TGW.D_E_L_E_T_ = ' ' "
cQuery += " WHERE "
cQuery += " TXH.TXH_FILIAL = '" + xFilial("TXH") + "' "
cQuery += " AND ( 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 := FwFldGet("TFJ_CNTREC") == "1"
Local 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
  
Return lRet

...