Ir para conteúdo
  • Cadastre-se

dev botao

Qual a melhor forma de imprimir DANFSe a partir do XML quando a prefeitura troca de provedor?


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 1099 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde.

A prefeitura da minha cidade trocou de provedor, foi da Betha para IPM.

Com essa troca, estou migrando também do AcbrNFSe para o AcbeNFSeX, existe alguma forma de eu imprimir os XMLs antigos usando os componentes AcbrNFSeX?

 

  • Consultores
  • Solution
Postado

Boa tarde Eliandro,

Acredito que seja necessário fazer uma alteração na unit ACBrNFSeXConfiguracoes, mais precisamente na linha:

    property Provedor: TnfseProvedor read FProvedor;
    property Versao: TVersaoNFSe read FVersao;

Mudar para:

    property Provedor: TnfseProvedor read FProvedor write FProvedor;
    property Versao: TVersaoNFSe read FVersao write FVersao;

Desta forma essas propriedades de configuração deixam de ser somente leitura.

Com isso, vai ser possível fazer o seguinte:

ACBrNFSeX1.Configuracoes.Geral.Provedor := proBetha;
// ve100, ve101, ve103, ve200, ve201, ve202, ve203, ve204
ACBrNFSeX1.Configuracoes.Geral.Versao := ve100; // versão do layout do XML usado pelo provedor que no caso do Betha pode ser ve100 ou ve202

ACBrNFSeX1.NotasFiscais.Clear;
ACBrNFSeX1.NotasFiscais.LoadFromFile(xNomeXml, False);
ACBrNFSeX1.NotasFiscais.Imprimir;

 

 

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa tarde!

Fiz a alteração, mas a impressão ficou com os dados em branco, a princípio achei que não tivesse funcionado, até que fui testar a impressão com as notas geradas pelo provedor IPM, e nele também ficam em branco.

Verifiquei, e depois que faço um load do XML, o componente acusar ter uma nota, mas os dados dela estão zerados.

Fiz testes usando o LoadFromStream e também LoadFromString, usando o xml da nota gerada no IPM e o sistema configurado para IPM

ACBrNFSeX.NotasFiscais.LoadFromString 

Ao verificar o quantidade de notas, o count informa que tem 1, mas quando eu tento acessar ela, os valores estão em branco.

Olhei o valor de ACBrNFSeX.NotasFiscais.Items[0].NFSe.Numero, e estava em branco, assim como todos os outros campos.

Coloquei o xml que usei no load anexo. 

nf_teste-nfe.xml

Postado

Boa tarde Italo.

Testei agora no meu sistema e no programa de exemplo do ACBr, em ambos fica em branco.

No ACBrNFSeX.NotasFiscais.Count informa que tem uma nota, mas a impressão sai em branco.

  • 2 semanas depois ...
Postado
Em 10/11/2021 at 14:10, Italo Giurizzato Junior disse:

Boa tarde Eliandro,

Acredito que seja necessário fazer uma alteração na unit ACBrNFSeXConfiguracoes, mais precisamente na linha:

    property Provedor: TnfseProvedor read FProvedor;
    property Versao: TVersaoNFSe read FVersao;

Mudar para:

    property Provedor: TnfseProvedor read FProvedor write FProvedor;
    property Versao: TVersaoNFSe read FVersao write FVersao;

Desta forma essas propriedades de configuração deixam de ser somente leitura.

Com isso, vai ser possível fazer o seguinte:

ACBrNFSeX1.Configuracoes.Geral.Provedor := proBetha;
// ve100, ve101, ve103, ve200, ve201, ve202, ve203, ve204
ACBrNFSeX1.Configuracoes.Geral.Versao := ve100; // versão do layout do XML usado pelo provedor que no caso do Betha pode ser ve100 ou ve202

ACBrNFSeX1.NotasFiscais.Clear;
ACBrNFSeX1.NotasFiscais.LoadFromFile(xNomeXml, False);
ACBrNFSeX1.NotasFiscais.Imprimir;

 

 

Boa tarde Italo.

Fiz os testes com essa alteração no  ACBrNFSeXConfiguracoes, e funcionou, a única coisa diferente foi na chamada, depois de alterado o provedor, deve-se antes de carregar o XML, chamar ACBrNFSeX.SetProvedor.

Então, se você pudesse colocar a alteração ACBrNFSeXConfiguracoes no SVN, seria ótimo, assim não seria necessário alterar ele cada vez que os fontes fossem atualizados.

 

Obrigado! 

  • Consultores
Postado

Eliandro,

Favor atualizar os fontes e reinstale o ACBr.

Agora o componente ACBrNFSeX, mais precisamente o método SetProvedor ganhou 2 parâmetros (Provedor e Versão).

Através desse método você vai poder ajustar o provedor sem a necessidade de selecionar uma cidade.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 1099 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.