Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    27.060
  • Registro em

  • Última visita

  • Days Won

    759

Tudo que Daniel Simoes postou

  1. Tente assim: { Verificando se essa Resposta já foi cancela em outro arquivo } JaCancelado := False ; I := 0 ; while (not JaCancelado) and (I begin if (RespostasCanceladas[I] is TACBrTEFDRespTXT) or (Tipo = gpVeSPague) then begin with TACBrTEFDResp( RespostasCanceladas[I] ) do begin JaCancelado := (Resp.Rede = Rede) and (Resp.NSU = NSU) and (Resp.Finalizacao = Finalizacao) and (Resp.ValorTotal = ValorTotal) ; end; end else begin with TACBrTEFDResp( RespostasCanceladas[I] ) do begin JaCancelado := (Resp.DocumentoVinculado = DocumentoVinculado) ; end; end; Inc( I ) ; end; [/code] afinal sempre é bom verificar se a transação já foi cancelada
  2. Hummm agora que notei o IF if RespostasCanceladas is TACBrTEFDRespTXT then (incrível como a gente esquece o que escreveu) Acho que a final de contas a sua alteração faz sentido... apenas no caso do SiTEF, que o cancelamento deve ser feito apenas 1 por documento (ele já cancela todas as transações pendentes para esse documento)... acho que o V&SPague não faz isso... Vou aplicar no SVN
  3. O GP se comportará de forma muito estranha nesse teste (mas não lembro exatamente como)... Por favor entre em contato com as homologadoras e verifique... Na verdade, tudo que eles querem "verificar" e se a aplicação imprime o comprovante mesmo com o Valor diferente...
  4. Analise o Log gerado pelo ACBrECF... veja se ele realmente mandou 2x o Item...
  5. Esse código existe porque no caso do TEF discado, pode haver o arquivo de Backup criado pelo ACBrTEFD e o INTPOS.001 que ainda não foi apagado, ambos se referindo a mesma transação... Não vejo como isso pode interferir no V&SPague... pois a variável JaCancelado só será True se a transação for idêntica (mesmo NSU, valor e tudo mais) a uma já cancelada anteriormente
  6. Senhores, se desejarem apresentar patchs para o ACBrTEFDVSPague.pas, por favor anexem os arquivos para analise...
  7. Essas linhas são muito, muito, muito antigas... acho que quase tudo que está lá já foi implementado.... Acompanhe as mudanças em ACBrSerial-ChangeLog.txt após estudar um pouco os fontes das classes, vc verá que não é muito complicado implementar algum comando novo (caso o mesmo ainda não exista)... Leia em detalhes os fontes do projeto Demo ECFTeste.dpr acredito que todos os métodos e propriedades existentes são detalhados lá...
  8. Esse método não está implementado em todos os modelos de ECF... e em alguns outros modelos ele simplesmente não existe... O mais seguro é usar ECF.DadosReducaoZ antes de chamar a ECF.ReducaoZ
  9. Todas as informações sobre o ACBrMonitor estão no manual On-Line http://acbr.sourceforge.net/ACBrMonitor.htm Verifique se todos os comandos que vc usa com as DLLs tem chamada equivalente
  10. copie aqui trecho do LOG gerado pelo ACBrECF... verifique ainda os valores da Descrição na LeituraX
  11. Voce deve estar usando uma versao antiga do Lazarus... Use uma do Snapshot como descrito no Link http://acbr.sourceforge.net/ACBrMonitor ... nitor.html
  12. Veja a aba ECF do ACBrMonitor
  13. Essa mensagem é impressa pelo próprio ECF não há como evita-la... Porém a algo errado na sua rotina de impressão de Cupom... Essa mensagem só é impressa quando vc imprime um Relatório Gerencial ou Recebimento não Fiscal Recomendo a leitura da Cartilha do ECF (da Sweda) http://www.sweda.com.br/cartilha.aspx
  14. Enviei uma possível correção para o SVN, por favor teste e comunique
  15. Lucio, os fontes parecem estar corretos... o comando enviado é o [FS] 'R' [200] '070' que é descrito como: 70 8 N Data do Movimento (DDMMAAAA) if fpMFD then // Autor: Ederson Selvati begin RetCmd := RetornaInfoECF('070'); OldShortDateFormat := ShortDateFormat; try ShortDateFormat := 'dd/mm/yyyy'; Result := StrToDate( copy(RetCmd,1,2) + DateSeparator + copy(RetCmd,3,2) + DateSeparator + copy(RetCmd,5,4) ); finally ShortDateFormat := OldShortDateFormat; end; end[/code] Por favor anexe trecho do LOG gerado pelo ACBrECF (log do ECF) para analisarmos o retorno do comando 070
  16. Vou dar uma olhada nos fontes... mas a dificuldade é que não há emulador desse ECF, e eu não tenho um para testes...
  17. Humm.. compreendi... desculpe a minha falha... SIM, o TEF do V&SPague é como qualquer outro TEF dedicado, capaz de suportar diversos cartões e bandeiras, e portanto a homologação dele é aceita pelo SEFAZ como pre-requisito do PAF-ECF
  18. Por que não usar um TDBNavigator ? ( o do Lazarus é até bem bonitinho )
  19. Ha muito tempo venho usando o Emulador Logg2 sem nenhum problema... Deve ser algo no seu emulador de Portas seriais... A DLL muito provavelmente não está usando o canal de portas seriais para falar com o Emulador Como uma imagem vale mais do que mil palavras, segue um ScreenShot, do ECFTeste.exe rodando o Teste de Velocidade com o Logg2 (nesse teste ele imprime um cupom inteiro)
  20. Não tem nada a ver com SEFAZ... Uma coisa é homologação TEF, outra é a do PAF-ECF
  21. O erro parece ser na execução da DLL.. pesquise com o fabricante sobre o retorno: Cod.: -8
  22. provavelmente vc está informando a resposta errada... (notei que está tudo '0')... entenda, a variável "Resposta" deve conter o que o usuário digitaria
  23. O que não funcionou ? Ao que parece vc continua fazendo a abertura do form ShowModal, mesmo já tendo a resposta que deseja... corrija isso...
  24. Você poderia usar um Servidor FTP, e a biblioteca Synapse ou Indy fariam o "Client" do FTP... Mas isso só iria transferir o arquivo, provavelmente vc precisará de um programa "robô" do lado do Servidor para detectar a chegada do arquivo e integra-lo a base principal
  25. Durante a homologação, vc precisa realmente exibir novamente as Telas, caso contrário eles irão solicitar isso... Mas depois, basta você verificar o Tipo do campo que chega no evento OnObtemCampo e atrabuir manualmente a resposta a ele... Exemplo: case TipoCampo of 504 : // Taxas de Servico e Taxa de Embarque begin Digitado := True; VoltarMenu := False; Resposta := '0,00' ; end ; else [/code]
×
×
  • 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...