Closed oiacrasec closed 5 years ago
Sim, para o arquivo retorno apenas alguns bancos tem o layout implementado.
Poderia por favor me mostrar um exemplo de leitura do arquivo .rem? Vou iniciar um projeto em breve para ler, aí eu poderia até ajudar subindo os bancos que não possui layout implementado.
Forma mais simples:
from cnab240.tipos import Arquivo
from cnab240.bancos import sicoob
with open(path_retorno, 'r', encoding='cp1252') as arq:
arquivo = Arquivo(sicoob, arquivo=arq)
Agora é só manipular, a lib tem muita facilidade para se trabalhar, tem muita coisa legal, mais falta documentação, nada que lendo os testes implementados e um pouco de paciência lendo o fonte não resolva.
Boa tarde! Testei com exemplo que me passou, leu o arquivo direitinho, eu só estou em dúvidas agora para ler um segmento, por exemplo, o segmento P.
Eu vi que existe o layout dentro de banco > registros. Como eu faria para ler o segmento P?
Não há necessidade, se você inteirar sobre o lote você tem acesso sobre todos os dados de todos os seguimentos, os segmentos ficam dentro do lote em um array que se eu não me engano se chama segmentos.
Abaixo segue um exemplo de uma forma de leitura:
from cnab240.tipos import Arquivo from cnab240.bancos import sicoob
with open(path_retorno, 'r', encoding='cp1252') as arq: arquivo = Arquivo(sicoob, arquivo=arq)
for lote in arquivo.lotes:
for evento in lote.eventos:
# Evento 6 é Liquidação
if evento.servico_codigo_movimento == 6:
nosso_numero = evento.numero_documento
juros = evento.titulo_acrescimos
desconto = evento.titulo_desconto
valor_pago = evento.titulo_pago
data_pagamento = evento.data_ocorrencia
print(f'nosso numero: {nosso_numero}, data: {data_pagamento}, valor: {valor_pago}, juros: {juros}')
Desconfio que meu arquivo está com problemas, o array de evento está vazio, posso enviar um e-mail com um arquivo .rem só para eu ter essa certeza (do BB)? Se puder me passar seu e-mail agradeceria, obrigado!
Bom dia! Não era problema em meu arquivo remessa, o segmento P e Q que irei utilizar não estava implementado na classe Arquivo, adicionei e leu certinho.
Ler remessa consegui, mais agora como faço para gerar a remessa????
A lib contempla leitura de um arquivo cnab?