Tecnologia além do código.
Régys Borges da Silveira

Webinar EC2016 – Com o fim do Emissor gratuito, vamos desenvolver um Emissor ao vivo

Meu vídeo para o Webinar das palestras mais votadas na Embarcadero Conference, aqui eu falo um pouquinho de como utilizar o ACBr para fazer seu próprio emissor de NF-e.

Exemplo: https://github.com/flrizzato/EmbarcaderoConference

Compartilhar por e-mail

18 comentário(s)

  1. Parabens Régys, show de Bola, isso ai.. Uma pergunta, o exemplo acima é de emitir somente uma nota de cada vez, no caso de gerar mais de uma nota, exemplo, seleciono em grid as nfe em digitaçao por exemplo,seleciono umas 15 notas. em um loop. gero as nfe e somente depois envio o lote, Nesse caso, como fica o procedimento de validação e Retorno, visto que no meio dessas notas pode ter notas com erros de validação e depois tambem ter erros de retorno , Ex. denegada, em processamento..
    // validar o schema da NFe
    try
    ACBrNFe1.NotasFiscais.Validar;
    except
    on E: Exception do
    begin
    raise Exception.Create(
    IfThen(
    ACBrNFe1.NotasFiscais.Items[0].ErroValidacao ”,
    ACBrNFe1.NotasFiscais.Items[0].ErroValidacao,
    E.Message
    )
    );
    end;
    end;

    // validação das regras de negócio, as validações seguem o manual da NF-e
    ACBrNFe1.NotasFiscais.ValidarRegrasdeNegocios(ErrosRegraNegocio);
    if ErrosRegraNegocio ” then
    raise Exception.Create(ErrosRegraNegocio);

    Grato

    1. Quanto as regras de negócio, ele valida do lote inteiro, então se retornar algo é para todas as notas.
      Para a validação que é por nota, você deve fazer um loop em ACBrNFe1.NotasFiscais.Items[0], onde 0 será o índice do loop começando de zero é indo até count-1.

      1. boa tarde RegYs sou leitor de seu blog e pesquiso bastante por aqui.
        estou tentando aprende utilizar o acbrnfe. mas está dando um erro que não encontro a solucão. já te pedi em outra parte do blog mas nao encontrei.

        nessas 3 linhas está dando erro de undeclared identifier
        Ide.tpNF := tnSaida;
        Ide.tpEmis := tnNormal;
        Ide.finNFe := fnNormal;

  2. Olá Regys recebi os seguintes erros ao compilar o projeto.
    Eu já atualizei e reinstalei os componentes ACBR e nada teria alguma ideia do que pode ser?
    [dcc32 Error] pcnRetConsNFeDest.pas(71): E2003 Undeclared identifier: ‘TpcnTipoNFe’
    [dcc32 Error] pcnRetConsNFeDest.pas(80): E2003 Undeclared identifier: ‘TpcnSituacaoNFe’
    [dcc32 Error] pcnRetConsNFeDest.pas(88): E2005 ‘TpcnTipoNFe’ is not a type identifier
    [dcc32 Error] pcnRetConsNFeDest.pas(92): E2005 ‘TpcnSituacaoNFe’ is not a type identifier
    [dcc32 Error] pcnRetConsNFeDest.pas(100): E2007 Constant or type identifier expected
    [dcc32 Error] pcnRetConsNFeDest.pas(109): E2007 Constant or type identifier expected
    [dcc32 Error] pcnRetConsNFeDest.pas(117): E2005 ‘TpcnTipoNFe’ is not a type identifier
    [dcc32 Error] pcnRetConsNFeDest.pas(121): E2005 ‘TpcnSituacaoNFe’ is not a type identifier
    [dcc32 Error] pcnRetConsNFeDest.pas(128): E2007 Constant or type identifier expected
    [dcc32 Error] pcnRetConsNFeDest.pas(144): E2005 ‘TpcnTipoNFe’ is not a type identifier
    [dcc32 Error] pcnRetConsNFeDest.pas(306): E2003 Undeclared identifier: ‘StrToTpNF’
    [dcc32 Error] pcnRetConsNFeDest.pas(310): E2003 Undeclared identifier: ‘StrToSituacaoNFe’
    [dcc32 Fatal Error] ACBrNFeWebServices.pas(2063): F2063 Could not compile used unit ‘pcnRetConsNFeDest.pas’

    1. Você tem arquivos antigos do ACBr em algum lugar do seu computador, faça o seguinte, na tela de escolha da versão do Delphi no ACBrInstall, marque a opção “remover arquivos antigos do do disco (pode demorar bastante)”, feito isso proceda a instalação normalmente, essa opção vai apagar tudo que for antigo e compilado em todas as unidades de disco fixas.

      Se isto não resolver, procure versões antigas de arquivos .pas do ACBr nos seus paths e apague, deixe somente os atualizados.

Participe da conversa

Seu e-mail não será publicado.

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Um próximo passo para cada interesse.

Continue estudando com os livros, acompanhe as videoaulas ou consulte as soluções para o seu projeto.

Descubra mais sobre Régys Borges da Silveira

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo