Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    27.508
  • Registro em

  • Última visita

  • Days Won

    766

Tudo que Daniel Simoes postou

  1. É bem tranquilo... bem mais simples que o roteiro do G.P. aplicado na Seven e Sw.Express
  2. Você está sobrecarregando o Buffer da Impressora... Veja esse tópico:
  3. 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.
  4. Se não me engano haverá um exception quando o componente não conseguir gerar a Remessa...
  5. 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...
  6. Apenas por valor... Mas qual é a dificuldade de computar o valor baseado em uma Percentagem ?
  7. 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;
  8. Qual a versão desse roteiro ? No meu aqui a informação é completamente diferente...
  9. 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á...
  10. 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
  11. 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
  12. 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
  13. 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
  14. É 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
  15. 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 ?
  16. 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
  17. 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 ? )
  18. 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)
  19. 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
  20. Parece que a resposta está no seu próprio post: "NSU: 150001 ou NSU não foi gerado"
  21. O modelo ecfNaoFiscal NUNCA deve ser usado em produção ou clientes finais... Você pode estar cometendo crime de sonegação fiscal...
  22. 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
  23. 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
  24. Invés de usar um cabo, você poderia usar um emulador de portas serias "null modem"... assim como o com0com
  25. 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...
×
×
  • 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.