Ir para conteúdo
  • Cadastre-se

dev botao

Importar XML do BD para Impressão


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

Recommended Posts

Bom dia, tenho um dbgrid, que esta ligado a uma query de pesquisa. Aonde o usuário irá pesquisar as notas emitidas para imprimir elas. Porém não estou conseguindo carregar o arquivo xml para ele ser impresso. O mesmo já se encontra salvo no banco de dados (tipo do campo blob). Estou utilizando o banco de dados oracle, delphi tokyo e o componente ACBrNFSe.
Funções que estou utilizando para imprimir: ACBrNFSe1.NotasFiscais.Imprimir; ACBrNFSe1.NotasFiscais.ImprimirPDF;

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Como vc está tentando carregar o XML?

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Juliana Tamizou disse:

Bom dia.

Como vc está tentando carregar o XML?

Att.

Entao, isso que não estou conseguindo fazer corretamente..consegui pegar o arquivo do banco e salvar ele dessa maneira:

TBlobField(DM.qryXML.Fields[3]).savetofile('C:\Compileds\nfse\Win32\Debug\log\201910\NFSe\Notas\teste.xml'); (deixei dessa maneira para teste, pois se eu pegar o arquivo direto do banco, ele vem em hexadecimal, nao sei se tem outra forma de fazer) (talvez eu esteja fazendo algo errado, sou iniciante nessa parte de manipulação de arquivos)

Pelo o que consegui entender, o ACBrNFSe1.NotasFiscais.Imprimir; ACBrNFSe1.NotasFiscais.ImprimirPDF; busca sempre o que esta no PathGer, neste caso eu teria que alimentar o componente novamente, só não entendi muito bem como fazer isso...

Link para o comentário
Compartilhar em outros sites

  • Administradores
  • Solution

Boa tarde.

Veja estes métodos do ACBrNFSe para carregar o XML

Citar

 function LoadFromFile(const CaminhoArquivo: String; AGerarNFSe: Boolean = True): Boolean;
 function LoadFromStream(AStream: TStringStream; AGerarNFSe: Boolean = True): Boolean;
 function LoadFromString(AXMLString: String; AGerarNFSe: Boolean = True): Boolean;

Att.

  • Obrigado 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Juliana Tamizou disse:

Boa tarde.

Veja estes métodos do ACBrNFSe para carregar o XML

Att.

Deu certo. Utilizei a function LoadFromString.

Só mais uma duvida sobre uma situação que pode ocorrer:

Estou enviando uma nota para a prefeitura (gerando ela), porém no meio do processo a internet oscila/cai, sendo assim, o sistema não conseguiu pegar o protocolo de retorno. Se eu tentar enviar essa nota novamente, vou obter o retorno que o rps já foi informado, sendo assim, o sistema não vai ter conseguido baixar o xml da prefeitura e a minha nota não vai estar com o status 4 (processado com sucesso).
Qual a melhor maneira para tratar essa situação?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Mas que mania de vocês enviar novamente toda vez que ocorre um erro.

Por algum acaso você tem certeza que o erro que ocorreu foi durante o envio?

E se foi no retorno?

Provedores que seguem a versão 1 do layout da ABRASF, se ocorreu erro ao enviar o passo seguinte é ConsultarSituacao.

Se retornar a situação 3 ou 4 devemos Consultar o Lote para pegar as rejeições ou os XML das NFS-e caso tenha sido processado com sucesso.

O numero do protocolo é o retorno do envio, se ocorreu erro nesse retorno não há nada o que possa ser feito pois não existe nenhum serviço que retorna novamente o numero do protocolo que atesta que o webservice recebeu o seu lote de RPS.

Já os provedores que seguem a versão 2 do layout da ABRASF, se ocorreu erro ao enviar o passo seguinte é Consultar o Lote, uma vez que nessa versão não existe o serviço de consultar a situação do lote.

  • Curtir 2
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Devido ao problema original ter sido resolvido, estou fechando o tópico, para novas dúvidas favor criar um novo tópico.

Att.

  • Obrigado 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1548 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.