Jump to content

Alexsandro Lopes

Membros
  • Content Count

    235
  • Joined

  • Last visited

Community Reputation

21 Excellent

About Alexsandro Lopes

  • Rank
    Membro

Profile Information

  • Sexo
    Masculino
  • Localização
    Fortaleza-CE

Recent Profile Visitors

1,429 profile views
  1. Irei buscar uma resposta junto a sefaz , e retorno aqui desde já grato.
  2. OK, compreendo totalmente sua colocação no entanto, no Ceara / MFe esta com essa divergência onde retorna o erro : sessao nao existe apos mudança erro foi sanado, foram realizados testes em diversos MFe's não sei por qual rasão isso acontece com os equipamentos MFe's mas desde já grato . - @Daniel Simoes percebi que no caso do equipamentos mfe's se houver demora na resposta('Que esta constante em alguns equipamentos') e for consultada sessao pra recuperar cupom que isso acontece na rotina AcbrSat.pas não consigo devido a forma como esta , ocasionado o pulo do cupom. if (Resposta.numeroSessao <> numeroSessao) then begin if (Resposta.numeroSessao <> fsSessaoAVerificar) then begin if fsSessaoAVerificar = 0 then SessaoEnviada := numeroSessao else SessaoEnviada := fsSessaoAVerificar; AStr := Format('ERRO: Sessao retornada pelo SAT [%d], diferente da enviada [%d].', [Resposta.numeroSessao, numeroSessao] ); DoLog( ' '+AStr); if fsValidarNumeroSessaoResposta then // Tenta se recuperar da resposta inválida ? begin Inc( fsErrosSessaoCount ); if fsErrosSessaoCount > fsNumeroTentativasValidarSessao then raise EACBrSATErro.Create(AStr); AStr := Format(' Consultando Sessao [%d], tentativa: %d', [SessaoEnviada, fsErrosSessaoCount]); DoLog(AStr); ConsultarNumeroSessao(SessaoEnviada); Exit; end; end else begin if fsSessaoAVerificar > 0 then DoLog(Format(' Sessao [%d] recuperada com sucesso',[fsSessaoAVerificar])); end; end else begin if (Resposta.codigoDeRetorno = 11003) and // 11003 = Sessão não existe (fsSessaoAVerificar > 0) and (fsErrosSessaoCount > 0) then begin raise EACBrSATErro.Create(Format('ERRO: SAT nao respondeu a sessao [%d]', [fsSessaoAVerificar] )); end; end;
  3. Precisei consultar uma sessão no mfe para trazer o xml do cupom e sempre me retomava a resposta : sessão não existe. Analisando o código percebi que a função ACBrSAT1.ConsultarNumeroSessao(nSessao) gerava um novo numero de sessão fazendo assim com que a sessão que consultei deixasse de ser a ultima retornando a resposta :sessão não existe . Então fiz as mudanças necessárias para evitar um possível pulo do cupom. procedure IniciaComando(cUltimaSessao : Integer) ;//acresentei (cUltimaSessao : Integer) procedure TACBrSAT.IniciaComando(cUltimaSessao : Integer) ; var AStr : String ; begin VerificaInicializado; if fsAguardandoResposta then raise EACBrSATErro.CreateFmt( cACBrSATOcupadoException, [numeroSessao] ) ; fsSessaoAVerificar := 0; if cUltimaSessao=0 then //Acrescentei essa linha para saber se vai gerar uma nova sessao ou nao GerarnumeroSessao; fsRespostaComando := ''; AStr := 'NumeroSessao: '+IntToStr(numeroSessao) ; if fsComandoLog <> '' then AStr := AStr + ' - Comando: '+fsComandoLog; DoLog( AStr ); SetAguardandoResposta(True); end ; function TACBrSAT.ConsultarNumeroSessao(cNumeroDeSessao : Integer ) : String ; var SATResp: String; begin fsComandoLog := 'ConsultarNumeroSessao( '+IntToStr(cNumeroDeSessao)+' )'; IniciaComando(cNumeroDeSessao);//nos demais fica IniciaComando(0); try fsSessaoAVerificar := cNumeroDeSessao; SATResp := ''; if Assigned(fsOnConsultarNumeroSessao) then fsOnConsultarNumeroSessao(IntToStr(cNumeroDeSessao), SATResp); if EstaVazio(SATResp) then SATResp := fsSATClass.ConsultarNumeroSessao( cNumeroDeSessao ); finally Result := FinalizaComando( SATResp ); end; DecodificaRetorno6000; DecodificaRetorno7000; end ; segue arquivos modificados ACBrSAT.pas ACBrSATMFe_integrador.pas
  4. ola boa tarde apenas configure a dll que vai ler o certificado
  5. boa tarde , ja o utilizo o componente a algum tempo e mesmo no demo não existe ainda nenhuma informação referente ao assunto sitador mesmo assim agradecido .. Bom tarde obrigado pelo esclarecimento, vou ler mais um pouco a respeito e juntar informações ,tentar ver junto a Sefaz - CE documento qualquer novidade abro um tópico referente ao assunto
  6. Ola bom dia como configurar o acbr sem o integrador?
  7. Boa tarde @Daniel Simoes Mediante esse poste eles não vão liberar a dll para testes ? A comunidade ACBr já Fez alguma evolução referente a essas mudanças em que possamos ajudar ! ou se essa Dll esta em algum link que possa disponibilizar grato boa tarde
  8. Percebi que em impressoras sem guilhotina o CFe precisa de um espaço no final para que o ' QrCorde ' não seja cortado meio ... não consigo configurar esse espaço pois os valores vindo zerados. //Para impressoras sem guilhotina não cortar no QrCorde pEspacoFinal.Height := EspacoFinal; //valor vindo =0; pEspacoFinalCan.Height := EspacoFinal;//valor vindo =0; para corrigir fiz dessa forma //Para impressoras sem guilhotina não cortar no QrCorde pEspacoFinal.Height := Margens.Fundo; pEspacoFinalCan.Height := Margens.Fundo; se eu não estiver correto gostaria de saber onde configuro esse valor alguém pra me dar uma ajuda..
  9. Aqui no ceara utilizo -TimeOut 15000 | -tentativas 10 | -Intervalo 10000 Reduzi meus problemas pra quase 0 em relação ao digestvalue Guardo em uma tabela o xml gerado consulto a chave na sefaz antes de enviar Caso ele exista na sefaz apenas atualizo o xml com o protocolo( utilizo a função consultar do componente ACBrNFe). se ela não existir na sefaz gero novamente xml sobrepondo o outro na tabela e tento enviar o xml. Utilizando nesse padrão reduzi a zero a questão do erro DigestValue
  10. agora que percebi se você usa o certificado A1 utiliza como open ssl usa a configuração que especifiquei acima e tenta https://blog.unimake.com.br/blog/com-a-nf-e-4-0-sistemas-windows-desatualizados-vao-paralisar-a-emissao-de-notas-das-empresas/ da uma olhada nesse link Atualiza teu NET Framework 4.6.2.
  11. utilizo o windows 7 com meus clientes e ele passa normalmente qual dll's você esta usando para comunicar o erro 403 significa que você não tem permissão para navegar ou seja seu protocolo tls1.2 não esta ativo tenta usar esse arquivo ai em uma das maquinas ele ativa o protocolo tls 1.2 obs: somente em windows 7 nas demais maquinas não testei com windows 8 , 10 não testei MicrosoftEasyFix51044.msi
  12. ola bom dia voce ja configurou o Internet explorer para tls1.2?
  13. infelizmente não! Chega ser impressionante como a SEFAZ do estado do Ceara e desinteressado com os contribuintes estou tentando todos os dias aqui mandei e-mail para suporte oque estou fazendo aqui e nao informar a tag fatura e duplicata(so em casos de extrema necessidade) e na tag pagamento estou informando <detPag> <indPag>1</indPag> //A prazo <tPag>99</tPag> // tipo de PGTO Outros <vPag>237.01</vPag> </detPag>
  14. Valeu pela Luz ! Fica a dica para os outros companheiros realmente funciona desta forma, pelo que percebi com o teste que passou com exito , o erro não e nosso e sim da sefaz ,acredito eu que esse problema seja sanado com os nossos amigos da sefaz em breve ...
×
×
  • Create New...