Ir para conteúdo
  • Cadastre-se

daniel.breda

Membros
  • Total de ítens

    36
  • Registro em

  • Última visita

Posts postados por daniel.breda

  1. Na linha 474  do arquivo "ACBrBancoBancoob.pas" eu tive que alterar de:

    Cedente.Conta := PadLeft(IntToStr(StrToInt(Cedente.Conta)), 7, '0');

    Para:

    Cedente.Conta := PadLeft(IntToStr(StrToIntDef(Cedente.Conta, 0)), 7, '0');

    Assim o componente lê o arquivo corretamente quando a opção "LeCedenteRetorno" está marcada como verdadeira e os campos do cendente não estão préviamente preenchidos.

  2. Julimar, hoje meu software possui um banco de dados gerencial e um do PDV (pois ele funciona 100% offline e quando detecta conexão envia para o gerencial, então praticamente fica online pois é raro não ter conexão :-D) por isso falei em compara os 2, pois os dados necessários para geração deste arquivo também ficam armazenadas no PDV, mas gostaria de saber qual o método a galera tem mais adotado, porque eu tenho que acabar criando as tabelas de DAV no PDV e replica-los pra lá o que não é legal.

    Pensei em criar várias tabelas com os registos necessários, por ex: REG_PAFECF_A2, REG_PAFECF_D2, REG_PAFECF_D3... e duplicar a informação nessas tabelas, o que vocês tem a me dizer?

     

    Cleber, não achei seu texto, foi aqui no forum do ACBr mesmo? pois procurei pelos tópicos que estão no seu perfil e não achei.

  3. Como forma de contribuição, segue URL oficiais, porém não uso este arquivo INI (a não ser que ele seja embutido no componente ao compilar), mas olhei nele e lá tem "Usar=NFe_SVRS_P" o que me faz entender que ele utiliza os dados do RS, e ai?

     

    Webservices - Produção:

    NFC-e SVRS - Endereços (URL) do Ambiente de Produção

    Serviço

    Versão

    URL

    NFeAutorizacao

    3.10

    https://nfce.svrs.rs.gov.br/ws/
    NfeAutorizacao/NFeAutorizacao.asmx

    NFeRetAutorizacao

    3.10

    https://nfce.svrs.rs.gov.br/ws/
    NfeRetAutorizacao/NFeRetAutorizacao.asmx

    NfeInutilizacao

    3.10

    https://nfce.svrs.rs.gov.br/ws/
    nfeinutilizacao/nfeinutilizacao2.asmx

    NfeConsultaProtocolo

    3.10

    https://nfce.svrs.rs.gov.br/ws/
    NfeConsulta/NfeConsulta2.asmx

    NfeStatusServico

    3.10

    https://nfce.svrs.rs.gov.br/ws/
    NfeStatusServico/NfeStatusServico2.asmx

    RecepcaoEvento

    1.00

    https://nfce.svrs.rs.gov.br/ws/
    recepcaoevento/recepcaoevento.asmx

  4. Já procurei aqui no forum e no Google, mas não obtive resposta sobre o erro abaixo:

    FALHA NA VALIDAÇÃO DOS DADOS DA NOTA: 1
    
    '?CHNFE=32161203544265000149650000000000011692048330&NVERSAO=100&TPAMB=1&DHEMI=323031362D31322D31355431373A35323A33322D30323A...' VIOLATES PATTERN CONSTRAINT OF '((HTTPS?|HTTPS?)://.*\?CHNFE=[0-9]{44}&NVERSAO=[0-9]{3}&TPAMB=[1-2](&CDEST=([A-ZA-Z0-9.:+-/)(]{0}|[A-ZA-Z0-9.:+-/)(]{5,20})?...'.
    THE ELEMENT '{HTTP://WWW.PORTALFISCAL.INF.BR/NFE}QRCODE' WITH VALUE '?CHNFE=32161203544265000149650000000000011692048330&NVERSAO=100&TPAMB=1&DHEMI=323031362D31322D31355431373A35323A33322D30323A...' FAILED TO PARSE.

    Meu cliente foi autorizado a usar o ambiente de produção, porém qualquer nota dá este erro, já no de homologação não dá problema.

    NFCe00065000000001.xml

  5. As tags para geração o refNF não foram atualizadas para a versão 3.10 em pcnNFeW.pas, por exemplo no procedimento "TNFeW.GerarIdeNFref;" eu tive que mudar de

    Gerador.wGrupo('NFref', 'B12a'); para Gerador.wGrupo('NFref', IfThen(nfe.infNFe.Versao >= 3, 'BA', 'B12a'));

    E dai por diante todas os procedimentos para geração de referências estão preparados para layouts menores que 3.10, favor analisar.

  6. Pessoal, estou fazendo uma nota de devolução para um cliente fora do estado, o ACBrNFe está me retornando o erro:
    798->REJEICAO: NF-E DE DEVOLUCAO DE MERCADORIA NAO POSSUI DOCUMENTO FISCAL REFERENCIADO

    Só que no processo de emissão eu preencho os dados do cupom fiscal em NFRef.RefECF e finNFe está como fnDevolucao, mas ele gera o TXT sem os dados da devolução, estou usando a versão 0.5.0a do ACBrNFe, algém sabe de dizer se é algum erro esta versão ou se é algo que eu possa estar esquerendo por ser fora do estado?

  7. Segue correção que tive que fazer no arquivo Fontes\PCN2\pcnNFeW.pas

     

    procedure TNFeW.GerarIdeNFref;
    var
      i: Integer;
    begin
      // Gera TAGs se NÃO for uma NFe referência
      for i := 0 to nfe.ide.NFref.Count - 1 do
      begin
        Gerador.wGrupo('NFref', IfThen(nfe.infNFe.Versao >= 3, 'BA', 'B12a'));
        //Gerador.wGrupo('NFref', 'B12a');
        if nfe.ide.NFref[i].refNFe      <> '' then (**)GerarIdeNFrerefNFe(i);
        if nfe.Ide.NFref[i].RefNF.nNF    >  0 then (**)GerarIdeNFrefRefNF(i);
        if nfe.ide.NFref[i].RefNFP.nNF   >  0 then (**)GerarRefNFP(i);
        if nfe.ide.NFref[i].refCTe      <> '' then (**)GerarIdeNFrerefCTe(i);
        if nfe.ide.NFref[i].RefECF.nCOO <> '' then (**)GerarRefECF(i);
        Gerador.wGrupo('/NFref');
      end;
    
    
      if nfe.ide.NFref.Count > 500 then
        Gerador.wAlerta(IfThen(nfe.infNFe.Versao >= 3, 'BA', 'B12a'), 'NFref', DSC_QNF, ERR_MSG_MAIOR_MAXIMO + '500');
        //Gerador.wAlerta('B12a', 'NFref', DSC_QNF, ERR_MSG_MAIOR_MAXIMO + '500');
    end;
  8. Segue correção em toda a função:

     

    procedure TACBrECFBematech.AbrePortaSerialDLL(const aPath: String);
    Var
      Resp : Integer ;
      aPorta, IniFile : String ;
    
    
      {$IFDEF MSWINDOWS}
      procedure ConfiguraBemaFI32ini(const aPorta, aPath : String ) ;
      var
        Ini : TIniFile ;
      begin
        GravaLog( '   Verificando arquivo: '+IniFile+', Porta:'+aPorta+', Path:'+aPath );
    
    
        Ini := TIniFile.Create( IniFile );
        try
           Ini.WriteString('Sistema','Porta',aPorta ) ;
           Ini.WriteString('Sistema','ControlePorta','1') ;
           if aPath <> '' then
              Ini.WriteString('Sistema','Path',aPath ) ;
        finally
           Ini.Free ;
        end ;
      end;
      {$ENDIF}
    
    
    begin
      aPorta := fpDevice.Porta;
    
    
      GravaLog( '   Desativando ACBrECF' );
      Ativo := False ;
      Sleep( 300 ) ;
    
    
      {$IFDEF MSWINDOWS}
       {$IFDEF CPU64}
        IniFile := ExtractFilePath(PathDLL)+'BemaFi64.INI' ;
       {$ELSE}
        IniFile := ExtractFilePath(PathDLL)+'BemaFi32.INI' ;
       {$ENDIF}
       if FileExists(IniFile) then
          ConfiguraBemaFI32ini(aPorta, PathDLL);
      {$ENDIF}
    
    
      LoadDLLFunctions;
    
    
      {$IFDEF MSWINDOWS}
       xBematech_FI_ReloadINIFile;
      {$ENDIF}
    
    
      GravaLog( '   xBematech_FI_AbrePortaSerial' );
      Resp := xBematech_FI_AbrePortaSerial();
    {
      1: OK.
     -4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
     -5: Erro ao abrir a porta de comunicação.
    }
      {$IFDEF MSWINDOWS}
       if Resp = -4 then
       begin
          GravaLog( '      Erro = -4' );
          ConfiguraBemaFI32ini( aPorta, PathDLL ) ;
          GravaLog( '   xBematech_FI_AbrePortaSerial' );
          Resp := xBematech_FI_AbrePortaSerial();
       end ;
      {$ENDIF}
    
    
    (*
      if Resp = -5 then
      begin
         GravaLog( '      Erro = -5' );
         ConfiguraBemaFI32ini( 'Default', aPath ) ;
         GravaLog( '   xBematech_FI_AbrePortaSerial' );
         Resp := xBematech_FI_AbrePortaSerial();
      end ;
    *)
    
    
      if Resp <> 1 then
         raise EACBrECFErro.Create( ACBrStr('Erro em Bematech_FI_AbrePortaSerial'+sLineBreak+
                                    AnalisarRetornoDll(Resp) ));
    end ;
  9. Pessoal, estou homologando meu software em MG e usando um certificado do ES com todas as configs do meu soft para o ES tambem, nao consigo transmitir a NF-e, sabem me dizer se existe algum bloqueio quanto a isto?

    Da a mensagem: Nao foi possivel estabelecer uma conexao com o servidor

  10. Pessoal, quando era movimento por ecf eu comparava os dados do meu retaguarda com meu pdv para verificar se o registro era valido ou nao, agora que e registros do pafecf e quando gerado pelo menu fiscal tem que pegar de todos os ecfs do estabelecimento este metodo fica inviavel devido ao banco do pdv so ter informacoes daquele ecf, como voces estao fazendo?

  11. Estou gerando o TXT para NF-e 3.10 e ao gerar preenchendo a tag NFref ele gera o TXT, mas não gera as referencias, segue a parte do código:

     

    for I := 0 to Origens.Count - 1 do
    begin
    with NFe.Ide.NFref.Add do
    begin
    if (Origens[I].Modelo = '55') then
    refNFe := Origens[I].ChaveAcesso
    else if (Origens[I].Modelo = '04') then
    begin
    with RefNFP do
    begin
    cUF := Origens[I].CodigoUF;
    AAMM := FormatDateTime('yymm', Origens[I].DataEmissao);
    CNPJCPF := Origens[I].CNPJ;
    IE := Origens[I].InscricaoEstadual;
    modelo := Origens[I].Modelo;
    serie := Origens[I].Serie;
    nNF := Origens[I].NUmero;
    end;
    end
    else if (Origens[I].Modelo = '03') then
    begin
    with RefECF do
    begin
    modelo := ECFModRef2B;
    nECF := Origens[I].Sequencia;
    nCOO := Origens[I].COO;
    end;
    end
    else
    begin
    with RefNF do
    begin
    cUF := Origens[I].CodigoUF;
    AAMM := FormatDateTime('yymm', Origens[I].DataEmissao);
    CNPJ := Origens[I].CNPJ;
    modelo := Origens[I].Modelo;
    serie := Origens[I].Serie;
    nNF := Origens[I].Numero;
    end;
    end;
    end;

     

  12. Estou trabalhando com a 3.10 agora, além de precisar fazer o ajuste citado pelo Bruno Leandro, também precisei fazer um ajuste no arquivo pcnNFeRTXT.pas na função

     

     

    procedure TNFeRTXT.LerRegistro(const Registro: String);
    var
      i, j, k: Integer;
      ok: Boolean;
    begin
    
    
      FRegistro := Registro;
      FID := UpperCase(copy(Registro, 2, pos('|', FRegistro) - 2));
      if FID = '' then
        exit;
      if ID = 'A' then
      begin
         NFe.infNFe.Versao := 3.10;//LerCampo(tcDe2, 'versao'); <-- Ele retorna automaticamente 2 ao invés de 3.10
      end;
    ...
  13. O caminho que está buscando o arquivo INI é o do executável, enquanto  o correto seria puxar de onde esta a DLL, ficando assim:

     

    Errado:
     
    {$IFDEF MSWINDOWS}
       {$IFDEF CPU64}
        IniFile := ExtractFilePath( ParamStr(0) )+'BemaFi64.INI' ;
       {$ELSE}
        IniFile := ExtractFilePath( ParamStr(0) )+'BemaFi32.INI' ;
       {$ENDIF}
       if FileExists( IniFile ) then
          ConfiguraBemaFI32ini(aPorta, aPath);
      {$ENDIF}
     
     
    Correto:
     
    {$IFDEF MSWINDOWS}
       {$IFDEF CPU64}
        IniFile := ExtractFilePath(PathDLL)+'BemaFi64.INI' ;
       {$ELSE}
        IniFile := ExtractFilePath(PathDLL)+'BemaFi32.INI' ;
       {$ENDIF}
       if FileExists(IniFile) then
          ConfiguraBemaFI32ini(aPorta, aPath);
      {$ENDIF}

     

    • Curtir 1
×
×
  • 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.