01. DADOS GERAIS
Produto: | TOTVS Saúde Planos
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Saude |
Módulo: | FATURAMENTO |
Função: | LOTES DE COBRANÇA |
Ticket: | |
Story: | DSAUBE-18473 |
02. SITUAÇÃO/REQUISITO
Necessidade de alterar o valor percentual utilizado para o calculo de pro-rata do beneficiário, tanto na inclusão como no bloqueio do mesmo.
03. SOLUÇÃO
Implementado ponto de entrada PLPRORAT para alterar o valor do percentual no calculo do pro-rata que é utilizado no lote de cobrança ou no bloqueio do beneficiário.
04. DEMAIS INFORMAÇÕES
Ponto de entrada: PLPRORAT
Parâmetros: PARAMIXB com 3 posições
- PARAMIXB[1]: Data para o calculo, sendo a data de inclusão caso o PARAMIXB[3] seja falso ou data de bloqueio caso o PARAMIXB[3] seja verdadeiro. (Tipo Data)
- PARAMIXB[2]: Dia do vencimento do boleto do beneficiário, de acordo com o campo XX_VENCTO do nível de cobrança (Tipo Numérico)
- PARAMIXB[3]: Valor Lógico, se for verdadeiro o processo é um bloqueio, se for falso o processo é uma inclusão. (Tipo Lógico)
Retorno: Array com duas posições
- Primeira posição: Valor percentual para o calculo (Tipo Numérico)
- Segunda posição: Dias utilizados do pro-rata (Tipo Numérico)
Observação: É obrigatório o retorno do percentual e dos dias utilizados para funcionamento correto do processo. Por exemplo: De um percentual de 50% que será utilizado no calculo do pro-rata foram utilizados 15 dias.
Exemplo de Uso:
Script para Calculo de percentual e dias com base no vencimento do boleto, ou seja, o sistema irá calcular o dia do vencimento como o primeiro dia do mês para o calculo de pro-rata.
Exemplo: Beneficiário possui o dia 10 como vencimento do boleto, e um dependente foi incluído dia 22 de Abril, com isso o sistema irá calcular o pro-rata de entrada considerando a entrada dia 22 de Abril até o dia 9 do mês seguinte (Maio), e assim totalizando 18 dias que ele utilizou para o calculo. No processo padrão o sistema iria considerar somente do dia 22 de Abril até o dia 30 de Abril, sendo 9 dias utilizados.
#Include "Protheus.ch" //--------------------------------------------------------------------------------------- /*/{Protheus.doc} PLPRORAT Calcula o percentual e dias do valor de pro-rata com base no dia de vencimento da cobrança @author TOTVS Saúde Planos @since 09/05/2022 @version Protheus 12 /*/ //--------------------------------------------------------------------------------------- User Function PLPRORAT() Local dDataCalc := PARAMIXB[1] Local nDiaVencto := PARAMIXB[2] Local lBloqueio := PARAMIXB[3] Local lConsDtBloqueio := GetNewPar("MV_PRODTCA", .F.) Local nPercDias := 0 Local nDiasUtil := 0 Local nDay := 0 Local nMonth := 0 Local nYear := 0 Local nDiasMes := 0 Local dDtVenctoInicial := CToD(" / / ") Local dDtVecntoFinal := CToD(" / / ") nDay := Day(dDataCalc) nMonth := Month(dDataCalc) nYear := Year(dDataCalc) nDiasMes := Day(LastDay(dDataCalc)) dDtVenctoInicial := SToD(cValToChar(nYear)+StrZero(nMonth, 2)+StrZero(nDiaVencto, 2)) dDtVecntoFinal := (dDtVenctoInicial + nDiasMes) - 1 If !lBloqueio // Pro-Rata de entrada If nDay > nDiaVencto nDiasUtil := DateDiffDay(dDataCalc, dDtVecntoFinal) + 1 // dDataCalc = Data de inclusão do beneficiário Else nDiasUtil := nDiasMes EndIf Else // Pro-Rata de saida nDiasUtil := DateDiffDay(dDtVenctoInicial, dDataCalc) + 1 // dDataCalc = Data de bloqueio do beneficiário If lConsDtBloqueio nDiasUtil -= 1 EndIf EndIf nPercDias := (nDiasUtil * 100) / nDiasMes Return {nPercDias, nDiasUtil}
05. ASSUNTOS RELACIONADOS