Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    29.331
  • Registro em

  • Última visita

  • Days Won

    781

Tudo que Daniel Simoes postou

  1. O próprio ECFTeste demonstra como usar o ACBrAAC... Você está lendo dados demais... não precisa ler o CRZ a cada Item... Vc irá consultar isso apenas numa tentativa de recuperação do A.A.C.
  2. Se não me engano haverá um exception quando o componente não conseguir gerar a Remessa...
  3. Será que vc não está fazendo verificações demais ? Repare no código fonte do ACBrECF... quando ele está ligado a um componente ACBrAAC, ele faz todas as verificações que o PAF-ECF solicita...
  4. Apenas por valor... Mas qual é a dificuldade de computar o valor baseado em uma Percentagem ?
  5. Acho que sei do que se trata.... você precisará ajustar seu evento OnInfoECF de acordo com o descrito no Demo... Leia esse trecho do ACBrTEFDCliSiTef.pas try Est := TACBrTEFD(Owner).EstadoECF; except Est := 'O' ; { TODO: Criar arquivo de Status da Transação Se o ECF estiver desligado, será retornado 'O', o que fará o código abaixo Cancelar Todas as Transações Pendentes, porém, pelo Roteiro do TEF dedicado, é necessário confirmar a Transação se o Cupom foi finalizado com sucesso. Criar um arquivo de Status que seja atualizado no Fim do Cupom e no inicio do CCD, de maneira que seja possível identificar o Status do Documento no ECF indepentende do mesmo estar ou não ligado Como alteranativa, é possível implementar código no Evento "OnInfoECF" para buscar o Status do Documento no Banco de dados da sua aplicação, e responder diferente de 'O', (Veja exemplo nos fontes do TEFDDemo) } end ; fpInicializado := True ; // Cupom Ficou aberto ?? Se SIM, Cancele tudo... // if (Est in ['V','P','N','O']) then CancelarTransacoesPendentesClass else // NAO, Cupom Fechado, Pode confirmar e Mandar aviso para re-imprimir // ConfirmarESolicitarImpressaoTransacoesPendentes ; E no Demo: procedure TForm1.ACBrTEFD1InfoECF(Operacao : TACBrTEFDInfoECF; var RetornoECF : String ); var ASubTotal: Double; begin try if not ACBrECF1.Ativo then ACBrECF1.Ativar ; except { Para CliSiTEF ou V&SPague aplique o IF abaixo em sua aplicação, que permite saber se o Cupom foi concluido mesmo com o ECF desligado } if (not ACBrTEFD1.TEF.Inicializado) and { Está na inicialização ? } (Operacao = ineEstadoECF) and { Quer Saber o estado do ECF ? (mas se chegou aqui é pq o ECF já está com problemas) } (ACBrTEFD1.GPAtual in [gpCliSiTef,gpVeSPague]) then begin { Leia o último Documento Gravado no seu Banco de Dados, e verifique se o Cupom já foi finalizado,ou se já foi aberto um CCD ou Gerencial... Exemplo: Documento.Le(0); if (Documento.Finalizado) or (pos(Documento.Denominacao,'CC|RG') > 0) then RetornoECF := 'R' else RetornoECF := 'O' ; } //RetornoECF := 'O'; // Executará CancelarTransacoesPendentes; RetornoECF := 'R'; // Executará ConfirmarESolicitarImpressaoTransacoesPendentes; exit ; end ; raise ; end;
  6. Qual a versão desse roteiro ? No meu aqui a informação é completamente diferente...
  7. Acho que seja algum problema no Cliente... Não notei mais ninguém reclamando de lentidão a um bom tempo... Analise o LOG do ACBrECF, os tempos de resposta do componente estão descritos lá...
  8. Li (não lembro aonde) que a MikeySoft está encerrando o suporte a CAPICOM, e mantendo apenas a API de criptografia em .NET... Pode ser que essas DLL realmente não sejam compatíveis com Windows 8
  9. Bom saber disso... Acho que não acusa erro não... mas não deve passar direto por aquela maravilhosa tela de seleção das redes do G.P. Você pode baixar o G.P. padrão em: http://www.softwareexpress.com.br/ArqCli/TefDiscado/Simulado/tefdial.htm http://www.sevenpdv.com.br/new/conteudo/downloads.htm
  10. Você está usando o ACBrRFD associado ao ACBrECF ? Se SIM, o ACBrRFD faz a criação deste arquivo... Você pode remover a associação do ACBrRFD com o ACBrECF, ou configura-lo para IgnorarECFsComMFD
  11. Pode ser que o Índice que seja programando não seja o que você está enviando... alias: StrToIntDef('1', 0) é igual a 1 sempre... Use AchaRGDescricao.. RelGer := ACBrECF1.AchaRGDescricao(NomeRel); if RelGer <> nil then Indice := StrToIntDef( RelGer.Indice, 0) ; Estude o exemplo a cima e outros no código fonte do Projeto ECFTeste.dpr
  12. É claro que o relatório gerencial já deve existir... Você pode programar um novo com: ACBrECF1.ProgramaRelatoriosGerenciais( cDescricao ); Se você não especificar um Índice o ACBrECF tentará com índice default, que pode variar de acordo com o modelo.. repare que na FiscNET ele usou índice 1
  13. Não um comando para detectar o protocolo... o ECF escolherá o protocolo de acordo com a primeira sequencia de instruções que será enviada... o TimeOut sempre ocorre na inicialização ? em qual comando ? Tem um LOG para analise ?
  14. Não tem como... não se trata de algo que precise ou possa ser corrigido... Veja: o Chip da USB do ECF, é na maioria das vezes, um emulador de USB-Serial... quando você desliga o ECF, ele perde a alimentação, e morre, é como se você tivesse removido o cabo USB do PC... No caso de um adaptador USB-Serial, a alimentação do dispositivo é feita pela USB do PC, por isso ele não morre quando o ECF for desligado... Faça o mesmo teste usando a DLL do fabricante
  15. Se observamos como o fisco agiu no passado... o PAF-ECF não será extinto mas sim termos uma super homologação exigindo: PAF-ECF-SAT-NFCe... Até hoje o SINTEGRA é obrigatório, sendo que todas as informações dele estão no SPED, NFe, NFP, etc... É difícil o fisco "desmontar" o aparato que foi montado para o PAF-ECF... ( O que ele irá fazer com todos esses pobres funcionários ? )
  16. Você não confirmou se está ou não usando USB... então continuo adivinhando... Simples... NAO use a porta USB no dia da homologação... (Se vc só possui portas USB no PC, use um adaptador USB <-> Serial)
  17. Obrigado por reportar a correção... Penso que o componente poderia cuidar dos espaços desnecessários (Trim), ou na atribuição (Set) da propriedade, ou quando for usá-la em algum arquivo ou Rotina
  18. Parece que a resposta está no seu próprio post: "NSU: 150001 ou NSU não foi gerado"
  19. O modelo ecfNaoFiscal NUNCA deve ser usado em produção ou clientes finais... Você pode estar cometendo crime de sonegação fiscal...
  20. A propriedade DadosReducaoZClass só conterá informações após você chamar os métodos "DadosReducaoZ" e "DadosUltimaReducaoZ"... ECF.CarregaAliquotas não irá alimentar as informações de DadosReducaoZClass e sim de ECF.Aliquotas
  21. Na verdade apenas a Epson suporta isso... Estou tentando implementar na Bematech... No entanto, o ACBrECF usa métodos básicos da DLL apenas para enviar o comando e ler a resposta... ele mesmo cuida da montagem dos pacotes no protocolo do fabricante... Ou seja.. não é utilizado os métodos de comandos da DLL do fabricante, como Fabricante_AbreCupom, Fabricante_LeituraX, etc... Utilizamos apenas um método específico (e geralmente não documentado) que permite o envio e leitura usando o canal da USB, pela DLL
  22. Invés de usar um cabo, você poderia usar um emulador de portas serias "null modem"... assim como o com0com
  23. Você está usando porta USB ? Se SIM, este é o problema... quando vc desliga o ECF a porta serial emulada, que é gerada pelo driver USB do ECF, simplesmente some... A mensagem de erro indica que a porta que vc está tentando abrir não existe...
  24. Enviei uma possível correção para o SVN...
  25. Uma outra coisa é ser tentada, se a impressora estiver com a valocidade muito alta, ou usando USB emulada em COM é diminuir o Buffer de Entrada e Saida
×
×
  • 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...
The popup will be closed in 10 segundos...