01. DADOS GERAIS
Produto: | Solucoes_totvs |
---|
Solucao | TOTVS Prestadores de Serviços Terceirização |
---|
|
Solucoes_totvs_parceirosexptotvs |
---|
|
|
---|
Linha de Produto: | |
---|
Segmento: | |
---|
Módulo: | Prestadores de Serviços |
---|
Função: | Não há |
---|
País: | Brasil |
---|
Ticket: | Não há |
---|
Requisito/Story/Issue (informe o requisito relacionado) : | DSERSGS-10968 |
---|
02. SITUAÇÃO/REQUISITO
Criar um gatilho para calcular o valor da próxima parcela considerando a data final digitada.
03. SOLUÇÃO
Criação de gatilho para o calculo automático do valor da próxima parcela considerando a data final digitada.
Aviso |
---|
|
Essa implementação só será executada para contratos recorrentes(TFJ_CNTREC) e não terá efeito para itens extras. |
Informações |
---|
|
Crie o seguinte gatilho pelo configurador:
Campo | Conteúdo |
---|
Campo | TFF_PERFIM | Sequencia | 001 | Cnt. Dominio | TFF_VLPRPA | Tipo | Primário | Regra | U_ValFinal() | Posiciona | Não | Condição | U_ValidRec() |
Após a criação do gatilho, inclua as seguintes funções (user function):
Bloco de código |
---|
language | text |
---|
title | Exemplo de Uso |
---|
| #INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function ValFinal()
Local nDataFim := Day(FwFldGet("TFF_PERFIM")) // Data final
Local nDiasTotal := Day(LastDate(FwFldGet("TFF_PERINI"))) // Total dias mês
Local nValor := FwFldGet("TFF_PRCVEN") // Preço de venda do contrato
Local nQtd := FwFldGet("TFF_QTDVEN") // Quantidade
nValor := (nValor/nDiasTotal)* nDataFim
//Arredonda o valor
nValor := Round(nValor,TamSX3("TFL_VLPRPA")[2]) * nQtd
Return nValor
User Function ValidRec()
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 |
A função ValidRec() é criada para garantir que o gatilho não vai ser executado para contratos não recorrentes e itens extras
Se a condição criada for positiva, o gatilho será chamado e o calculo será feito. Com isso o valor da próxima parcela será reajustado conforme a data final for alterada. |
05. ASSUNTOS RELACIONADOS
HTML |
---|
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after {
background: #FF9900; !important
}
.menu-item.active-tab {
border-bottom: none !important;
}
</style>
|