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?


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

Recommended Posts

  • Consultores
  • Solution

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

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Eliandro,

E com o LoadFromFile você não realizou um teste para ver se os dados também ficam em branco?

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

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
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! 

Link para o comentário
Compartilhar em outros sites

  • Consultores

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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1044 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.

The popup will be closed in 10 segundos...