Ir para conteúdo
  • Cadastre-se

dev botao

Nao consigo pegar o Nome do Arquivo de Envio gerado pelo ACBR


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

Recommended Posts

  • Membros Pro

Ola Srs do Acbr , nao estou conseguindo pegar o nome do arquivo de Envio gerado pelo ACBR

ja tentei de tudo, eu vi que assim que ele gera....mas onde fica esse nome....

pois nao posso usar essa formula, pois daria outro nome... Os nomes do arquivo de venda e cancelamento eu consegui usando as respectivas formulas de criacao , nem sei se esta certo , mas deu certo...

mas esse ai preciso pegar em algum lugar que nao sei onde...

 

ACBRSAT1.CalcCFeNomeArq( ACBRSAT1.ConfigArquivos.PastaEnvio,
                               ACBRSAT1.ConfigArquivos.PrefixoArqCFe +
                               FormatDateTime('YYYYMMDDHHNNSS',Now) + '-' +
                               IntToStrZero(ACBRSAT1.numeroSessao, 6),
                               '-env');

ACBRSAT1.cfe.NomeArquivo , esta em branco...

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O Nome do Arquivo de envio não é Salvo em ACBrSAT.CFe.NomeArquivo... Mas SIM o nome do arquivo de Resposta...

O arquivo de envio é incompleto, e não contem várias Tags, que serão populadas pelo SAT e estarão no arquivo de resposta

Você mesmo pode salvar o arquivo de envio, onde você quiser, e com o nome que você quiser...

Exemplo:

WriteToTXT( 'C:\APP\MeuArquivoCFe.xml', ACBrSAT.CFe.GerarXML( True ) );

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Obrigado Daniel, amanha cedo vou testar, so falta isso , para eu poder controlar o reenvio de xml que retornou com erro, 

na verdade  ainda e um envio , pois por algum motivo deu retorno com erro, entao , quando da erro , preciso guardar o xml e o codigo do erro,

corrigir o erro e depois enviar novamente, porisso guardo numa tabela e gerencio, cada linha com uma cor tipo verde foi ok, cinza cancelado,

e branco , quando deu erro e precisa analisar,corrigir e enviar, novamente, por ex...deu problema quando o produto é por peso, com 4 casas decimais

e no final deu 1408 dirença   no vlr total pago com vlr total calculado pelo SAT ...alias isso porque antes na impressora fiscal alguma precisava truncar e outras arredondar, quando usava balanca...senao dava pau...entao tive que mudar tudo para so arredonar agora, pois o SAT so arredonda...e deu certo..

e apos isso tive que enviar novamente.... 

 

Link para o comentário
Compartilhar em outros sites

Aqui usamos o evento "AntesCancelarCupom":

 

function    xxxx.GetNomeXMLSAT(ChaveCFe:string):string;

begin

  result := FACBrSAT.CalcCFeNomeArq
    (FACBrSAT.ConfigArquivos.PastaCFeVenda,
     FACBrSAT.ConfigArquivos.PrefixoArqCFe + ChaveCFe);

end;

 

procedure xxxx.DoAntesCancelarCupom(snd: TObject);
begin
  if TipoEmissor = emissorSAT then
  begin
     FACBrSAT.CFe.NomeArquivo := GetNomeXMLSAT(ChaveCFe);
  end;
end;

 

Detalhe: Notando que em alguns casos os dados do xml não estavam carregados na memória, então fizemos;

    

        FACBrSAT.CFe.LoadFromFile(
          GetNomeXMLSAT(ChaveCFe)
          );
        FACBrSAT.CancelarUltimaVenda();

 

 

Verifica se:

     SalvarCFe := true;

     PastaCFeVenda :=  <caminho de gravacao>

 

 

 

 

Amarildo Lacerda

Storeware Team

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Ola Amarildo, meu problema e antes disso , quando ainda estou enviando a venda e por algum motivo deu erro e nao concluiu nem gerou ainda o xml da venda pois deu erro, porisso preciso , guardar esse xml  original para analisar e enviar novamente...

o cancelamento ja esta tranquilo pois ja tenho o xml da venda , ai e moleza...toda vez quer envia a venda quardo todos os dados num arquivo

mas quando da erro eu so tenho os dados basicos do cupom que nao passou nem gerou xml de venda .. ai preciso checar e  mandar novamente

o problema e saber quais deram problema para acertar e mandar...

Cancelar -> ja tem um cupom gravado o xml de venda

reimpressao -> idem

reenvio ->  ainda nao temos nada, so tenho um registro com dados de filial,data,tipo lancamento e meu numero interno do cupom, ja que o cfe e por conta do SAT

com estes dados basicos e o xml original eu posso analisar e ver o que saiu errado e reenviar...

.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

gravar o xml é tranquilo como o Daniel disse la, mas eu achei que tinha alguma coisa do tipo no ACBR, apos enviar com erro ou sem erro

ACBrSat1.cfe.NomeArquivoCFeEnvio           ===> Nome do Xml que o ACBR gerou e gravou na pasta  Enviados 

ACBrSat1.cfe.NomeArquivoCFeVenda          ===> Nome do Xml que  o ACBR gerou e gravou na pasta  Vendas 

ACBrSat1.cfecanc.NomeArquivoCFeCancelado   ===> Nome do XML que  o ACBR gerou e gravou na pasta  Cancelados

mas ai era muita moleza,.....rs

Editado por geanjesus
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Geanjesus , Não sei se vai te ajudar , mas no meu caso , fazemos assim: estando na Tela de vendas , quando clico em fechar a venda , o sistema gera o XML e envia para o SAT. Se foi aceito , continua o processo , grava todos os dados, faz o bkp do XML de venda  e manda imprimir o Cupom. Quando acontece alguma coisa de errado ,  o sistema avisa que não foi possivel gerar o cupom, apresenta as mensagens que retorna do SAt e volta para a tela de vendas  esperando alguma decisão. Não entendi porque guardar o XML da venda para enviar depois , a não ser que voce grava todos os dados da venda como definitivo e só depois manda para o SAT. Mas ai acho que fica meio perigoso  hein , pode acontecer de tudo nesse meio tempo.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Exatamente , Biniva , eu criei um programa a parte , como se fosse um ACBRmonitor, para fazer o sistema de

controle de NFE, NFCE e SAT, o qual eu passo os parametros apos  terminar a venda e ja estar tudo checado e

gravado nos devidos arquivos de controle, isso ja funciona ha mais de 20 anos em muitos clientes com  impressora fiscal

e tenho em comum um arquivo para gerenciar , pois meu sistema pode fazer venda pelo frente de loja, mas tambem quando a empresa nao e obrigada a emitir cupom fiscal , eu uso outra forma para realizar as vendas pelo NFE, passando parametros tambem, agora com NFCE e SAT , antes eu tinha no frente , impressora Bematech,Daruma, sweda, etc.... , fiscal e outra nao fiscal , para imprimir documentos nao fiscais, entao eu criei uma impressora chamada genericaSAT , e atraves dela faco toda a venda com todos os controles e cuidados como era antes, so que operando ora como fiscal, ora como nao fiscal, por exemplo calcula e grava os impostos , mas nao imprime nada como se nao tivesse nenhuma impressora, entao no final depois de tudo tratado eu mando para o programa por parametros para tratar o SAT,NFCE ou NFE, isso ja estava funcionando com a NFE, ha muitos anos...o que fiz foi imprementar o SAT e a NFCE. aproveitando toda a operacao com impostos que ja estava programada...e tambem liberando o Frente para nao ficar amarrado diretamente com o SAT ou NFCE , ou seja em vez de tratar o SAT,NFCE ou NFE, voce manda outro Programa fazer isso e fica Liberado..tratando os retornos e claro, .mais ou menos como um Mini ABCRMonitorPLus....

Assim para quem ainda vai usar por muito tempo as impressoras fiscais, nao teria nenhum problema, pois e so indicar a impressora X e o sistema continua exatamente como estava... Ah  para o cliente isso fica tudo transparente...sem sair de sua tela de venda...

Editado por geanjesus
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Muito Obrigado Daniel , fiz como voce orientou e deu tudo certo..

desabilitei o SalvarEnvio e gravei o xml  conforme o comando que voce passou acima e deu certo...

eu estou gravando apos tentar enviar e dar erro, pois assim pego o numero da sessao retornado,

ou seja uso o mesmo calculo que voce usa interno , mas eu que gravo e,  assim ficou correto...

Link para o comentário
Compartilhar em outros sites

Boa tarde GeanJesus, os comandos abaixo servem só para o trunk2 ?

ACBrSat1.cfe.NomeArquivoCFeEnvio           ===> Nome do Xml que o ACBR gerou e gravou na pasta  Enviados 

ACBrSat1.cfe.NomeArquivoCFeVenda          ===> Nome do Xml que  o ACBR gerou e gravou na pasta  Vendas 

ACBrSat1.cfecanc.NomeArquivoCFeCancelado   ===> Nome do XML que  o ACBR gerou e gravou na pasta  Cancelados

Link para o comentário
Compartilhar em outros sites

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