Histórico da Página
Tempo aproximado para leitura: 05 min
ÍNDICE
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
01. VISÃO GERAL
A rotina FINA645 - PDD (Provisão de Devedores Duvidosos) constitui a provisão para devedores duvidosos.
Outras denominações dessa provisão:
- Perdas Estimadas em Créditos de Liquidação Duvidosa (PECLD).
- Provisão para Perdas Sobre Créditos (PPSC).
- Provisões para Créditos de Liquidação Duvidosa (PCLD).
Esta provisão cobre perdas prováveis no recebimento das duplicatas. Assim, uma vez constituída tal provisão e, não ocorrendo o recebimento de algumas duplicatas pela empresa, essas eram obrigatoriamente baixadas em contrapartida com a Provisão para Devedores Duvidosos.
Por exemplo: Se ao final do ano, o total de perdas não atingisse o valor da Provisão, a sobra era revertida, ou seja, era contabilizada como receita, zerando a Provisão antiga, para na sequência efetuar-se uma nova Provisão para Provisão para o ano seguinte.
Importante: Rotina disponibilizada a partir do release 12.1.25
02. EXEMPLO DE UTILIZAÇÃO
Expandir | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Expandir | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Expandir | ||||||||||
| ||||||||||
|
Expandir | ||
---|---|---|
| ||
O relatório Provisão de Devedores Duvidosos (FINR645) demonstra os clientes e títulos que constituíram a provisão.
Parâmetros do relatório:
|
Expandir | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
A constituição de PDD e a reversão da constituição serão contabilizadas a partir dos lançamentos padrão:
|
03. PARÂMETROS
Nome da Variável | MV_PDDREF |
---|---|
Tipo | Caracter |
Descrição | Campo para considerar na regra do PDD: |
Valor Padrão | 1 |
Nome da Variável | MV_PDDRTNF |
---|---|
Tipo | Numérico |
Descrição | Indica se a rotina de PDD irá realizar o rateio por item da nota fiscal que gerou o título. |
Valor Padrão | 2 |
Nome da Variável | MV_PDDACRE |
---|---|
Tipo | Carácter |
Descrição | Selecione se o saldo liquido do PDD irá considerar o acréscimo e decréscimo do título. |
Valor Padrão | 1 |
04. PONTOS DE ENTRADA
- DT_F645TITF_Adiciona condição na query que filtra títulos
- DT_F645QYDT_Tratamento de datas para seleção de títulos
- DT_F645SITP_Preenche situação de Cobrança de PDD
- DT_F645LDFJ_Preenche os campos customizados na tabela FJZ
- DT_F645LDFW Preenche os campos customizados da tabela FWZ
- DT_F645ALTS_Permite alterar o campo FJZ_SITPDD
- DT_F645QYABT_Tratamento de datas para seleção de títulos no abatimento
- DT_F645QYCLI_Tratamento de datas para seleção de Clientes
05. TABELAS UTILIZADAS
Nome da Variável | MV_BAIXPDD |
---|---|
Tipo | Lógico |
Descrição | Indica se a rotina de PDD irá considerar também os títulos baixados em sua totalidade com atraso. Obs.: Este parâmetro será incorporado ao produto a partir do release 12.1.27. Havendo necessidade de uso é possível a inclusão do mesmo através do módulo configurador. |
Valor Padrão | .F. |
04. PONTOS DE ENTRADA
- DT_F645TITF_Adiciona condição na query que filtra títulos
- DT_F645QYDT_Tratamento de datas para seleção de títulos
- DT_F645SITP_Preenche situação de Cobrança de PDD
- DT_F645LDFJ_Preenche os campos customizados na tabela FJZ
- DT_F645LDFW Preenche os campos customizados da tabela FWZ
- DT_F645ALTS_Permite alterar o campo FJZ_SITPDD
- DT_F645QYABT_Tratamento de datas para seleção de títulos no abatimento
- DT_F645QYCLI_Tratamento de datas para seleção de Clientes
05. TABELAS UTILIZADAS
Chave | Nome | Modo | PYME |
---|---|---|---|
FJX | Processamento PDD | C | S |
FJY | Clientes em PDD | C | S |
FJZ | Títulos Provisicionados | C | S |
Chave | Nome | Modo | PYME |
FJX | Processamento PDD | C | S |
FJY | Clientes em PDD | C | S |
FJZ | Títulos Provisicionados | C | S |
FWZ | Rateio de Tìtulos PDD | C | S |
FRV | Situação de Cobrança | C | S |
06. EXECUÇÃO AUTOMÁTICA
- FINA645Para a correta execução automática da ExecAuto do rotina FINA645, é necessario necessário informar os parametros parâmetros da função conforme abaixo:
lAutomato = .T.
nOperation = Informar qual a operação deverá ser realizada.
- Constituição = 43
- Efetivação = 4
- Alteração = 47
- Reversão = 45
- Exclusão = 58
- Efetivação da Reversão = 46
aSitCob = Este array deverá receber quais são as Situações de Cobranças que devem ser tratadas para o filtro.
Ex.: Aadd(aSitCob, '0')
Aadd(aSitCob, '3')
Aadd(aSitCob, '4')
Aadd(aSitCob, '5')
Aadd(aSitCob, '6')
Aadd(aSitCob, '7')
cNroProc = Numero do Processo Gerado da tabela FJX.
aDdsAlt = Este array deverá receber qual quais as informações da chave que será pesquisada serão pesquisadas na tabela FJZ e quais as alterações que devem ser efetuadas. A variavel variável lGrvOk será utilizada para marcar ou desmarcar o titulotítulo, e a variavel variável cSitCob será usada para alteração da situação de cobrança.
Ex.: Aadd(aDdsChv, xFilial("FJZ") )
Aadd(aDdsChv, cNroProc )
Aadd(aDdsChv, cItemCliZ )
Aadd(aDdsChv, cItemZ )
Aadd(aDdsChv, cFilCliZ )
Aadd(aDdsChv, cPref )
Aadd(aDdsChv, cNum )
Aadd(aDdsChv, cParc )
Aadd(aDdsChv, cTipo )
lGrvOk := .F.
cSitCob := "2"
Aadd(aDdsAlt, { cSitCob, aDdsChv, lGrvOk } )
Execuções implementadas | Parâmetros a serem preenchidos |
---|---|
Constituição | FINA645(lAutomato, nOperation, aSitCob ) |
Efetivação | FINA645(lAutomato, nOperation, aSitCob, cNroProc ) |
Alteração | FINA645(lAutomato, nOperation, aSitCob, cNroProc ) |
Reversão | FINA645(lAutomato, nOperation, aSitCob, cNroProc ) |
Efetivação da Reversão | FINA645(lAutomato, nOperation, , cNroProc, aDdsAlt ) |
Exclusão | FINA645(lAutomato, nOperation, , cNroProc ) |
Para a execução da Constituição deverá ser alimentado o Grupo de Perguntas e Respostas correspondente (FINA645C), conforme exemplo abaixo:
Grupo de Perguntas e Respostas - FINA645C | ||
---|---|---|
Data de Referência? | Data Referencia | MV_PAR01 |
Número de dias de atraso? | Qtde de dias para atraso | MV_PAR02 |
Transferir para Provisão? | 1 = Sim ou 2 = Não | MV_PAR03 |
Cliente De? | Código do Cliente De | MV_PAR04 |
Loja do Cliente De? | Loja do Cliente De | MV_PAR05 |
Cliente Ate? | Código do Cliente Ate | MV_PAR06 |
Loja do Cliente Ate? | Loja do Cliente Ate | MV_PAR07 |
Emissão De? | Data da Emissão do Título De | MV_PAR08 |
Emissão Ate? | Data da Emissão do Título Ate | MV_PAR09 |
Seleciona Filial? | 1 = Sim ou 2 = Não | MV_PAR10 |
Situação de Cobrança PDD? | Informe a situação da cobrança | MV_PAR11 |
Seleciona Sit. de Cobrança? | 1 = Sim ou 2 = Não | MV_PAR12 |
Considera Negociados? | 1 = Sim ou 2 = Não | MV_PAR13 |
Para a execução da Efetivação, Efetivação da Reversão e Alteração deverá ser alimentado informado o Grupo de Perguntas e Respostas correspondente (FINA645D), conforme exemplo abaixo:
Grupo de Perguntas e Respostas - FINA645D | ||
---|---|---|
Mostra Lançamento? | 1 = Sim ou 2 = Não | MV_PAR01 |
Aglutina Lançamento? | 1 = Sim ou 2 = Não | MV_PAR02 |
Considera movimento posterior geração do processo? | 1 = Sim ou 2 = Não | MV_PAR03 |
Para a execução da Reversão deverá ser alimentado o informado Grupo de Perguntas e Respostas correspondente (FINA645E), conforme exemplo abaixo:
Grupo de Perguntas e Respostas - FINA645E | ||
---|---|---|
Reverter Provisão? | 1 = Todos / 2 = Titulos Baixados / 3 = Abertos | MV_PAR01 |
Cliente De? | Código do Cliente De | MV_PAR02 |
Loja do Cliente De? | Loja do Cliente De | MV_PAR03 |
Cliente Ate? | Código do Cliente Ate | MV_PAR04 |
Loja do Cliente Ate? | Loja do Cliente Ate | MV_PAR05 |
Seleciona Filial? | 1 = Sim ou 2 = Não | MV_PAR06 |
Data de Refenrencia | Data Referencia | MV_PAR07 |
Emissão De? | Data da Emissão do Título De | MV_PAR08 |
Emissão Ate? | Data da Emissão do Título Ate | MV_PAR09 |
MV_PAR08 | ||
Emissão Ate? | Data da Emissão do Título Ate | MV_PAR09 |
07. EXEMPLO DE EXECUÇÃO AUTOMÁTICA
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "protheus.ch"
#include "topconn.ch"
#include "RWMAKE.CH"
#include "TBICONN.CH"
/*/{Protheus.doc} F645Const
Constituição PDD
@type function
@version 1.0
@author totvs
@return nil
/*/
User Function F645Const()
Local lAutomato := .T.
Local nOperation:= 3
Local aSitCob := {}
Private lMsErroAuto := .f.
Private lAutoErrNoFile := .T.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01"
//Situações de cobrança a serem filtradas
Aadd(aSitCob, '0')
Aadd(aSitCob, '3')
Aadd(aSitCob, '4')
Aadd(aSitCob, '5')
Aadd(aSitCob, '6')
Aadd(aSitCob, '7')
//Ajusta perguntas (F12)
Pergunte("FINA645C",.F.)
SetMVValue("FINA645C","MV_PAR01", DDATABASE ) // Data de Referencia ?
SetMVValue("FINA645C","MV_PAR02", 1 ) // Numero de dias de atraso ?
SetMVValue("FINA645C","MV_PAR03", 3 ) // Transferir para Provisao ?
SetMVValue("FINA645C","MV_PAR04", "PDD001" ) // Cliente De ?
SetMVValue("FINA645C","MV_PAR05", "01" ) // Loja do Cliente De ?
SetMVValue("FINA645C","MV_PAR06", "PDD001" ) // Cliente Ate ?
SetMVValue("FINA645C","MV_PAR07", "01" ) // Loja do Cliente Ate ?
SetMVValue("FINA645C","MV_PAR08", CTOD("01/01/2001") ) // Emissão De ?
SetMVValue("FINA645C","MV_PAR09", CTOD("31/12/2049") ) // Emissão Ate ?
SetMVValue("FINA645C","MV_PAR10", 2 ) // Seleciona Filial ? 1 = Sim 2 = Não
SetMVValue("FINA645C","MV_PAR11", "8" ) // Situação de Cobrança PDD ?
SetMVValue("FINA645C","MV_PAR12", 2 ) // Seleciona Sit. de Cobrança ? 1 = Sim 2 = Não
SetMVValue("FINA645C","MV_PAR13", 2 ) // Considera Negociados ? 1 = Sim 2 = Não
//Constituição
MSExecAuto({|a,b,c| FINA645(a,b,c)}, lAutomato, nOperation, aSitCob )
If !lMsErroAuto
conout("sucesso! ")
Else
conout("Erro!")
mostraErro()
EndIf
Return |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "protheus.ch"
#include "topconn.ch"
#include "RWMAKE.CH"
#include "TBICONN.CH"
/*/{Protheus.doc} F645EfeCon
Efetiva Constituição PDD
@type function
@version 1.0
@author totvs
@return nil
/*/
User Function F645EfeCon()
Local lAutomato := .T.
Local nOperation:= 4
Local aSitCob := {}
Local cNroProc := "000010"
Private lMsErroAuto := .f.
Private lAutoErrNoFile := .T.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01"
//Ajusta perguntas (F12)
Pergunte("FINA645D",.F.)
SetMVValue("FINA645D","MV_PAR01", 2 ) // Mostra Lançamento ?
SetMVValue("FINA645D","MV_PAR02", 2 ) // Aglutina Lançamento ?
SetMVValue("FINA645D","MV_PAR03", 2 ) // Considera movimento posterior geração do processo ?
//Efetivação
MSExecAuto({|a,b,c,d| FINA645(a,b,c,d)}, lAutomato, nOperation, aSitCob, cNroProc )
If !lMsErroAuto
conout("sucesso! ")
Else
conout("Erro!")
mostraErro()
EndIf
Return |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "protheus.ch"
#include "topconn.ch"
#include "RWMAKE.CH"
#include "TBICONN.CH"
/*/{Protheus.doc} F645Revers
Reversão da Constituição PDD
@type function
@version 1.0
@author totvs
@return nil
/*/
User Function F645Revers()
Local lAutomato := .T.
Local nOperation:= 5
Local aSitCob := {}
Local cNroProc := "000010"
Local dDtRef := CTOD("14/10/2021")
Private lMsErroAuto := .f.
Private lAutoErrNoFile := .T.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01"
//Ajusta perguntas (F12)
Pergunte("FINA645E",.F.)
SetMVValue("FINA645E","MV_PAR01", 1 ) // Reverter Provisão ? - 1 = Todos / 2 = Titulos Baixados / 3 = Abertos
SetMVValue("FINA645E","MV_PAR02", "PDD001" ) // Cliente De ?
SetMVValue("FINA645E","MV_PAR03", "01" ) // Loja do Cliente De ?
SetMVValue("FINA645E","MV_PAR04", "PDD001" ) // Cliente Ate ?
SetMVValue("FINA645E","MV_PAR05", "01" ) // Loja do Cliente Ate ?
SetMVValue("FINA645E","MV_PAR06", 2 ) // Seleciona Filial ? 1 = Sim 2 = Não
SetMVValue("FINA645E","MV_PAR07", dDtRef ) // Data de Refenrencia ?
SetMVValue("FINA645E","MV_PAR08", dDatabase ) // Emissão De ?
SetMVValue("FINA645E","MV_PAR09", dDatabase ) // Emissão Ate ?
//Reversão da Constituição
MSExecAuto({|a,b,c,d| FINA645(a,b,c,d)}, lAutomato, nOperation, aSitCob, cNroProc )
If !lMsErroAuto
conout("sucesso! ")
Else
conout("Erro!")
mostraErro()
EndIf
Return |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "protheus.ch"
#include "topconn.ch"
#include "RWMAKE.CH"
#include "TBICONN.CH"
/*/{Protheus.doc} F645EfetRev
Efetiva a Reversão da Constituição PDD
@type function
@version 1.0
@author totvs
@return nil
/*/
User Function F645EfetRev()
Local lAutomato := .T.
Local nOperation:= 6 //Efetiva Reversão
Local aSitCob := {}
Local cNroProc := "000010"
Private lMsErroAuto := .f.
Private lAutoErrNoFile := .T.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01"
//Ajusta perguntas (F12)
Pergunte("FINA645D",.F.)
SetMVValue("FINA645D","MV_PAR01", 2 ) // Mostra Lançamento ?
SetMVValue("FINA645D","MV_PAR02", 2 ) // Aglutina Lançamento ?
SetMVValue("FINA645D","MV_PAR03", 2 ) // Considera movimento posterior geração do processo ?
//Efetivação
MSExecAuto({|a,b,c,d| FINA645(a,b,c,d)}, lAutomato, nOperation, aSitCob, cNroProc )
If !lMsErroAuto
conout("sucesso! ")
Else
conout("Erro!")
mostraErro()
EndIf
Return | ||||||||
HTML | ||||||||
<!-- esconder o menu -->
<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;
}
</style>
|