Produto: TOTVS Gestão Financeira Versão: 11.40 |
Processo de Negocio: Preenchimento da forma de lançamento (posições 12 e 13 do Header de Lote) no arquivo de Remessa de Pagamento Processo do Sistema: Integração Bancária – Remessa |
Subprocesso: Pagamento Eletrônico |
Sintoma Normalmente, os arquivos de remessa de pagamento são estruturados por lotes, com os registros de uma mesma forma de lançamento agrupados neste lote. Para que essa forma de lançamento seja devidamente enviada para o arquivo, é utilizada uma fórmula que verifica a forma de pagamento informada no Lançamento (campo FLAN.IDPGTO), a respectiva constante é obtida e então o código da forma de pagamento é enviado para o arquivo. |
Causas
Se em um mesmo arquivo de remessa forem enviados DOC’s e TED’s, por exemplo, cada Header de Lote terá uma informação nas posições referentes à forma de pagamento. É criado um lote com todos os DOC’s, este lote é finalizado e outro lote é gerado com os TED’s. Independente da informação definida no relatório, o valor das posições 12 e 13 serão obtidos através de uma fórmula. |
Solução
Deve-se utilizar uma fórmula para que de acordo com cada forma de pagamento, a forma de lançamento do Lote seja preenchida. Esta fórmula deve ser associada na linha Detalhe do relatório, nas posições 241 a 242 no Padrão FEBRABAN CNAB 240. Ela irá enviar a informação para o Header de Lote, de acordo com a forma de pagamento dos lançamentos envolvidos na remessa. Independente do que for definido no relatório nestas posições o resultado da fórmula irá sobrepor as informações e prevalecerá na geração do arquivo. Segue o conteúdo da fórmula de exemplo: Decl FormaPagto; Decl BancoCodBarras; Setvar(FormaPagto, TABDADOSPGTO('FORMAPAGAMENTO', 'S')); Setvar(BancoCodBarras, SUBSTR(TABLAN ('CODIGOBARRA' , 'S'),1,3)); Se FormaPagto='D' Entao '03' Senao Se FormaPagto='T' Entao '01' Senao Se FormaPagto='C' Entao '02' Senao Se FormaPagto='N' Entao '11' Senao Se FormaPagto='P' Entao '05' Senao Se FormaPagto='R' Entao '10' Senao Se FormaPagto='A' Entao '18' Senao Se FormaPagto='G' Entao '17' Senao Se FormaPagto='Y' ou FormaPagto='Z' Entao '41' Senao Se FormaPagto='I' Entao Se BancoCodBarras=PARMQRY("NumBanco") Entao '30' Senao '31' FimSe Senao '00' FimSe FimSe A fórmula acima é apenas um exemplo. De acordo com a definição de cada banco ela pode variar. Por isso, é muito importante conferir o manual fornecido pela instituição bancária, validando as informações contidas na fórmula. |
Informações Adicionais
- A Fórmula em questão precisa ser inserida em todas as LD’s do relatório utilizado na geração da remessa. - As posições 12 e 13 do Header de Lote não precisam ter informações fixadas para que a fórmula envie para lá a respectiva forma de pagamento. |