Jump to content

Daniel Paixão-Cascavel

Membros
  • Posts

    427
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Daniel Paixão-Cascavel

  1. Sim Daniel, deveria fazer. Ele executa os procedimentos que você citou ai encima, exatamente como estão mas, no método CAncelarTransacoesPendentesClass, na linha 1564 da ACBrTEFClass, o "ArquivosVerficar.Count" é sempre "0"(zero). Como já te disse em um post anterior meu, eu só posto aqui depois de muito debugar e bater cabeça. Posso estar equivocado mas, sou um equivocado com convicção de que fiz a lição de casa..rsss. ATENÇÃO! O problema só acontece quando eu "derrubo" a aplicação antes de retirar o cartão. Se eu "derrubar" depois de retirar o cartão, ele funciona direitinho.
  2. Não Juliomar, o post antigo meu era sobre o caso de se ter vendas aprovadas, em que eu ja havia retirado o cartão e estava começando a imprimir. Este caso é o seguinte: Inicio uma transação, passo o cartão normal, digito a senha e, quando aparece a mensagem: RETIRE O CARTAO DA LEITORA, eu derrubo a aplicação. Quando eu re-abro a aplicação e chamo o Ativar do TEF, na classe ACBrTEFDCliSiTef.pas, na linha 405, ele chama o VerificarTransacoesPendentesClass, que está na classe ACBrTEFDClass. Mais especificamente na linha 1050 da ACBrTEFDClass, ele chama o metodo CancelarTransacoesPendentesClass se o estado da impressora estiver V,P,N ou O, ou seja, se, se o cupom estiver aberto ou em pagamento. Acontece que, se você debugar, vera que o método CancelarTransacoesPendentesClass não identifica nenhuma transação pendente no TEF, mesmo que ela esteja pendente (neste caso especifico de derrubar a aplicacao antes de retirar o cartao), logo, se eu fizer um controle no meu sistema pra, quando reiniciar o sistema, verificar se existe transacao pendente e cancelar, tecnicamente eu deveria chamar o CancelarTransacoesPendentesClass, e então, ele faria o mesmo percurso e não funcionaria. Quando acontece isso, se eu chamar outra transação TEF (Venda ou ADM), o proprio Sitef cancela a venda que ficou pendente mas, seria interessante se o ACBr conseguisse identificar essa transação pendente no Ativar, e ele mesmo cancelasse ela, ou se o metodo CancelarTransacoesPendentesClass identificasse essa transsação. Entendeu??
  3. Galera, na minha pré-homologação do Sitef dll, levantou-se uma questão que o Homologador meio que deixou passar mas, amanhã é a homologação e estou com receio de isso voltar e me incomodar. A situação é a seguinte: Inicio uma venda, insiro o cartão, faço a transação e, quando o sistema pedir pra retirar o cartão da leitora, eu derrubo a aplicação simulando uma queda de energia. Quando eu inicio a aplicação novamente tento cancelar as transações pendentes, o ACBr simplesmente não acha essa transação. Já debuguei de tudo quanto é jeito e, realmente ele não consegue cancelar essa transação. Na pré passou porque, pelo que entendi, quando eu inicio uma nova transação, o Sitef simplesmente cancela a ultima transação que ficou pendente pro mesmo cartão. Teste isso no TEFDemoNF e no TEFDemo e também observei o mesmo comportamento. Pergunto: É assim mesmo? Não te um método que eu possa chamar pra verificar se alguma transação ficou pendente e mandar um Cancelar? Sempre grato pela atenção de vocês, abraço!
  4. Pessoal do ACbr e pessoal que já implementou, se puderem me responder: Eu acabei de fazer a pre-homologacao do Sitef DLL com o ACBr e já queria implementar este PayGo. Pergunta: Muda muita coia ou vou poder aproveitar as coisas que ja fiz pro Sitef? Quero saber a grosso modo. Andei já dando uma olhada nos eventos do componente, vi que tem algumas coisas bem específicas. Dai tenho medo de começar a mexer e inviabilizar o Sitef.
  5. Cara, mais uma vez muito obrigado. Eu imaginei que tivesse faltando algo porque, pelo tanto que debuguei e teste.Abraço chará!
  6. Não, eu nunca usei ECF, meu sistema sempre foi com NFC-e, então, sempre usei impressora não fiscal (ACBrPosPrinter). Estou implementando o TEF pela primeira vez. Pergunto: NO TEFDemoNF (Projeto de exemplo do TEF com impressora não fiscal) deveria funcionar isso? POrque eu testei no TEFDemoNF e também não funciona, ou seja, a transação também fica pendente no modulo dos relatorios do Sitef.
  7. AS duas ultimas transacoes foram feitas pelo TEFDemoNF e tambem ficam pendentes.
  8. Ai que ta @Juliomar Marchetti, sempre antes de postar aqui, eu pego o ACBrTEFDDemoNF e faço o mesmo teste, e nele também acontece a mesma coisa: Chama um ADM, faz o cancelamento de uma transação, imprime o comprovante mas, no modulo de relatorios do Sitef a trasação fica pendente. Por isso que postei aqui. Só falta isso pra minha pre-homologação. Ja estou ficando sem os cabelos por causa disso. Eu debuguei até tarde da noite ontem e realmente, na unit ACBrTEFClass, na linha 1860, o Resp.Confirmar sempre vem false. Eu tentei achar alguma condição pra ele vir true, mas nada. Eu não posso alterar o componente porque todos os comprovantes passam por ali. Me de uma luz se puder. Grande abraço.
  9. Galera, ultima coisa pra mim finalizar a pre-homologacao: Na unit ACBrTEFClass, na linha 1860, o que eu preciso fazer para o Resp.Confirmar vir True? Ou, se alguem puder me responder, no ACBrTEFD, como eu faço pra enviar o CNF de um ADM (ex: Cancelamento)??? So falta isso galera, me ajudem please! Abraço.
  10. Como posso fazer isso (sugestões de correção/melhoria)? POr aqui mesmo?
  11. No teste de multiplos cartões do TEF (Clisitef.dll), no roteiro diz o seguinte: Passo 3 cartoes e, antes de completar o valor da venda, ou seja, com transacoes pendentes, eu derrubo a aplicação pra simular falta de energia. Quando eu reinicio o sistema, e chamo o metodo Ativar do TEF, ele ja entra confirmando as transações que ficaram pendentes. Fui fazer a pre-homologação e o cara que estava fazendo os testes me disse que não pode, veja o que ele me escreveu: "aqui ou cancela tudo, ou deixa pendente, volta da onde parou e deixa o operador escolher se quer seguir com o ultimo pagamento ou cancelar tudo, beleza?" "se optar por cancelar deve avisar na entrar que todas as transações tef não foram efetuadas" "se seguir, vai fazer o ultimo pagamento e enviar uma finaliza para todas as transações abertas com o mesmo código de cupom" Então, eu optei por: Ao entrar no sistema, dizer ao usuario que tem transacoes pendentes e se ele quer continuar a venda, se ele continuar, eu re-abro as formas ja lancadas pra ele completar tudo e, somente no final da venda, eu envio a confirmação das transacoes pendentes. Ai está o problema: Quando eu chamo o metodo ativar do TEF, ele ja confirma as transacoes pendentes. Isso é um problema pra mim porque, se o usuario decidir cancelar as venda, ou seja, nao continuar, eu preciso que as transacoes estejam pendentes para que eu possa apenas mandar uma nao confirmacao. Como posso proceder com o ACBrTEFD para isso funcionar assim?
  12. Eu achei que tivesse como recuperar as transações pendentes no servidor e confirmar/cancelar pelo numero.
  13. Após inúmeros testes e tentativas, tive que voltar aqui pra re-abrir a discussão. Seguinte: Se eu entro numa venda TEF (CRT), envio a venda, insiro o cartão, digito a senha e, quando aparece a informação de "RETIRE O CARTAO DA LEITORA", e eu retiro, apartir do momento em que eu retiro o cartão o TEF retorna os dados da transação e eu posso guardar isso pra confirmar a transação depois. O problema acontece quando eu NÃO retiro o cartão da leitora e finalizo a aplicação (desligamento ou CTRL+ALT+DEL). Nesse caso, quando eu ainda não retirei o cartão, eu não tenho como guardar os dados da operação pra cancelar ou confirmar ao reiniciar a minha aplicação. Estudei novamente e debuguei o TEFDemo mas, como já tinha dito anteriormente, ele (o exemplo), tambem não faz esse tratamento específico. Preciso saber como eu posso fazer pre resolver isso pois, estou em um beco sem saída quanto a este procedimento.
  14. Certo, entendi. No meu caso, que não uso ECF, apenas devo verificar se tenho pendência armazenada e confirmar e/ou cancelar. Muito obrigado!
  15. Ta mas, então, só pra confirmar: O ACBrTEFD não consegue verificar se uma transação ficou pendente quando eu derrubei a aplicação? É isso? Pelo que entendi, sua sugestão é pegar as informações do banco de dados e confirmar/cancelar a transação por ela?
  16. @Juliomar Marchetti, desculpa insistência mas, veja como estou fazendo: Entro na tela de venda e chamo o Ativar, chamo CRT para iniciar a venda, passo o cartao, digito a senha e, quando retorna a mensagem de RETIRAR O CARTAO, antes de retirar eu dou CTRL+ALT+DEL e finalizo a minha aplicação. Ao entrar novamente na aplicação, chamo o método Ativar, assim como faço toda vez que entro na tela de vendas mas, ao meu ver, ele deveria achar essa transação pendente, uma vez que , se eu for no modulo de relatorios do Clisitef, ela esta pendente. Acontece que, se eu for na classe, TACBrTEFDClass, na linha 1901, o Arquivosverificar.count está = 0. Tente fazer esse teste ai, do mesmo modo em que eu estou fazendo. Obs: Eu fiz o mesmo teste no TEFDemoNF.dpr e também não acha a transação que ficou pendente. Abraço
  17. Galera, quando eu chego a postar aqui é porque eu ja testei de tudo quanto é jeito. Hoje fui pego de surpresa na pré homologação do TEF Clisitef dll no seguinte teste: Inicia a venda, passa o cartão e digita a senha, quando aparece a mensagem pra retirar o cartão do leitor, finaliza a aplicação simulando uma queda de energia. Quando reinicia a aplicação, que métodos do componente ACBrTEFD eu tenho que chamar pra verificar se existem transações pendentes ? POis preciso confirmar e/ou cancelar as transações que ficaram quando deu a "queda de energia". Se alguem puder me ajudar, fico grato. Abraço.
  18. Galera, estou com um problema aqui na re-impressao de comprovante TEF com ACBrPOSPrinter. Se eu faço vendas com um ou mais cartões e, logo após, vou re-imprimir um comprovante TEF especifico, o comprovante sai normal, porem, se tento novamente re-imprimir, não imprime e retorna a mensagem de 'ECF Não está livre'. Sei que devo estar deixando alguma coisa pra trás com relação ao status fictício da impressora. Alguem pode me dizer o que estou fazendo de errado? Segue abaixo meu codigo de impressão: procedure TFrmRotVenda.TEFImprimeComprovante(ImagemComprovante: TStringList); var ACBrPosPrinter:TACBrPosPrinter; Modelo:TACBrPosPrinterModelo; begin if (ImagemComprovante=nil) then raise Exception.Create('Comprovante não pode ser "NULL"'); try ACBrPosPrinter := TACBrPosPrinter.Create(nil); Modelo := TACBrPosPrinterModelo(TSingleParametros.Prm.Perifericos.Impressora.Modelo); ACBrPosPrinter.Modelo := Modelo; ACBrPosPrinter.Porta := TSingleParametros.Prm.Perifericos.Impressora.Device.PortaSerial; ACBrPosPrinter.Ativar; ACBrPosPrinter.Buffer.Text := ImagemComprovante.Text; ACBrPosPrinter.Imprimir; ACBrPosPrinter.PularLinhas(9); ACBrPosPrinter.CortarPapel(True); TEF.MudarStatusImpressora(tpsLivre); finally ACBrPosPrinter.Desativar; FreeAndNil(ACBrPosPrinter); end; end;
  19. Galera, tudo bem? Espero que sim. Minha dúvida é a seguinte: Estou implementando o TEF com NFC-e e ja estou finalizando mas, fui debugar aqui , e percebi que dentro da classe de resposta do TEF no ACbr (TACBrTEFResp) tem uma subclasse, a TACBrTEFRespNFCeSAT que, logicamente, tem os dados necessários para o preenchimento das forma de pagamento da NFC-e, porem, pelo que vi, no modo homologacao do CliSitef, ao finalizar a transação os unicos dados que vem preenchidos são: DonoCartao, DataExpiracao e UltimosQuatroDigitos. Os campos CodCredenciadora, Autorizacao, Bandeira e Cartao nao sao preenchidos automaticamente. Perguntas: Isso não era pra vir preenchido? Eu preciso preencher isso pra emitir a NFC-e? Obs: Eu ja preencho a nota com os dados que peguei das respostas da transacao. Obrigado.
  20. Certo mas, como eu faço pra utilizar ele em meu projeto? Existe alguma configuração do ACBrDANFe em que eu possa indicar o nome do relatório?
  21. Ola, tudo bem? Estou com o mesmo problema do colega ai. Vou te perguntar duas coisas: 1-Existe uma solução definitiva do ACBr pra isso já? Se não, 2: Como eu poderia usar esse seu relatorio ai "NFCeTermica.fr3"? Eu devo colocar ele em alguma pasta? Ou devo desenvolver uma nova tela em meu sistema com este relatorio? Nao entendo muito de Fortes Reports porque uso o Crystal Reports em meu sistema a muito tempo ja. Obrigado.
  22. Bom dia meu caros. Estou gerando o SPED Fiscal normalmente como sempre fiz mas, atualizei o validador do SPED Fiscal para a versao 2.6.6 e agora, quando vou validar, da erro na estrutura do arquivo com a seguinte mensagem: "O numero de campos informado no registro difere do numero de campos especificados no leiaute do arquivo. Valor esperado: 14, Conteudo do Campo: 13. Pelo que andei olhando , está faltando algum campo na unit ACBrEFDBloco_1, na classe TRegistro1010. Alguem poderia me ajudar com isso? O que preciso fazer pra resolver?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.