Ir para conteúdo
  • Cadastre-se

ferbigode

Membros
  • Total de ítens

    69
  • Registro em

  • Última visita

Tudo que ferbigode postou

  1. Fiz uma pesquisa no fórum e não encontrei algo relativo ao meu problema. No teste 017, diz que devo gerar um arquivo espelho da LMFC. Com o ACBrECF.PafMF_LMFC_Espelho, isso tudo fica mais simples. No entanto, não sei o que esse método está fazendo no final dele. O que é esse tal de EAD? Lendo o Ato Cotepe 17/04, no item 7, diz que é uma função hash aplicada à todo o arquivo com exceção o próprio EAD. É isso? Olhando o site a seguir, percebi que para gerar o EAD precisamos gerar uma chave pública e privada primeiro. De onde o ACBrECF está buscando chaves públicas e privadas? http://partners.bematech.com.br/2009/06/edicao-128-nova-dll-para-assinatura-digital-registro-ead/ Eu consegui através do aplicativo teste EADTeste.exe gerar três arquivos: um para chave pública, outro pra chave privada e outro para o arquivo .xml do software-house para o eECFc que colocamos na pasta SHouse. Até consegui validar esse .xml no eECFc (botão "Validar assinatura PAF-ECF"), porém no botão "Validar assinatura digital AT 17/04", nunca funciona se eu informar meu arquivo com um EAD no final dele. Por favor, respondam-me essas perguntas...
  2. Igor, eu realmente peguei os dados da última redução Z. Peguei apenas a data e fiz umas comparações, até que deu certo. Daí pra não ter que ficar executando dadosUltimaReducaoZ toda hora (porque demora muito), eu criei uma variável pra pegar a data da última redução Z e atualizo ela sempre que entrar no formulário e precisar ser emitido uma redução Z (caso o formulário fique bastante tempo aberto). No entanto, percebi que entre todos os dados retornados por dadosUltimaReducaoZ, há uma informação com o nome "RZAut", isso significa "Redução Z automática"?
  3. Pessoal, alguém conseguiu realizar o passo 5? Consegui fazer tudo, menos o passo 5. Como eu posso saber se foi realizada uma redução Z de forma automática pelo ECF (já que algumas trabalham assim)? Acho que até consigo quando o formulário é aberto, mas e se caso o formulário já estiver aberto? Vou ter que colocar um timer no formulário e ficar fazendo várias verificações toda hora? Aproveitando, como eu consigo pegar a data da última redução Z no ACBrECF? Aquela propriedade DadosUltimaReducaoZ me retorna várias informações, o que por sinal, demora muito e eu preciso apenas da data.
  4. Sobre a mudança de horário de verão, acredito que isso irá alterar apenas uma hora, e eu preciso alterar várias, coisa de mais de 24 horas. Achei que fosse mais simples, então vou contatar a bematech. De qualquer forma, obrigado.
  5. É possível eu alterar a hora do ECF (emulador bematech)? Existe um teste no roteiro de análise funcional que requer muito tempo de espera do ECF, então pensei em acelerar isso alterando sua hora, sem ter que restaurar suas configurações originais.
  6. Se você se refere ao ATO COTEPE/ICMS N° 6, sim, estou lendo. Requisito V sendo relativo à PV, não encontrei informações à respeito de mais de uma PV pendente. O mesmo para DAV no requisito VI. Foi por isso que perguntei, mas já que você exclareceu, obrigado.
  7. Ok, então se eu tiver 3 PV's pendentes, e precisar emitir a redução Z como você disse, vou ter que emitir o cupom fiscal e seu cancelamento das três? O que eu faço com DAV's pendentes? Elas ficam lá até alguém emitir seu cupom fiscal respectivo? Não há limitações em relação a isso?
  8. Bom dia. Eu tenho uma dúvida sobre DAV e PV, então quero evitar criação de tópicos. Dúvida simples: Eu cadastro 3 DAV's/PV's, mas eles estão pendentes, ou seja, não tiveram seu cupom fiscal respectivo impresso, pois talvez o estabelecimento tenha uma grande movimentação de clientes e ainda não deu tempo de imprimir o cupom fiscal. Portanto, quantos DAV's ou PV's eu posso ter pendentes?
  9. Então se eu fizer isso, pagamentoECF := ecf.AchaFPGDescricao('Cartão'); não há problema?
  10. Daniel Simoes, eu já imaginava que não fosse um problema com o componente, é claro. Por algum motivo, eu não posso destruir os objetos de formas de pagamento retornados pela função AchaFPGDescricao(); Toda vez que eu executava o método efetuaPagamento, e passava as informações sobre a forma de pagamento, eu destruia ela, visto que eu não necessito mais dela. Olha no meu print a linha que executa o erro (fpFormasPagamentos.Free): Resolvi o problema suprimindo a destruição desse objeto de forma de pagamento, mas daí eu terei um objeto em memória desnecessariamente? Valeu
  11. Toda vez que eu fecho meu formulário que possui o componente ACBrECF, um erro é lançado com essa mensagem: "Invalid pointer operation". Porém esse erro só ocorre se eu efetuar uma venda primeiro e então fechar o formulário. Depois do ShowModal do meu formulário, eu executo FreeAndNil nele, e então o erro é lançado. Debugando isso, percebi que o erro ocorre no destrutor do TACBrECFBematech.Destroy, que possuí a seguinte implementação: destructor TACBrECFBematech.Destroy; begin fsModelosCheque.Free ; inherited Destroy ; end; Ou seja, o formulário sendo destruído e todos os seus componentes presentes nele pela chamada de FreeAndNil, o ACBrECF também terá que ser destruído e é nessa linha acima, inherited Destroy; que ocorre o erro. Vou postar a implementação da criação, exibição, e destruição do formulário. O evento OnClose desse formulário também: Criação procedure TfrmPrincipal.acVendaPDVExecute(Sender: TObject); var pdv: TfrmVendaPDV; begin pdv := TfrmVendaPDV.Create(Self); pdv.ShowModal(); FreeAndNil(pdv); end; OnClose procedure TfrmVendaPDV.FormClose(Sender: TObject; var Action: TCloseAction); var mr: TModalResult; estadoECF: TACBrECFEstado; begin estadoECF := ecf.Estado; mr := mrNone; if not (estadoECF = estNaoInicializada) then mr := Application.MessageBox('Deseja realmente fechar?', 'Fechar', MB_YESNO + MB_ICONQUESTION); if (mr = mrYes) or (mr = mrNone) then begin Screen.OnActiveControlChange := nil; dsVenda.DataSet.Close(); dsItemVenda.DataSet.Close(); dsItemServico.DataSet.Close(); DMComercial.clearInformacaoAdicionalPDV(); if (estadoECF = estVenda) or (estadoECF = estPagamento) then ecf.CancelaCupom(); end else if (mr = mrNo) then Abort(); end;
  12. regys.silveira, realmente, apareceu o MD-5, seguido do PV"N" sem nenhum espaço separando-os, e depois mais dois sobre DAV. Em relação à procura no fórum, eu fiz uma pesquisa pelo recurso de pesquisa do próprio fórum, porém não consegui encontrar nada a respeito sobre o assunto. :/ A fim de evitar futuros tópicos duplicados, o aplicativo ECFTeste é baseado parcialmente no PAF, ou ele é completamente baseado nele? Valeu!
  13. Atualmente, estou usando o emulador da bematech e na aplicação o componente ACBrECF. Logo, tanto esse tal de "informações suplementares", quanto "mensagem promocional", será informado no parâmetro "observacao" do método fechaCupom do ACBrECF? Se sim, de acordo com o a2, eu devo informar um MD-5, e logo abaixo, um PV"N" (separando por um pipe para quebrar uma linha)? Aproveitando o tópico, o item 2.2 do requisito V informa que eu devo OPCIONALMENTE dispor uma forma de mesclar PV's. Sendo opcional, eu escolho se quero IMPLEMENTAR isso no aplicativo ou não? Mais uma coisa, estou utilizando como referência os dois documentos abaixo. Utilizo o primeiro para seguir os passos, e o segundo quando é necessário uma consulta sobre os itens dos requisitos. Eles são válidos para me guiar no desenvolvimento do PAF-ECF? Roteiro de análise funcional do PAF-ECF: http://www.unifil.br/portal/arquivos/ho ... itespg.pdf" ATO COTEPE/ICMS Nº 6: http://www.fazenda.gov.br/confaz/confaz ... 006_08.htm"
  14. Ok. Agora que estou lendo os documentos do PAF-ECF, percebo que em pouco tempo as coisas serão detalhadas. De qualquer forma, obrigado!
  15. Não entendi a definição de juliomar. EMBarbosa, então caso permiteViculado esteja como true, a forma de pagamento será aceita tanto na impressão de um cupom fiscal e não fiscal? Valeu!
  16. Pesquisei pela internet, pelo fórum, mas não consegui encontrar uma resposta. A dúvida é um tanto de iniciante. No método programaFormaPagamento, existe um parâmetro permiteVinculado. O que significa isso? Aproveitando, o que significa o outro parâmetro posicao que é do tipo string? Eu já fiz uns testes, mas não entendi muito bem. Além disso, por que a forma de pagamento em dinheiro vem como padrão como não vinculada? Percebi isso no aplicativo de exemplo do ACBrECF: Mais uma coisa, quando eu executo o método programaFormaPagamento, ele GRAVA essa forma de pagamento na impressora? Valeu!
  17. EMBarbosa, valeu! Eu já havia pesquisado bastante nesse fórum, muitos falaram para eu instalar o com0com, mas eu sempre achava que isso não iria resolver porque não estava conseguindo instalar corretamente o programa. Bom, consegui uma versão diferente desse programa, instalei, reiniciei a máquina, habilitei duas portas, e pronto, não tenho mais nenhum problema. Exceções agora, só serão lançadas por questão de falta de lógica, como a de abrir duas vezes um cupom. Enfim, quem estiver lendo este tópico, DEFINITIVAMENTE, instale o com0com e teste tudo com ele. Valeu cara, foi mal por mais um tópico.
  18. Estou usando o emulador de ECF da Bematech e o Visual Serial Ports Emulator para fazer minha aplicação funcionar; e funciona tudo normalmente, com exceção de alguns problemas que não sei se acontecem justamente por eu estar utilizando uma impressora virtual, ou se é por questão do componente. Algumas vezes, quando eu executo algum comando do ACBrECF, tal comando é executado e é visualizado na impressora virtual normalmente, mas na aplicação é lançada essa exceção: "Impressora Bematech não responde (ACK = 0)". Se não me engano, já aconteceu de lançar essa exceção e na impressora virtual não executar nada! Esse é UM dos meus PROBLEMAS. O outro problema é o seguinte, eu começo a executar um comando, e nenhuma exceção é lançada até então, mas o comando é executado duas vezes! Portanto, se eu estiver vendendo itens, executar duas vezes o método vendeItem, não terá problema, exceto pelo fato de ter um item duplicado. Mas se eu executar o método abreCupom, fechaCupom, e entre outros, aí já é lançada uma exceção do tipo "Cupom fiscal aberto/fechado". Eu tenho certeza que não é problema do algoritmo, porque eu fiz com base no aplicativo de teste do ACBrECF. Aliás, os mesmos erros ocorrem neste aplicativo de teste! Algumas das configurações do meu ACBrECF: BloqueiaMouseTeclado: false ReTentar: false (Acredito que quando está true, lança aquela mensagem de retentar o comando, isso é muito chato, por isso false) TempoInicioMsg: 3 TimeOut: 3 IntervaloAposComando: 100 ExibeMensagem: true Agora eu pergunto, esses erros ocorrem justamente por eu estar usando uma impressora fiscal? Existe alguma configuração no ACBrECF que possa resolver isso? Valeu!
×
×
  • 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...