- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Retorno de CNAB com decréscimo
×
Linguagem de Programação ADVPL
Perguntas Retorno de CNAB com decréscimo
- Hboleta
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
11 anos 9 meses atrás #9705
por Hboleta
Retorno de CNAB com decréscimo foi criado por Hboleta
Pessoal, quando baixo um título com decréscimo manualmente, ele fica como completamente baixado. Mas se baixo o título com decréscimo pelo CNAB, ele fica baixado parcialmente. No CNAB, o valor recebido está o líquido (sem decréscimos). O campo E1_SALDO fica sempre igual ao campo E1_SDDECRE depois da baixa. No retorno de CNAB só tenho a informação do valor recebido. Como não sabia por onde começar,peguei o PE que postei
nesse link
e modifiquei:
#include "rwmake.ch"
User Function F200VAR()
Local aValores := PARAMIXB[01]
// aValores := ({cNumTit, dBaixa, cTipo, cNsNum, nDespes, nDescont, nAbatim, nValRec, nJuros, nMulta, nOutrDesp, nValCc, dDataCred, cOcorr, cMotBan, xBuffer,dDtVc,{}})
Local aArea := GetArea()
Local cNNum := aValores[04] /// Captura do Nosso Numero
// Posiciona no Registro do Titulo com Base no Nosso Numero
// Novo Indice Criado E1_FILIAL + E1_NUMBCO
// Colocar o Numero da Ordem do Indice Criado na Tabela SE1, a ordem dele eh 27
If !Empty(cNNum)
If SE1->(dbOrderNickName('NSNUM'), dbSeek(xFilial("SE1")+cNNum))
cNumTit := SE1->E1_PREFIXO + SE1->E1_NUM + SE1->E1_PARCELA
//abate saldo de decréscimo
nAbatim += SE1->E1_SDDECRE
Return
Endif
Endif
RestArea(aArea)
Return
Mas não funcionou corretamente. Não sei se a variável nAbatim deveria realmente receber o saldo de decréscimo, ou se isso deveria ser passado em alguma outra variável, a qual eu teria acesso por algum outro PE.
#include "rwmake.ch"
User Function F200VAR()
Local aValores := PARAMIXB[01]
// aValores := ({cNumTit, dBaixa, cTipo, cNsNum, nDespes, nDescont, nAbatim, nValRec, nJuros, nMulta, nOutrDesp, nValCc, dDataCred, cOcorr, cMotBan, xBuffer,dDtVc,{}})
Local aArea := GetArea()
Local cNNum := aValores[04] /// Captura do Nosso Numero
// Posiciona no Registro do Titulo com Base no Nosso Numero
// Novo Indice Criado E1_FILIAL + E1_NUMBCO
// Colocar o Numero da Ordem do Indice Criado na Tabela SE1, a ordem dele eh 27
If !Empty(cNNum)
If SE1->(dbOrderNickName('NSNUM'), dbSeek(xFilial("SE1")+cNNum))
cNumTit := SE1->E1_PREFIXO + SE1->E1_NUM + SE1->E1_PARCELA
//abate saldo de decréscimo
nAbatim += SE1->E1_SDDECRE
Return
Endif
Endif
RestArea(aArea)
Return
Mas não funcionou corretamente. Não sei se a variável nAbatim deveria realmente receber o saldo de decréscimo, ou se isso deveria ser passado em alguma outra variável, a qual eu teria acesso por algum outro PE.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #9715
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Retorno de CNAB com decréscimo
Hugo o ponto de entrada está certo, agora uma pergunta, houve desconto no titulo porém só foi informado no protheus é isso ?, o valor do desconto não foi informado no banco ? o cliente pagou o valor integral ?
Não estou entendendo.
Não estou entendendo.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Hboleta
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
11 anos 9 meses atrás - 11 anos 9 meses atrás #9724
por Hboleta
Respondido por Hboleta no tópico Re: Retorno de CNAB com decréscimo
Luiz, obrigado pela resposta.
O título foi gerado em um sistema, depois foi migrado para o Protheus via webservice. A remessa foi enviada por esse sistema de origem, com o valor líquido do título (sem a informação de um decréscimo que há no processo do cliente, mas não pode ser contabilizado como desconto).
No Protheus, tenho o valor do título como sendo o valor total. Esse decréscimo e os descontos normais, nos seus campos correspondentes. Tenho o campo que guarda o valor do decréscimo, e o campo que guarda o saldo do decréscimo (o valor desse campo de saldo de decréscimo também está incluso no E1_SALDO). Quando faço a baixa manual, o campo E1_SALDO e o campo E1_SDDECRE ficam zerados. Quando faço a baixa por retorno de CNAB, como ele só tem a informação do valor sem o decréscimo, a baixa no Protheus fica como parcial.
O que estou tentando fazer, é na baixa por CNAB, zerar o valor dos campos E1_SALDO e E1_SDDECRE pra que o título fique baixado por completo.
O título foi gerado em um sistema, depois foi migrado para o Protheus via webservice. A remessa foi enviada por esse sistema de origem, com o valor líquido do título (sem a informação de um decréscimo que há no processo do cliente, mas não pode ser contabilizado como desconto).
No Protheus, tenho o valor do título como sendo o valor total. Esse decréscimo e os descontos normais, nos seus campos correspondentes. Tenho o campo que guarda o valor do decréscimo, e o campo que guarda o saldo do decréscimo (o valor desse campo de saldo de decréscimo também está incluso no E1_SALDO). Quando faço a baixa manual, o campo E1_SALDO e o campo E1_SDDECRE ficam zerados. Quando faço a baixa por retorno de CNAB, como ele só tem a informação do valor sem o decréscimo, a baixa no Protheus fica como parcial.
O que estou tentando fazer, é na baixa por CNAB, zerar o valor dos campos E1_SALDO e E1_SDDECRE pra que o título fique baixado por completo.
Ultima edição: 11 anos 9 meses atrás por Hboleta.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #9727
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Retorno de CNAB com decréscimo
Hugo no ponto de entrada F200VAR o titulo está sendo posicionado corretamente ?
Se sim, tente alimentar então a variável nDescont
nDescont += SE1->E1_SDDECRE
e veja se baixa o titulo.
Se sim, tente alimentar então a variável nDescont
nDescont += SE1->E1_SDDECRE
e veja se baixa o titulo.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11024
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Retorno de CNAB com decréscimo
Hugo boa noite, estou passando o mesmo problema que você em um cliente, estou tentando fazer a baixa de um titulo via cnab com decrescimo e o sistema deixa o saldo como parcial:
Exemplo: TItulo 123
Valor Original R$ 90,00
Valor Com Decrescimo R$ 1,00
No arquivo do banco vem como valor recebido R$ 1,00
No Protheus o campo Decrescimo e Saldo decrescimo está com R$ 89,00
sendo assim deveria baixar o titulo completamente, porém após processar o cnab o titulo é baixado porém com um saldo de R$ 89,00 e o campo saldo do decrescimo é zerado.
Você conseguiu resolver este problema ?
Obrigado.
Exemplo: TItulo 123
Valor Original R$ 90,00
Valor Com Decrescimo R$ 1,00
No arquivo do banco vem como valor recebido R$ 1,00
No Protheus o campo Decrescimo e Saldo decrescimo está com R$ 89,00
sendo assim deveria baixar o titulo completamente, porém após processar o cnab o titulo é baixado porém com um saldo de R$ 89,00 e o campo saldo do decrescimo é zerado.
Você conseguiu resolver este problema ?
Obrigado.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Hboleta
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11029
por Hboleta
Respondido por Hboleta no tópico Re: Retorno de CNAB com decréscimo
Bom dia Luiz,
Tbm entendo que no padrão se no layout do retorno no configurador, a varíável de abatimento está com as posições certas, e no arquivo de retorno do banco, essas posições tem os R$89,00, o arquivo deveria baixar por completo, ao invés da baixa parcial. No meu caso eu não tinha essa informação dos 89,00 no arquivo de retorno do banco, então tratei no mesmo ponto de entrada:
#include "rwmake.ch"
User Function F200VAR()
/*BEGINDOC
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ”šM”šM$¿
//³F200VAR() de 05/12/2012 ³
//³ 18/01/2012 - Baixa decréscimo ³
//³Ponto de entrada para baixa de titulos de cobranca nao registrada e titulos cuja remessa de CNAB nao foi enviada pelo Protheus.³
//³Baixa os titulos com base no numero do banco (E1_NUMBCO). ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Ù
ENDDOC*/
Local aValores := PARAMIXB[01]
// aValores := ({cNumTit, dBaixa, cTipo, cNsNum, nDespes, nDescont, nAbatim, nValRec, nJuros, nMulta, nOutrDesp, nValCc, dDataCred, cOcorr, cMotBan, xBuffer,dDtVc,{}})
Local aArea := GetArea()
Local cNNum := aValores[04] /// Captura do Nosso Numero
// Posiciona no Registro do Titulo com Base no Nosso Numero
// Novo Indice Criado E1_FILIAL + E1_NUMBCO
Local nDifere :=0
Local nDesc :=0
Local nSubtrai :=0
If cFilAnt <> "04" .And. cFilAnt <> "11" .And. cFilAnt <> "14"
If !Empty(cNNum)
If SE1->(DBOrderNickName("NSNUM"), dbSeek(xFilial("SE1")+cNNum))
cNumTit := SE1->E1_PREFIXO + SE1->E1_NUM + SE1->E1_PARCELA
//Baixa decréscimo
nAbatim += SE1->E1_SDDECRE
nDesc := nDescont + nAbatim
nSubtrai := nValRec + nDesc
nDifere := SE1->E1_SALDO - nSubtrai
//Ignora diferencas de ate 1,00 entre o valor recebido e o valor a receber
If nDifere > 0 .And. nDifere <= 1
nDescont += nDifere
Endif
Return
Endif
Endif
Endif
RestArea(aArea)
Return
Comentários:
***Precisei tratar pra que o título fosse baixado, quando o valor recebido fosse até R$ 1,00 menor do que o valor esperado (considerei como desconto).
*** Só colocar pra alimentar a variável nAbatim resolveu o problema, mas esse valor do saldo de decréscimo, acaba indo também pro campo de desconto do título quando ele é completamente baixado. No cliente em que eu estava o decréscimo não podia ser tratado como desconto. Por isso, depois, no lançamento padrão, na linha que contabilizou os descontos, precisei colocar pra que fizesse o valor do desconto menos o campo Decréscimo (que ao contrário do saldo decréscimo, não vai ser zerado). E depois criei outra linha no LP só pra contabilizar o valor do decréscimo, separado.
Tbm entendo que no padrão se no layout do retorno no configurador, a varíável de abatimento está com as posições certas, e no arquivo de retorno do banco, essas posições tem os R$89,00, o arquivo deveria baixar por completo, ao invés da baixa parcial. No meu caso eu não tinha essa informação dos 89,00 no arquivo de retorno do banco, então tratei no mesmo ponto de entrada:
#include "rwmake.ch"
User Function F200VAR()
/*BEGINDOC
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ”šM”šM$¿
//³F200VAR() de 05/12/2012 ³
//³ 18/01/2012 - Baixa decréscimo ³
//³Ponto de entrada para baixa de titulos de cobranca nao registrada e titulos cuja remessa de CNAB nao foi enviada pelo Protheus.³
//³Baixa os titulos com base no numero do banco (E1_NUMBCO). ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Ù
ENDDOC*/
Local aValores := PARAMIXB[01]
// aValores := ({cNumTit, dBaixa, cTipo, cNsNum, nDespes, nDescont, nAbatim, nValRec, nJuros, nMulta, nOutrDesp, nValCc, dDataCred, cOcorr, cMotBan, xBuffer,dDtVc,{}})
Local aArea := GetArea()
Local cNNum := aValores[04] /// Captura do Nosso Numero
// Posiciona no Registro do Titulo com Base no Nosso Numero
// Novo Indice Criado E1_FILIAL + E1_NUMBCO
Local nDifere :=0
Local nDesc :=0
Local nSubtrai :=0
If cFilAnt <> "04" .And. cFilAnt <> "11" .And. cFilAnt <> "14"
If !Empty(cNNum)
If SE1->(DBOrderNickName("NSNUM"), dbSeek(xFilial("SE1")+cNNum))
cNumTit := SE1->E1_PREFIXO + SE1->E1_NUM + SE1->E1_PARCELA
//Baixa decréscimo
nAbatim += SE1->E1_SDDECRE
nDesc := nDescont + nAbatim
nSubtrai := nValRec + nDesc
nDifere := SE1->E1_SALDO - nSubtrai
//Ignora diferencas de ate 1,00 entre o valor recebido e o valor a receber
If nDifere > 0 .And. nDifere <= 1
nDescont += nDifere
Endif
Return
Endif
Endif
Endif
RestArea(aArea)
Return
Comentários:
***Precisei tratar pra que o título fosse baixado, quando o valor recebido fosse até R$ 1,00 menor do que o valor esperado (considerei como desconto).
*** Só colocar pra alimentar a variável nAbatim resolveu o problema, mas esse valor do saldo de decréscimo, acaba indo também pro campo de desconto do título quando ele é completamente baixado. No cliente em que eu estava o decréscimo não podia ser tratado como desconto. Por isso, depois, no lançamento padrão, na linha que contabilizou os descontos, precisei colocar pra que fizesse o valor do desconto menos o campo Decréscimo (que ao contrário do saldo decréscimo, não vai ser zerado). E depois criei outra linha no LP só pra contabilizar o valor do decréscimo, separado.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Retorno de CNAB com decréscimo
Tempo para a criação da página:0.128 segundos