Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    27.754
  • Registro em

  • Última visita

  • Days Won

    767

Tudo que Daniel Simoes postou

  1. Você testou o código que lhe sugerir no post: ?
  2. Veja o exemplo no Demo... TEFDDemo, no evento OnDepoisConfirmarTransacoes
  3. Parece que vc está focado em resolver o seu problema apenas... a minha preocupação é fazer com que a classe funcione sempre, mesmo no caso de ECFs que não estão programados corretamente... A sua sugestão não corrige o problema de preenchimento dos valores dos registradores específicos...
  4. Experimente modificar a propriedade AutoAdvance para: aaNone
  5. Obrigado pelo post... agora compreendi.. e realmente concordo que deve ser um problema em relação a posição de programação do Registrador não iniciar em 1... Observe por favor se no Indice do REgistrados está a posição correta... Se estiver talvez o loop abaixo funcione: for I := 0 to fpComprovantesNaoFiscais.Count - 1 do begin CNFZ := TACBrECFComprovanteNaoFiscal.Create ; CNFZ.Assign( fpComprovantesNaoFiscais[I] ); P := StrToIntDef(CNFZ.Indice,0)-1 CNFZ.Total := RoundTo( StrToFloatDef( copy(S,(P*14)+1,14),0) / 100, -2) ; CNFZ.Contador := StrToIntDef( copy(SS,(P*4)+1,4), 0); TotalizadoresNaoFiscais.Add( CNFZ ) ; end;
  6. O que quis dizer é que a maneira que está implementado, pesquisando por uma String "Hard Coded", pode quebrar para outros modelos de ECF Bematech... infelizmente não posso subir a modificação para o SVN da maneira que está...
  7. As elgins antigas (matriciais) usavam ou o protocolo ecfMecaf ou ainda ecfSchalter As novas (com MFD) sempre usam o ecfFiscNet O protocolo Logger era das antigas Uranos (matriciais)
  8. Use o emulador da Urano.. ambas usam o protocolo FiscNET...
  9. Experimente apagar os fontes com sinal de exclamação em vermelho no Explorer..antes de atualizar
  10. provavelmente seus fontes estão desatualizados... Veja que nos fontes atuais há tratamento para ajustar a hora informada, em relação a tolerância máxima permitida pelo ECF... e também há um tratamento para chamar o método sem a DataHora quando ocorre o erro "0503" Procedure TACBrECFEpson.ReducaoZ(DataHora: TDateTime) ; var DtHrECF : TDateTime ; begin if DataHora <> 0 then begin DtHrECF := GetDataHora; DataHora := max( IncMinute(DtHrECF,-5), min( IncMinute(DtHrECF,5), DataHora)) ; end ; EpsonComando.Comando := '0801' ; EpsonComando.TimeOut := TempoInicioMsg + 30 ; // apenas para o bloqueio de teclado funcionar if DataHora <> 0 then begin EpsonComando.Extensao := '0001' ; EpsonComando.AddParamDateTime( DataHora, 'D' ) ; EpsonComando.AddParamDateTime( DataHora, 'T' ) ; end else begin EpsonComando.AddParamString( '' ) ; EpsonComando.AddParamString( '' ) ; end ; try EnviaComando ; except on E : Exception do begin if (pos('0107',E.Message) > 0) or // Erro de Hora fora da faixa ? (pos('0503',E.Message) > 0) then // Data em intervalo inválido. ReducaoZ(0) // Tenta sem DataHora else if (pos('0102',E.Message) > 0) then // Comando inválido para o documento atual. begin // Ficou algum Cupom aberto ? CancelaCupom ; ReducaoZ(DataHora); end else raise ; end ; end ; ZeraCache; end;
  11. Não consegui compreender corretamente as suas modificações... Acredito que a linha: if pos('PAGTO DE T', CNFZ.Descricao) > 0 then Não seja uma implementação muito segura... o texto pode variar de um ECF para outro... Qual é a sua ideia no geral ? Ou melhor, o que está errado no código atual do ACBr ? Em qual posição ele está lendo atualmente, e qual seria a posição correta ?
  12. Se você não anexar o LOG ou a exata mensagem de erro não há como tentar lhe ajudar...
  13. O link de download mais atual é: http://partners.bematech.com.br/suporte-recursos/downloads/ A Bematech deveria remover essa página antiga... Em relação ao nome do arquivo... Por favor tente descobrir com o suporte da Bematech qual é a lógica desse método para nomeação dos arquivos...
  14. Sim... segue o código; procedure MergeInis(const IniSource, IniDest : TIniFile ; ReplaceKeys : Boolean; IgnoreZeros : Boolean) ; Var Sections, Keys : TStringList ; I, J : Integer ; Section, Key, NewValue : String ; begin Sections := TStringList.Create; Keys := TStringList.Create; try Sections.Clear; IniSource.ReadSections( Sections ); For I := 0 to Sections.Count-1 do begin Section := Sections[i]; Keys.Clear; IniSource.ReadSection( Section, Keys ); For J := 0 to Keys.Count-1 do begin Key := Keys[J] ; NewValue := IniSource.ReadString(Section, Key, '' ); if IgnoreZeros and (NewValue = '0') then NewValue := ''; if (NewValue <> '') then begin if ReplaceKeys or (IniDest.ReadString(Section, Key, '' ) = '') then IniDest.WriteString( Section, Key, NewValue ); end ; end ; end ; finally Sections.Free; Keys.Free ; end ; end;
  15. Markopollo, Você conhece .NET, conhece os fontes do ACBr e conhece a CAPICOM, então porque não juntar forças com a equipe do ACBrFramework para ajustar o código em pascal para remover a dependência da Capicom ? Eu particularmente ainda prefiro a CAPICOM... instalar os inúmeros Frameworks do .NET nunca é tarefa fácil (ou rápida)... Na CAPICOM, basta registrar algumas DLLs e está feito... Não creio que a simples troca da CAPICOM por .NET deixe a comunicação tão mais rápida dessa maneira... o gargalo provavelmente era outro... Mas em fim não fiz testes...
  16. Eu acredito que a NFe nesse caso o destinatário será o próprio estabelecimento (afinal o consumidor final não tem como emitir uma NFe)... consulte o escritório de contabilidade para saber o CFOP correto... O "vinculo" com o cupom de origem é apenas para constar o COO do mesmo nas observações da Nota, onde não há regras definidas... então não vejo problema em enumerar vários cupons...
  17. Você pode baixar uma versão compilada do NFPwsDemo em:
  18. NFPwsDemo Visulizar Arquivo Programa de Demonstração do componente ACBrNFPws... Para teste de Envio e Consulta ao WebService do Nota Fiscal Paulista. Compilado com Lazarus 1.1 FPC 2.7.1 Win32 Autor Daniel Simoes Enviado 13-03-2013 Categoria Demos / Testes / Utilitários  
  19. 333 downloads

    Programa de Demonstração do componente ACBrNFPws... Para teste de Envio e Consulta ao WebService do Nota Fiscal Paulista. Compilado com Lazarus 1.1 FPC 2.7.1 Win32
  20. Por favor confirme a versão da DLL... Uma das últimas mudanças da Bematech foi justamente na nomenclatura deste arquivo Alias, tente usar as DLLs que estão em: \ACBr\DLLs\ECF\bematech
  21. O que é Wintfi ?? Você não respondeu as perguntas que eu fiz no tópico anterior...
  22. Por favor anexe a unit modificada para analise... Lembre-se que nem todos os ECFs retornam essa informação em DadosUltimaReducaoZ, ou seja, seu código pode não funcionar em outros modelos... Por isso que eu uso algo como: A := ACBrECF1.DadosReducaoZ ACBrECF1.ReducaoZ B := ACBrECF1.DadosUltimaReducaoZ C := Merge( A, B )
  23. Atualmente com o Cielo Premia o seu Fluxo não é válido... Vc deve enviar os pagamentos somente após ter todos os pagamentos "em buffer" na sua aplicação... Use ACBrTEFD.FinalizarCupom, pois essa função irá disparar eventos para fechar o cupom e imprimir os pagamentos... porém respeitando o fluxo exigido no manual de orientação do TEF (que envolve a exibição dialogo para retentar em caso de Falha e NCN ou CNC no caso de cancelamento) Veja esse post:
  24. O fato da Impressora estar desligada é praticamente o mesmo tratamento para o caso da Impressora estar Sem Papel, ou com Tampa aberta...Ou seja... você enviará o comando e receberá ERRO: "mensagem de erro relativo ao comando enviado" Afinal, como o ECF poderia responder algo se ele está desligado
  25. Vc usou o método para Espelho de MFD, procure o método de geração do arquivo "Ato Cotepe 17/04"
×
×
  • 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...