-
Total de ítens
15 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Marcos Leonardo Martins postou
-
Limite de Dígitos - Caixa Econômica Federal
um tópico no fórum postou Marcos Leonardo Martins ACBrBoleto
Boa tarde, Hoje ao tentar ler um retorno da Caixa Federal, obtive o seguinte erro: Agencia\Conta do arquivo inválido Verifiquei o arquivo ACBrBancoCaixa.pas e pude ver que a variável rAgencia pega o número da agência do arquivo, com 5 dígitos. Porém, no ACBrBoleto.pas, o tamanho máximo de agência está limitado a 4. Isso ocasiona o erro, pois nessa caso, a agência é 04025 e o componente lê 4025. Tem como mudar ou é um bug mesmo ? Abaixo os códigos: constructor TACBrBancoClass.create(AOwner: TACBrBanco); begin inherited create; fpAOwner := AOwner; fpDigito := 0; fpNome := 'Não definido'; fpNumero := 0; fpTamanhoMaximoNossoNum := 10; fpTamanhoAgencia := 4; fpTamanhoConta := 10; fpCodigosMoraAceitos := '12'; fpCodigosGeracaoAceitos := '0123456789'; fpModulo := TACBrCalcDigito.Create; fpOrientacoesBanco := TStringList.Create; end; if (not LeCedenteRetorno) and ((rAgencia <> OnlyNumber(Cedente.Agencia)) or (rConta+rDigitoConta <> OnlyNumber(Cedente.CodigoCedente))) then raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido')); -
Erro ao Ler Retorno do Banco do Brasil - CNAB400
um tópico no fórum postou Marcos Leonardo Martins ACBrBoleto
Boa tarde ! Estou tendo um problema com a leitura de retornos do Banco do Brasil, usando o layout CNAB 400. Alguns registros do arquivo de retorno estão vindo com o comando 03, que de acordo com o manual do banco é COMANDO RECUSADO. Ao ler o retorno, estou usando a propriedade Titulo.OcorrenciaOriginal.Descricao para pegar a descrição do comando, porém, mesmo sendo 03, volta como 02 - Entrada Confirmada. Vasculhando o arquivo ACBRBancoBrasil.pas, verifiquei que o problema parece ser em duas funções: function TACBrBancoBrasil.CodOcorrenciaToTipo(const CodOcorrencia: Integer ) : TACBrTipoOcorrencia; begin Result := toTipoOcorrenciaNenhum; if (ACBrBanco.ACBrBoleto.LayoutRemessa = c240) then begin case CodOcorrencia of 03: Result := toRetornoRegistroRecusado; 04: Result := toRetornoTransferenciaCarteiraEntrada; 05: Result := toRetornoTransferenciaCarteiraBaixa; 15: Result := toRetornoBaixadoFrancoPagamento; 17: Result := toRetornoLiquidadoSemRegistro; 20: Result := toRetornoRecebimentoInstrucaoSustarProtesto; 24: Result := toRetornoRetiradoDeCartorio; 25: Result := toRetornoBaixaPorProtesto; 26: Result := toRetornoInstrucaoRejeitada; 27: Result := toRetornoAlteracaoUsoCedente; 28: Result := toRetornoDebitoTarifas; 29: Result := toRetornoOcorrenciasDoSacado; 30: Result := toRetornoAlteracaoDadosRejeitados; 50: Result := toRetornoChequePendenteCompensacao; end; end else begin case CodOcorrencia of 03: Result := toRetornoComandoRecusado; 05: Result := toRetornoLiquidadoSemRegistro; 07: Result := toRetornoLiquidadoPorConta; 08: Result := toRetornoLiquidadoSaldoRestante; 10: Result := toRetornoBaixaSolicitada; 15: Result := toRetornoLiquidadoEmCartorio; 16: Result := toRetornoConfirmacaoAlteracaoJurosMora; 20: Result := toRetornoDebitoEmConta; 21: Result := toRetornoNomeSacadoAlterado; 22: Result := toRetornoEnderecoSacadoAlterado; 24: Result := toRetornoProtestoSustado; 25: Result := toRetornoJurosDispensados; 28: Result := toRetornoManutencaoTituloVencido; 31: Result := toRetornoDescontoConcedido; 32: Result := toRetornoDescontoCancelado; 33: Result := toRetornoDescontoRetificado; 34: Result := toRetornoAlterarDataDesconto; 35: Result := toRetornoRecebimentoInstrucaoAlterarJuros; 36: Result := toRetornoRecebimentoInstrucaoDispensarJuros; 37: Result := toRetornoDispensarIndexador; 38: Result := toRetornoDispensarPrazoLimiteRecebimento; 39: Result := toRetornoAlterarPrazoLimiteRecebimento; 46: Result := toRetornoChequePendenteCompensacao; 72: Result := toRetornoTipoCobrancaAlterado; 96: Result := toRetornoDespesasProtesto; 97: Result := toRetornoProtestoSustado; 98: Result := toRetornoDebitoCustasAntecipadas; end; end; if (Result <> toTipoOcorrenciaNenhum) then Exit; case CodOcorrencia of 02: Result := toRetornoRegistroConfirmado; 06: Result := toRetornoLiquidado; 09: Result := toRetornoBaixaAutomatica; 11: Result := toRetornoTituloEmSer; 12: Result := toRetornoAbatimentoConcedido; 13: Result := toRetornoAbatimentoCancelado; 14: Result := toRetornoVencimentoAlterado; 19: Result := toRetornoRecebimentoInstrucaoProtestar; 23: Result := toRetornoEntradaEmCartorio; 44: Result := toRetornoChequeDevolvido; else Result := toRetornoOutrasOcorrencias; end; end; Nessa função, ao ler as posições 109 a 110 do arquivo de retorno, o ACBr atribui o tipo toRetornoComandoRecusado quando o conteúdo é 03. Até aí tudo bem...o problema vem na outra função: function TACBrBancoBrasil.TipoOCorrenciaToCod ( const TipoOcorrencia: TACBrTipoOcorrencia ) : String; begin Result := ''; if (ACBrBanco.ACBrBoleto.LayoutRemessa = c240) then begin case TipoOcorrencia of toRetornoTransferenciaCarteiraEntrada : Result := '04'; toRetornoTransferenciaCarteiraBaixa : Result := '05'; toRetornoBaixaAutomatica : Result := '09'; toRetornoBaixadoFrancoPagamento : Result := '15'; toRetornoLiquidadoSemRegistro : Result := '17'; toRetornoRecebimentoInstrucaoSustarProtesto : Result := '20'; toRetornoRetiradoDeCartorio : Result := '24'; toRetornoBaixaPorProtesto : Result := '25'; toRetornoInstrucaoRejeitada : Result := '26'; toRetornoAlteracaoUsoCedente : Result := '27'; toRetornoDebitoTarifas : Result := '28'; toRetornoOcorrenciasDoSacado : Result := '29'; toRetornoAlteracaoDadosRejeitados : Result := '30'; toRetornoChequePendenteCompensacao : Result := '50'; end; end else begin case TipoOcorrencia of toRetornoLiquidadoSemRegistro : Result := '05'; toRetornoLiquidadoPorConta : Result := '08'; toRetornoLiquidadoSaldoRestante : Result := '08'; toRetornoBaixaSolicitada : Result := '10'; toRetornoLiquidadoEmCartorio : Result := '15'; toRetornoConfirmacaoAlteracaoJurosMora : Result := '16'; toRetornoDebitoEmConta : Result := '20'; toRetornoNomeSacadoAlterado : Result := '21'; toRetornoEnderecoSacadoAlterado : Result := '22'; toRetornoProtestoSustado : Result := '24'; toRetornoJurosDispensados : Result := '25'; toRetornoManutencaoTituloVencido : Result := '28'; toRetornoDescontoConcedido : Result := '31'; toRetornoDescontoCancelado : Result := '32'; toRetornoDescontoRetificado : Result := '33'; toRetornoAlterarDataDesconto : Result := '34'; toRetornoRecebimentoInstrucaoAlterarJuros : Result := '35'; toRetornoRecebimentoInstrucaoDispensarJuros : Result := '36'; toRetornoDispensarIndexador : Result := '37'; toRetornoDispensarPrazoLimiteRecebimento : Result := '38'; toRetornoAlterarPrazoLimiteRecebimento : Result := '39'; toRetornoChequePendenteCompensacao : Result := '46'; toRetornoTipoCobrancaAlterado : Result := '72'; toRetornoDespesasProtesto : Result := '96'; toRetornoDespesasSustacaoProtesto : Result := '97'; toRetornoDebitoCustasAntecipadas : Result := '98'; end; end; if (Result <> '') then Exit; case TipoOcorrencia of toRetornoRegistroConfirmado : Result := '02'; toRetornoRegistroRecusado : Result := '03'; toRetornoLiquidado : Result := '06'; toRetornoTituloEmSer : Result := '11'; toRetornoAbatimentoConcedido : Result := '12'; toRetornoAbatimentoCancelado : Result := '13'; toRetornoVencimentoAlterado : Result := '14'; toRetornoRecebimentoInstrucaoProtestar : Result := '19'; toRetornoEntradaEmCartorio : Result := '23'; toRetornoChequeDevolvido : Result := '44'; else Result := '02'; end; end; Nessa função, o ACBr não está jogando '03' para quando for toRetornoComandoRecusado e sim quando for toRetornoRegistroRecusado. Porém, verificando o ACBRBancoBrasil.pas, toRetornoRegistroRecusado só existe no layout CNAB240. Gostaria que isso fosse verificado, por favor, para ver se é bug mesmo ou algum outro problema. Obrigado.- 4 replies
-
- retorno
- bancodobrasil
-
(e 1 mais)
Tags:
-
Erro ao Validar CNAB 400 - Banco do Brasil
Marcos Leonardo Martins replied to Marcos Leonardo Martins's tópico in ACBrBoleto
Alguém ?- 1 reply
-
- remessa
- bancodobrasil
-
(e 2 mais)
Tags:
-
Erro ao Validar CNAB 400 - Banco do Brasil
um tópico no fórum postou Marcos Leonardo Martins ACBrBoleto
Bom dia ! Estou passando por um problema estranho. Tenho um cliente que passou a reclamar que suas remessas estavam dando erro de COMANDO RECUSADO ao receber o retorno. Porém, nada foi alterado na aplicação que gera as remessas. Eu resolvi pegar os dados do cliente e gerei através do Demo do ACBr boleto uma remessa e validei no www.bb.com.br/leiautes, sob orientação do 0800 729 0500, que é a central BB. Os dados que usei e o erro que dá estão anexados. É bem estranho, visto que não foi alterado nada na aplicação. Obrigado- 1 reply
-
- remessa
- bancodobrasil
-
(e 2 mais)
Tags:
-
Daniel, fiz os testes aqui e deu certo. Vou atualizar no cliente na parte da tarde. Agradeço a atenção e disponibilidade. Abraço
-
Boa tarde, Daniel Realizei um Update dos fontes hoje pela manhã. O passo a passo no Demo foi bem simples: utilizei todas as opções que vem sugeridas AbreCupom: Teste|Teste VendeItem: (3 vezes) Código: 111222333 Descrição: "TESTE DE PRODUTO" Qtd: 1 PrecoUnitario: 1 Unidade: UN SubTotalizaCupom: 0 EfetuaPagamento: 3 FechaCupom: "Componentes ACBr|http://acbr.sourceforge.net"
-
Erro no ACBrECF.FechaCupom() - 0204 - Campos em falta
um tópico no fórum postou Marcos Leonardo Martins ACBrSerial
Boa tarde, Atualizei o sistema em um cliente e comecei a obter esse erro ao passar informações para o comando FechaCupom. Fazendo testes, se eu passo FechaCupom() sem nenhum parâmetro, tenho a impressão correta, sem erros. Mas se eu coloco um texto qualquer, por exemplo, FechaCupom('Ola Mundo'), tenho o erro 0204 - Campos em falta. Após testar minha aplicação, executei o mesmo teste com o ABCrECFDemo e obtive o mesmo erro. A impressora usada no cliente e nos testes é uma EPSON TM-81 Alguém passa ou passou por algo parecido ? -
acbrmail Acbrmail - Autenticação do Servidor de Email
Marcos Leonardo Martins replied to JrClemente's tópico in ACBrTCP
No Yahoo vc acessa o email e vai em Minha Conta, lá tem essa opção. -
Erro ao transmitir a nota - NfeRetAutorizacao
um tópico no fórum postou Marcos Leonardo Martins NFC-e - Nota Fiscal do Consumidor Eletrônica
Realizei o Update na pasta do ACBR hoje e compilei o sistema para um cliente. Desde então não consigo emitir a nota e está dando esse erro: -
Erro - Violates Enumeration Constraint
Marcos Leonardo Martins replied to Marcos Leonardo Martins's tópico in ACBrNFe
Encontrei o problema. O escritório fez o favor de passar um CFOP que não existe. O 6405. Resolvido -
Esse erro começou do nada, porém ao que me parece está tudo OK. Me dá essa rejeição: Falha na validação dos dados da nota 399 '6405' violates enumeration constraint of '1101 1102 1111 1113 1116 1117 1118 1120 1121 1122 1124 1125 1126 1151 1152 1153 1154 1201 1202 1203 1204 1205 1206 1207...'. (11:11:01) the element '{http://www.portalfiscal.inf.br/nfe}CFOP'with value '6405' failed to parse. Segue em anexo o XML: teste.xml teste.xml
-
Impressão De Imagem Descalibrada - Argox 214 - Acbretq
um tópico no fórum postou Marcos Leonardo Martins ACBrSerial
Boa tarde, Estou realizando impressão de etiquetas para os Correios usando o ACBrETQ. Quando envio texto e código de barras apenas, a impressora para certinho na divisão de etiquetas da bobina. Ou seja, está totalmente calibrada. Mas, se eu enviar junto à essas informações uma imagem (necessita da impressão da chancela), a impressora perde isso. No momento que imprime a imagem, ela para imediatamente depois, não deixando na divisão da bobina. Alguém já viu algo parecido ? With ACBrETQ1 Do Begin //Imprime Imagem Pré-Carregada ImprimirImagem(11,1100,50,'SEDEX'); //Informações de Nota, Pedido e Peso da Caixa ImprimirTexto(orNormal,3,1,1,1000,50,'NF: '+ iif(FrmNFCorreios.QryPedidosVEN_NF.AsInteger<>0,FrmNFCorreios.QryPedidosVEN_NF.AsString,'')); ImprimirTexto(orNormal,3,1,1,1000,320,'PEDIDO: '+ FrmNFCorreios.QryPedidosVEN_NUMERO.AsString); ImprimirTexto(orNormal,3,1,1,1000,665,'PESO(KG): '+FormatFloat('0.000',EdtPeso.Value)); ImprimirTexto(orNormal,3,1,1,930,380,CodigoRastreio[X-1]); //Codigo de Rastreio em código de barras ImprimirBarras(orNormal,'E','3','3',550,170,'A'+CodigoRastreio[X-1],180,becNAO); Imprimir(1,300); Desativar; End;