Histórico da Página
...
Crie o seguinte gatilho pelo configurador.
Campo | Conteúdo |
---|---|
Campo | TFG_PERINI |
Sequencia | 001 |
Cnt. Dominio | TFG_VLPRPA |
Tipo | Primário |
Regra | U_CalcVlMI() |
Posiciona | Não |
Condicao | U_CondVlMI() |
Informações | ||
---|---|---|
| ||
Essa implementação só será executada para contratos recorrentes(TFJ_CNTREC) e não terá efeito para itens extras. |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function CalcVlMI()
Local aAreaTFG := TFG->(GetArea()) // Salva area
Local nDataIni := Day(dDataBase)
Local nMes := Month(dDataBase)
Local nAno := Year(dDataBase)
Local dDataIniCtr := cTod("")
Local dDataFimCtr := cTod("")
Local cCompet := ""
Local cCodTFJ := ""
Local cCodTFG := ""
Local nDataFim := 30 //Qtd de dias para calculo do Vlr dia.
Local nValor := 0
Local nQtd := 0
Local nDtFimMes := Day(dDataBase)
Local cCompetAnt := ""
Local nMesAnt := 0
Local nAnoAnt := 0
Local oModel := FwModelActive()
If IsInCallStack("AT870Antco")
dDataIniCtr := PARAMIXB[1]
dDataFimCtr := PARAMIXB[2]
nDataIni := Day(dDataIniCtr) //dia de inicio do contrato
nDtFimMes := Day(dDataFimCtr) // dia de fim do contrato
nMes := Month(dDataIniCtr)
nAno := Year(dDataIniCtr)
cCodTFJ := PARAMIXB[3]
nValor := PARAMIXB[4] // preço de venda do contrato
nQtd := PARAMIXB[5] // preço de venda do contrato
cCompetAnt := PARAMIXB[6]
cCodTFG := PARAMIXB[7]
Else
dDataIniCtr := FwFldGet("TFG_PERINI")
dDataFimCtr := FwFldGet("TFG_PERFIM")
nDataIni := Day(dDataIniCtr) //dia de inicio do contrato
nDtFimMes := Day(dDataFimCtr) // dia de fim do contrato
nMes := Month(dDataIniCtr)
nAno := Year(dDataIniCtr)
cCodTFJ := FwFldGet("TFJ_CODIGO")
nValor := FwFldGet("TFG_PRCVEN") // preço de venda do contrato
nQtd := FwFldGet("TFG_QTDVEN") // preço de venda do contrato
cCompetAnt := At740GtPer()
cCodTFG := FwFldGet("TFG_COD")
EndIf
If !Empty(cCompetAnt)
nMesAnt := Month(cCompetAnt)
nAnoAnt := Year(cCompetAnt)
If Len(cValToChar(nMesAnt)) == 1
cCompetAnt := "0" + cValToChar(nMesAnt) + "/" + cValToChar(nAnoAnt)
Else
cCompetAnt := cValToChar(nMesAnt) + "/" + cValToChar(nAnoAnt)
EndIf
EndIf
If Len(cValToChar(nMes)) == 1
cCompet := "0" + cValToChar(nMes) + "/" + cValToChar(nAno)
Else
cCompet := cValToChar(nMes) + "/" + cValToChar(nAno)
EndIf
If Month(dDataFimCtr) == Month(dDataIniCtr) .And. Year(dDataFimCtr) == Year(dDataIniCtr)
nValor := (nValor/nDataFim)*((nDtFimMes-nDataIni)+1)
Else
nValor := (nValor/nDataFim)*((nDataFim-nDataIni)+1)
EndIf
//Arredonda o valor
nValor := nValor * nQtd
nValor := Round(nValor,TamSX3("TFL_VLPRPA")[2])
//Atualiza o cronograma
At740IAuto("TFG", cCodTFG, cCompet, nValor, cCodTFJ,cCompetAnt,nDataIni > 1)
FWModelActive(oModel)
RestArea(aAreaTFG)
Return nValor
User Function CondVlMI()
Local lRet := .F.
Local lIsRecorrente := FwFldGet("TFJ_CNTREC") == "1"
Local lIsItenExtra := FwfldGet("TFG_COBCTR") == "2"
//Só será executado para contratos recorrentes e não será executado para item extra
If lIsRecorrente .And. !lIsItenExtra .AND. Day(FwFldGet("TFG_PERFIM")) != 1
lRet := .T.
EndIf
Return lRet
|
04. DEMAIS INFORMAÇÕES
Não há
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas