Ir para conteúdo
  • Cadastre-se

araujojunior

Membros
  • Total de ítens

    51
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por araujojunior

  1. Amigos,

     

    Boa tarde,

     

    Apos atualizar nosso projeto para o Trunk2, identificamos que o retorno do BNB não estava lendo na posição correta. Identificamos que estava lendo na posição 71 do registro de transação ao inves da 63 que era a correta. Tambem não estava identificando o tamanho correto. Segue trecho do código corrigido, arquivo ACBrBancoNordeste.pas, arquivo de retorno e layout do BNB que temos.

    Linha 437 - Anterior

    NossoNumero          := Copy(Linha,71,11);

    Linha 437 - Corrigida

    NossoNumero          := Copy(Linha,63,7);

     

    ACBrBancoNordeste.pas

    Manual Leiaute CNAB400 v2 0.pdf

    A02501_05121500.SAI

  2. Gente só pra agradecer quem tiver lido o topico, e compartilhar minha solução. Era apenas uma questão de entendimento do processo, na primeira vez vem sempre assim, mas com o campo Indicador de Continuação, indicando que existiam informações a serem recepcionadas, fiz uma segunda consulta utilizando NSU gerado pela primeira consulta e assim por diante...

     

    Grato a Todos.

     

    Sds,

     

    Junior

  3. Apenas uma duvida, estou com o mesmo problema do Issac Borges, mas nao consegui apenas mudando o caminho dos Schemas. Fiz varias vezes a consulta, utilizando NSU ou nao..... e nunca dá certo..... sempre a mesma mensagem "Nenhum documento localizado para o destinatario". Estou fazendo em ambiente de produção utilizando o exemplo do ACBr. Utilizando a ferramenta da SEFAZ-SP, ele traz dados.

     

     

    Imagem do XML gerado pelo ACBr

    post-1676-0-95744800-1428842281_thumb.jp

     

    Imagem do Retorno 

    post-1676-0-82176100-1428842290_thumb.jp

     

    post-1676-0-95744800-1428842281_thumb.jp

    post-1676-0-82176100-1428842290_thumb.jp

  4. Bem Amigos,

     

    Boa noite,  :mrgreen:

     

    Estamos aqui em mais um trabalho de homologação e no momento da validação dos registros R02 e R03, nos deparamos com um erro no Layout. No ato COTEPE 46/2014 anexo IV, a estrutura do arquivo R02 é idêntica ao do R03, e o homologador daqui me passou. "Siga o Roteiro". Esse cara está de brincadeira comigo ou em outros OTC's estão seguindo a mesma logica.

     

    Valeu!

     

    Araujo Junior

    post-1676-0-21092100-1418337814_thumb.jp

  5. É isso mesmo, estes dois arquivos não são validados, ou durante a homologação eles fazem backups dos arquivos gerados e os juntam em um só (MF + Assinatura) (MFD + Assinatura) e ai validam.

    Regys,

     

    E voce sabe dizer como se juntam esses arquivos? Pois no roteiro esta indicando para validar a assinatura.

  6. Prezados,

     

    Ao testar com o projeto de exemplo da NF-e, a rotina "Consulta Cadastro" a mesma me retornou vazia. entrei na Unit ACBrNFeWebServices, no evento function TNFeConsultaCadastro.Executar: Boolean; para tentar identificar o problema e achei a falha na linha: 3255 (OpenSSL) e 3262 (Capicom), onde troquei a tag consultaCadastro2Result do XML por cadConsultaCadastro2Result conforme abaixo:

     

    Anterior:

    FRetWS := '';
        {$IFDEF ACBrNFeOpenSSL}
           HTTP.Document.LoadFromStream(Stream);
           ConfiguraHTTP(HTTP,'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro2"');
           HTTP.HTTPMethod('POST', FURL);
    
    
           StrStream := TStringStream.Create('');
           StrStream.CopyFrom(HTTP.Document, 0);
           FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
           FRetWS := SeparaDados( FRetornoWS,'consultaCadastro2Result');
           StrStream.Free;
        {$ELSE}
           ReqResp.Execute(Acao.Text, Stream);
           StrStream := TStringStream.Create('');
           StrStream.CopyFrom(Stream, 0);
           FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
           FRetWS := SeparaDados( FRetornoWS,'consultaCadastro2Result');
           StrStream.Free;    {$ENDIF}
     

    Atual:

        FRetWS := '';
        {$IFDEF ACBrNFeOpenSSL}
           HTTP.Document.LoadFromStream(Stream);
           ConfiguraHTTP(HTTP,'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro2"');
           HTTP.HTTPMethod('POST', FURL);
    
    
           StrStream := TStringStream.Create('');
           StrStream.CopyFrom(HTTP.Document, 0);
           FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
           FRetWS := SeparaDados( FRetornoWS,'cadConsultaCadastro2Result');
           StrStream.Free;
        {$ELSE}
           ReqResp.Execute(Acao.Text, Stream);
           StrStream := TStringStream.Create('');
           StrStream.CopyFrom(Stream, 0);
           FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
           FRetWS := SeparaDados( FRetornoWS,'cadConsultaCadastro2Result');
           StrStream.Free;    {$ENDIF}
     
  7. Prezados,

     

    Estou realizando meus testes de PAF-ECF e me deparei com um problema que ocorreu apos uma redução Z sem movimento, onde o acbr não conseguiu recuperar a DataDoMovimento, entao modifiquei a mesma para que ignore a data em branco.

     

    function TACBrECFBematech.GetDadosUltimaReducaoZ: AnsiString;
    Var
      RetCmd, S, SS : AnsiString ;
      I : Integer ;
      ECFCRZ, ECFCRO : String;
      AliqZ: TACBrECFAliquota;
      CNFZ: TACBrECFComprovanteNaoFiscal;
      RGZ : TACBrECFRelatorioGerencial;
      vDatMovStr: String;
    begin
      // Zerar variaveis e inicializa Dados do ECF //
      InitDadosUltimaReducaoZ;
    
      if not Assigned( fpAliquotas ) then
        CarregaAliquotas ;
    
      if not Assigned( fpComprovantesNaoFiscais ) then
        CarregaComprovantesNaoFiscais ;
    
      if fpMFD then
      begin
    
        // Dados dos Relatorios Gerenciais //
        if not Assigned( fpRelatoriosGerenciais ) then
          CarregaRelatoriosGerenciais ;
    
        BytesResp := 621 ;
        RetCmd    := BcdToAsc(EnviaComando( #88, 5 )) ;
    
        {ESC 88 Tamanho de Retorno: 621 bytes (BCD), com a seguinte estrutura:
        Descrição             Bytes         (Digitos BCD)
        RZautomática se zero indica que a RZ foi emitida por comando 1 (2)  1   ,  2
        CRO Contador de Reinício de Operação 2 (4)                          3   ,  6
        CRZ Contador de Redução Z 2 (4)                                     7   , 10
        COO Contador de Ordem de Operação 3 (6)                             11  , 16
        GNF Contador Geral de Operações Não Fiscais 3 (6)                   17  , 22
        CCF Contador de Cupom Fiscal 3 (6)                                  23  , 28
        GRG Contador Geral de Relatório Gerencial 3 (6)                     29  , 34
        CFD Contador de Fita Detalhe Emitida 3 (6)                          35  , 40
        NFC Contador de Operação Não Fiscal Cancelada 2 (4)                 41  , 44
        CFC Contador de Cupom Fiscal Cancelado 2 (4)                        45  , 48
        CON[30] Contadores Específicos de Operações não Fiscais 30x2 (30x4) 49  ,168
        CER[30] Contadores Específicos de Relatórios Gerenciais 30x2 (30x4) 169 ,288
        CDC Contador de Comprovantes de Débito ou Crédito 2 (4)             289 ,292
        NCN Contador de Débito ou Crédito não Emitidos 2 (4)                293 ,296
        CCDC Contador de Débito ou Crédito Cancelados 2 (4)                 297 ,300
        GT Totalizador Geral 9 (18)                                         301 ,318
        TP[16] Totalizadores Parciais Tributados 16x7 (16x14)               319 ,542
        I I Totalizador de Isenção de ICMS 7 (14)                           543 ,556
        NN Totalizador de Não Incidência de ICMS 7 (14)                     557 ,570
        FF Totalizador de Substituição Tributária de ICMS 7 (14)            571 ,584
        SI Totalizador de Isenção de ISSQN 7 (14)                           585 ,598
        SN Totalizador de Não Incidência de ISSQN 7 (14)                    599 ,612
        SF Totalizador de Substituição Tributária de ISSQN 7 (14)           613 ,626
        Totalizador de Desconto em ICMS 7 (14)                              627 ,640
        Totalizador de Desconto em ISSQN 7 (14)                             641 ,654
        Totalizador de Acrécimo em ICMS 7 (14)                              655 ,668
        Totalizador de Acrécimo em ISSQN 7 (14)                             669 ,682
        Totalizador de Cancelamentos em ICMS 7 (14)                         683 ,696
        Totalizador de Cancelamentos em ISSQN 7 (14)                        697 ,710
        TPNS Totalizadores Parciais Não sujeitos ao ICMS 28x7 (28x14)       711 ,1102
        Sangria Totalizador de Sangria 7 (14)                               1103,1116
        Suprimento Totalizador de Suprimento 7 (14)                         1117,1130
        Totalizador de Cancelamentos de Não Fiscais 7 (14)                  1131,1144
        Totalizador de Descontos de Não Fiscais 7 (14)                      1145,1158
        Totalizador de Acrécimos de Não Fiscais 7 (14)                      1159,1172
        Alíquotas Tributadas 16x2 (16x4)                                    1173,1236
        Data do Movimento 3     (6)                                         1237,1242}
    
        { Alimenta a class com os dados atuais do ECF }
        with fpDadosReducaoZClass do
        begin
          vDatMovStr := copy(RetCmd,1237,2) + DateSeparator +
                                               copy(RetCmd,1239,2) + DateSeparator +
                                               copy(RetCmd,1241,2);
          if vDatMovStr <> '00/00/00' then
          DataDoMovimento := StringToDateTime( copy(RetCmd,1237,2) + DateSeparator +
                                               copy(RetCmd,1239,2) + DateSeparator +
                                               copy(RetCmd,1241,2), 'dd/mm/yy' );
    
          CRO  := StrToIntDef( copy(RetCmd,  3,4), 0) ;
          CRZ  := StrToIntDef( copy(RetCmd,  7,4), 0) ;
          COO  := StrToIntDef( copy(RetCmd, 11,6), 0) ;
          GNF  := StrToIntDef( copy(RetCmd, 17,6), 0) ;
          CCF  := StrToIntDef( copy(RetCmd, 23,6), 0) ;
          GRG  := StrToIntDef( copy(RetCmd, 29,6), 0) ;
          CFD  := StrToIntDef( copy(RetCmd, 35,6), 0) ;
          GNFC := StrToIntDef( copy(RetCmd, 41,4), 0) ;
          CFC  := StrToIntDef( copy(RetCmd, 45,4), 0) ;
          GNF  := StrToIntDef( copy(RetCmd, 17,6), 0) ;
          CDC  := StrToIntDef( copy(RetCmd,289,4), 0) ;
          NCN  := StrToIntDef( copy(RetCmd,293,4), 0) ;
          CCDC := StrToIntDef( copy(RetCmd,297,4), 0) ;
    
          ValorGrandeTotal := RoundTo( StrToFloatDef( copy(RetCmd,301,18),0) / 100, -2) ;
          IsentoICMS := RoundTo( StrToFloatDef( copy(RetCmd,543,14),0) / 100, -2) ;
          NaoTributadoICMS := RoundTo( StrToFloatDef( copy(RetCmd,557,14),0) / 100, -2) ;
          SubstituicaoTributariaICMS := RoundTo( StrToFloatDef( copy(RetCmd,571,14),0) / 100, -2) ;
          IsentoISSQN := RoundTo( StrToFloatDef( copy(RetCmd,585,14),0) / 100, -2) ;
          NaoTributadoISSQN := RoundTo( StrToFloatDef( copy(RetCmd,599,14),0) / 100, -2) ;
          SubstituicaoTributariaISSQN := RoundTo( StrToFloatDef( copy(RetCmd,613,14),0) / 100, -2) ;
          DescontoICMS := RoundTo( StrToFloatDef( copy(RetCmd,627,14),0) / 100, -2)  ;
          DescontoISSQN := RoundTo( StrToFloatDef( copy(RetCmd,641,14),0) / 100, -2)  ;
          AcrescimoICMS  := RoundTo( StrToFloatDef( copy(RetCmd,655,14),0) / 100, -2) ;
          AcrescimoISSQN := RoundTo( StrToFloatDef( copy(RetCmd,669,14),0) / 100, -2);
          CancelamentoICMS := RoundTo( StrToFloatDef( copy(RetCmd,683,14),0) / 100, -2)  ;
          CancelamentoISSQN := RoundTo( StrToFloatDef( copy(RetCmd,697,14),0) / 100, -2)  ;
          DescontoOPNF := RoundTo( StrToFloatDef( copy(RetCmd,1131,14),0) / 100, -2)  ;
          AcrescimoOPNF := RoundTo( StrToFloatDef( copy(RetCmd,1145,14),0) / 100, -2)  ;
          CancelamentoOPNF := RoundTo( StrToFloatDef( copy(RetCmd,1159,14),0) / 100, -2) ;
    
          // Dados das Aliquotas //
          S := copy(RetCmd,319,224) ; // TP[16] * 14 Totalizadores Parciais Tributados
          For I := 0 to fpAliquotas.Count-1 do
          begin
            AliqZ := TACBrECFAliquota.Create ;
            AliqZ.Assign( fpAliquotas[I] );
            AliqZ.Total := RoundTo( StrToFloatDef( copy(S,(I*14)+1,14),0) / 100, -2);
    
            AdicionaAliquota( AliqZ );
          end ;
    
          // Dados dos Comprovantes não Fiscais //
          S :=  copy(RetCmd,1103,28) +  // Sangria(14) + Suprimento(14)
                copy(RetCmd,739,364) ;  // Não ICMS  (392)  28 * 14 (2 primeiros vem vazios ??)
          SS := copy(RetCmd,161,8)   +  // Contadores: Sangria(4) + Suprimento(4)
                copy(RetCmd,57,104);    // Não ICMS(112) 28 * 4  (2 primeiros vem vazios ??)
    
          for I := 0 to fpComprovantesNaoFiscais.Count - 1 do
          begin
            CNFZ := TACBrECFComprovanteNaoFiscal.Create ;
            CNFZ.Assign( fpComprovantesNaoFiscais[I] );
            CNFZ.Total    := RoundTo( StrToFloatDef( copy(S,(I*14)+1,14),0) / 100, -2) ;
            CNFZ.Contador := StrToIntDef( copy(SS,(I*4)+1,4), 0);
    
            TotalizadoresNaoFiscais.Add( CNFZ ) ;
          end;
    
          S := copy(RetCmd,169,120) ; // 30 * 4
          For I := 0 to fpRelatoriosGerenciais.Count-1 do
          begin
            RGZ := TACBrECFRelatorioGerencial.Create ;
            RGZ.Assign( fpRelatoriosGerenciais[I] );
            RGZ.Contador := StrToIntDef(copy(S,(I*4)+1,4), 0) ;
    
            RelatorioGerencial.Add( RGZ ) ;
          end ;
    
          CalculaValoresVirtuais;
          Result := MontaDadosReducaoZ;
        end ;
    
      end
      else //Não é impressora MFD
      begin
        with TACBrECF(fpOwner) do
        begin
          ECFCRZ := NumCRZ;
          ECFCRO := NumCRO;
        end;
    
        BytesResp := 308 ;
        RetCmd    := BcdToAsc(EnviaComando( #62 + #55, 5 )) ;
    
      { ESC 62 55 - Tamanho de Retorno 616 dígitos BCD (308 bytes),
                    com a seguinte estrutura.
        2 RZAUT Se 00 redução por comando, caso contrário automática.
       18 GTDA GT no momento da última redução.
       14 CANCEL Cancelamentos
       14 DESCON Descontos
       64 TR Tributos
      266 TP Totalizadores Parciais Tributados
       14 SANGRIA Sangria
       14 SUPRIMENTOS Suprimentos
      126 NSI Totalizadores não Sujeitos ao ICMS
       36 CNSI Contadores dos TP’s não Sujeitos ao ICMS
        6 COO Contador de Ordem de Operação
        6 CNS Contador de Operações não Sujeitas ao ICMS
        2 AL Número de Alíquotas Cadastradas
        6 DATA_PC Data do Movimento
       14 ACRESC Acréscimo
       14 ACRFIN Acréscimo Financeiro
    
      RRGGGGGGGGGGGGGGGGGGCCCCCCCCCCCCCCDDDDDDDDDDDDDDT001T002T003T004T005T006T007T008T009T010T011T012T013T014T015T016TPT00000000001TPT00000000002TPT00000000003TPT00000000004TPT00000000005TPT00000000006TPT00000000007TPT00000000008TPT00000000009TPT00000000010TPT00000000011TPT00000000012TPT00000000013TPT00000000014TPT00000000015TPT00000000016IIIIIIIIIIIIIINNNNNNNNNNNNNNFFFFFFFFFFFFFFAAAAAAAAAAAAAAUUUUUUUUUUUUUUTNS00000000001TNS00000000002TNS00000000003TNS00000000004TNS00000000005TNS00000000006TNS00000000007TNS00000000008TNS00000000009CN01CN02CN03CN04CN05CN06CN07CN08CN09COOCOOCNSCNSALDTMOVTAAAAAAAAAAAAAAFFFFFFFFFFFFFF
      0000000000000014231000000000000000000000000000001800021605001200050025000250180013001600170002110200100006000100000000000001000000000000020000000000000300000000000004010000000000050100000000000601000000000007010000000000080100000000000901000000000010010000000000110200000000001202000000000013020000000000140200000000001502000000000016020000000001001400000000010114000000000408640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162000019161708070000000000011100000000000000
      ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+.
      }
    
        { Alimenta a class com os dados atuais do ECF }
        with fpDadosReducaoZClass do
        begin
          DataDoMovimento := StringToDateTime( copy(RetCmd,583,2) + DateSeparator +
                                               copy(RetCmd,585,2) + DateSeparator +
                                               copy(RetCmd,587,2), 'dd/mm/yy' );
    
          CRO  := StrToIntDef( ECFCRO, 0) ;
          CRZ  := StrToIntDef( ECFCRZ, 0) ;
          COO  := StrToIntDef( copy(RetCmd,569,6), 0) ;
    
          SubstituicaoTributariaICMS := RoundTo( StrToFloatDef( copy(RetCmd,365,14),0) / 100, -2) ;
          NaoTributadoICMS := RoundTo( StrToFloatDef( copy(RetCmd,351,14),0) / 100, -2) ;
          IsentoICMS := RoundTo( StrToFloatDef( copy(RetCmd,337,14),0) / 100, -2) ;
          DescontoICMS := RoundTo( StrToFloatDef( copy(RetCmd,35,14),0) / 100, -2) ;
          CancelamentoICMS := RoundTo( StrToFloatDef( copy(RetCmd,21,14),0) / 100, -2) ;
          AcrescimoICMS := RoundTo( StrToFloatDef( copy(RetCmd,589,14),0) / 100, -2) ;
          ValorGrandeTotal := RoundTo( StrToFloatDef( copy(RetCmd,3,18),0) / 100, -2);
    
          // Dados das Aliquotas //
          S := copy(RetCmd,113,224);   // 16 * 14
          For I := 0 to fpAliquotas.Count-1 do
          begin
            AliqZ := TACBrECFAliquota.Create ;
            AliqZ.Assign( fpAliquotas[I] );
            AliqZ.Total := RoundTo( StrToFloatDef( copy(S,(I*14)+1,14),0) / 100, -2) ;
    
            AdicionaAliquota( AliqZ );
          end ;
    
          S := copy(RetCmd,379,154) ;//Começa na posição 379 para pegar os dados da Sangria e Suprimento, deveria então ter tamanho (14+14+126)
          for I := 0 to fpComprovantesNaoFiscais.Count - 1 do
          begin
            CNFZ := TACBrECFComprovanteNaoFiscal.Create ;
            CNFZ.Assign( fpComprovantesNaoFiscais[I] );
            CNFZ.Total := RoundTo( StrToFloatDef( copy(S,(I*14)+1,14),0) / 100, -2) ;
    
            TotalizadoresNaoFiscais.Add( CNFZ ) ;
          end;
    
          CalculaValoresVirtuais;
          Result := MontaDadosReducaoZ;
        end;
      end;
    end;

     

     

    Sds

     

    Araujo Junior

  8. Prezados,

    Estou utilizando o ACBrBoleto com o FortesReport e estou com casos onde esta cortando a impressao na lateral, porem se eu salvar o boleto em PDF e depois imprimir na impressora sai normal.

    Por exemplo a linha digitavel corta o ultimo número.

    Alguem já passou por isso?

    Junior

  9. Amigos,

    Boa noite,

    Estou aqui compartilhando as alterações que fiz nas Units do Banco do Brasil e do Itau, em virtude de processos de homologação ou testes do sistema.

    BANCO DO BRASIL

    Apenas salientando que o convenio em questão é de 7 Números e a variação da conta é 019 e o arquivo é de 240 Posições.

    Os erros abaixo foram passados pelo suporte do Banco do Brasil ao submeter o arquivo de remessa para testes, marquei qual solução tomada para correção dos problemas:

    ERROS DA REMESSA

    ┌──────────────────────────────────────────────────────────────────┐

    │ ► Header de Arquivo ► Lote 0000 │

    └──────────────────────────────────────────────────────────────────┘

    Posições 033 a 052: Preencher com o código do convênio: '002163993001417019 ' - ERRO DE CADASTRO

    Posições 059 a 070: Preencher com o número da conta corrente do convênio: '000000106166' ERRO DO ACBR Nº 1 Como podem ver a conta corrente tem 6 números, sendo que no constructor da classe a variavel "fpTamanhoConta" estava definida como 5, segundo o layout do Banco do Brasil, são 12 números, ficando o evento constructor da seguinte forma:

    constructor TACBrBancoBrasil.create(AOwner: TACBrBanco);
    
    begin
    
       inherited create(AOwner);
    
       fpDigito := 9;
    
       fpNome   := 'Banco do Brasil';
    
       fpNumero := 001;
    
       fpTamanhoMaximoNossoNum := 10;
    
       fpTamanhoConta   := 12;
    
       fpTamanhoAgencia := 4;
    
       fpTamanhoCarteira:= 2;
    
    end;
    ┌──────────────────────────────────────────────────────────────────┐ │ ► Header de Lote ► Lote 0001 │ └──────────────────────────────────────────────────────────────────┘ Posições 012 a 013: Preencher com brancos - ERRO DO ACBR Nº 2 - Conforme o manual de Particularidades do BB, este campo é de uso exclusivo da FEBRABAN Posições 034 a 053: Preencher com o código do convênio: '002163993001417019 ' - ERRO DE CADASTRO Posições 060 a 071: Preencher com o número da conta corrente do convênio: '000000106166' - ERRO DO ACBR Nº 1 - JÁ DESCRITO ACIMA ┌──────────────────────────────────────────────────────────────────┐ │ ► Segmento P ► Lote 0001 │ └──────────────────────────────────────────────────────────────────┘ Posições 024 a 035: Preencher com o número da conta corrente do convênio: '000000106166' - ERRO DO ACBR Nº 1 - JÁ DESCRITO ACIMA Posições 038 a 057: Preencher o nosso número da seguinte forma: '2163993NNNNNNNNNNbbb' onde 'N' = numeração livre a cargo da empresa e 'b' = brancos - ERRO DE CADASTRO Posições 224 a 224: Campo não tratado pelo sistema. Informar zero; O sistema considera a informação que foi cadastrada na sua carteira junto ao Banco do Brasil - ERRO NÃO DOCUMENTADO ANTERIORMENTE, ANALISANDO NO FONTE ATUAL JÁ ESTA CORRIGIDO ┌──────────────────────────────────────────────────────────────────┐ │ ► Segmento R ► Lote 0001 │ └──────────────────────────────────────────────────────────────────┘ ERROS DO ACBR Nº 3 - A Partir da posição 90, tudo estava indo com 'brancos', fizemos a separação campo a campo Posições 200 a 207: Campo não tratado, preencher com zeros Posições 208 a 210: Campo não tratado, preencher com zeros Posições 211 a 215: Campo não tratado, preencher com zeros Posições 217 a 228: Campo não tratado, preencher com zeros Posições 231 a 231: Campo não tratado, preencher com zeros ┌──────────────────────────────────────────────────────────────────┐ │ ► Estrutura do Arquivo │ └──────────────────────────────────────────────────────────────────┘ ERRO DO ACBR Nº 4 - Este erro ocorreu em virtude de versões anteriores, pois tinham apenas 2 segmentos P e Q, o calculo que fazia o número do sequencial tinha como fator "2", pois antes eram 2 segmentos, mudamos para 3 em virtude do segmento R e passou a funcionar corretamente.
    IntToStrZero((3 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 1 , 5) + //9 a 13 - Número seqüencial do registro no lote - Cada título tem 2 registros (P e Q)
    Este erro gerou um topico neste forum e já pode ser fechado. Linha 0006, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00003'. Correto '00004' Linha 0007, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00004'. Correto '00005' Linha 0008, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00005'. Correto '00006' Linha 0009, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00005'. Correto '00007' Linha 0010, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00006'. Correto '00008' Linha 0011, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00007'. Correto '00009' Linha 0012, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00007'. Correto '00010' Linha 0013, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00008'. Correto '00011' Linha 0014, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00009'. Correto '00012' Linha 0015, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00009'. Correto '00013' Linha 0016, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00010'. Correto '00014' Linha 0017, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00011'. Correto '00015' Linha 0018, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00011'. Correto '00016' Linha 0019, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00012'. Correto '00017' Linha 0020, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00013'. Correto '00018' Linha 0021, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00013'. Correto '00019' Linha 0022, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00014'. Correto '00020' Linha 0023, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00015'. Correto '00021' Linha 0024, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00015'. Correto '00022' Linha 0025, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00016'. Correto '00023' Linha 0026, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00017'. Correto '00024' Linha 0027, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00017'. Correto '00025' Linha 0028, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00018'. Correto '00026' Linha 0029, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00019'. Correto '00027' Linha 0030, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00019'. Correto '00028' Linha 0031, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00020'. Correto '00029' Linha 0032, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00021'. Correto '00030' ERROS DO BOLETO ********** Inconsistências no boleto ********** Verifique sua linha digitável e o código de barras no modelo abaixo (as cores evidenciam os erros): Código de barras: 00194529400000600002163990000106750001061617 0019dVVVV$$$$$$$$$$000000CCCCCCCnnnnnnnnnncc Linha digitável 00192.16399 90000.106758 00010.616175 4 52940000060000 00190.0000d 0CCCC.CCCnnd nnnnn.nnnccd D VVVV$$$$$$$$$$ Onde: C: Número do convênio n: Nosso número (numeração livre) D: Dv geral d: dígito verificador c: Carteira a: Agência $: valor V: fator de vencimento &: Conta corrente ERRO DO ACBR Nº 1 - Já descrito acima BANCO ITAU O único problema identificado no Itau foi na leitura do arquivo de retorno de 400 Posições, na identificação do CNPJ/CPF do Cedente, a informação do Tipo de Inscrição estava invertida. Segue correção
    case StrToIntDef(Copy(ARetorno[1],2,2),0) of
    
          1 : rCNPJCPF:= Copy(ARetorno[1],07,11); //CNPJ
    
          2 : rCNPJCPF:= Copy(ARetorno[1],04,14); //CPF
    
       else
    
          rCNPJCPF:= Copy(ARetorno[1],4,14);
    
       end;

    Bem, esses foram os problemas que encontrei, espero com isso ajudar alguem que tenha dificuldades com esses processos e contribuir com o projeto. Tentei mandar os manuais para quer duvida dos moderadores/administradores mas são maiores que 600kb impossibilitando o seu upload.

    Sds,

    Junior

    ACBrBancoBrasil.pas

    ACBrBancoItau.pas

  10. Como eu baixo os fontes do branches ?

    Eu uso o Tortoise para atualizar os fontes do ACBR (está funcionando corretamente), porém não consigo enxergar onde estão os arquivos relativos ao AcbrNFSe.

    Beto,

    Dentro do diretorio branches, tem um arquivo chamado Instalar_ACBrNFSe.txt, que explica a forma correta de voce instalar o componente, lembrando que os arquivos da pasta branches são arquivos em desenvolvimento, sujeito a falhas.

    Sds,

    Junior

  11. Italo,

    Bom dia,

    Em outro tópico mencionei que talvez eu estivesse fazendo o procedimento errado para gerar o arquivo XML da NFS-e, pois sempre que gerava o mesmo ficava sem validar conforme o Schema.

    Quando vi o tópico atual onde você menciona que é possivel:

    Gerar o XML do RPS;

    Gerar o Lote;

    Assinar o Lote;

    Validar;

    Enviar para o WebServices;

    Obter o retorno com o protocolo de recebimento;

    Realizar a Consulta da Situação do Lote de RPS;

    Obter o retorno com a situação do lote enviado;

    Realizar a Consulta do Lote caso a situação seja 4 = Processado com Sucesso;

    Obter o retorno contendo a lista de NFSe gerada pelo WebService;

    Mas não consegui reproduzir isso através do Demo. Fiz alterações na unit em anexo para que ela gere o arquivo com as Tags de Lote, mas se houver alguma outra forma já implementada, poderia nos passar?

    Outro Tópico:

    Sds,

    Araujo Junior

    pnfsNFSeW.pas

  12. Amigos,

    Boa noite, não sei se estou fazendo o procedimento mas nenhum arquivo que gerei no padrão Ginfes pelo ACBrNFSe passava na validação, quando eu enviei a mensagem para este tópico falando que fiz algumas correções e estava validando correto, era na estrutura anterior, que foi mudada para ficar igual ao ACBrNFe.

    Mediante a situação do arquivo não estar validando modifiquei a rotina para gerar o arquivo validando o mesmo.

    Segue anexo.

    Sds,

    Junior

    pnfsNFSeW.pas

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...