Ir para conteúdo
  • Cadastre-se

marcelo_sp

Membros
  • Total de ítens

    579
  • Registro em

  • Última visita

  • Days Won

    7

Tudo que marcelo_sp postou

  1. Ola José , O ACBrECFVirtualSat trabalha em conjunto com o ACBrECF , não funciona com nenhuma DLL de fabricante de ECF .
  2. marcelo_sp

    Nota Paulista

    Sim , Cat52 é somente para ECF !
  3. geanjesus , Este demo já foi feito com componentes do trunk2 , se vc abri-lo o .dpr e recompilar com o sua IDE atualizada com trunk2 vai tranquilo .
  4. Vc tem que desenvolver uma sistema que processe uma fila das operações feitas dos terminais para ser consumida pela Sat . Existem tópicos aqui mesmo no forum que o pessoal fala sobre isso mas no caso não é somente conectar o cabo e sair compartilhando como uma Swite .
  5. Só uma ideia , Mas para todo este pessoal que acho não ser poucos os colegas que no momento estão sem alternativas de se estabelecer em uma empresa de CNAE autorizado para uso do Sat , porque não se unem abrindo uma unica empresa , uma espécie de cooperativa , tudo legalizado com contrato entre os participantes ( Programadores ) . Tem que organizado se não vira bagunça , como disse só uma ideia .
  6. Pode ser no create do form , uma unica vez vc carrega esta informação .
  7. Vc pode utilizar assim se quiser : Cabecalho_Temp:=TStringList.Create ; try Cabecalho_Temp.Add( AlinhaC( SAT_Emit_xFant , 48 ) ) ; Cabecalho_Temp.Add( AlinhaC( SAT_Emit_EnderEmit_xLgr + ' , N-' + SAT_Emit_EnderEmit_nro , 48 ) ) ; Cabecalho_Temp.Add( AlinhaC( SAT_Emit_EnderEmit_xBairro + ' , ' + SAT_Emit_EnderEmit_xMun + '-' + SAT_Emit_EnderEmit_Uf , 48 ) ) ; Cabecalho_Temp.Add( '' ) ; TACBrECFVirtualBufferClass(ACBrECF1.ECFVirtual.ECFVirtualClass).Cabecalho.Assign( Cabecalho_Temp ); TACBrECFVirtualBufferClass(ACBrECF1.ECFVirtual.ECFVirtualClass).CNPJ := Formata_Cnpj_Cpf( SAT_Emit_CNPJ ) ; TACBrECFVirtualBufferClass(ACBrECF1.ECFVirtual.ECFVirtualClass).IE := SAT_Emit_IE ; finally FreeAndNil(Cabecalho_Temp); end ;
  8. EscPos vc não instala Driver de Spool do Windows . Verifique na aba VirtualSat / Impressão como esta setado Porta da Impressora e Modelo da Impressora .
  9. No evento ACBrECFVirtualSAT1QuandoEfetuarPagamento : for i := 0 to ACBrSAT1.CFe.Det.Count -1 do begin with ACBrSAT1.CFe.Det.Items do nItem := i + 1 ; // Refaz a sequencia da numeração dos itens end ;
  10. Esta chave [Aliquotas] eu até populo no componente no ACBrECF mas ela é obsoleta para o virtual já que para o Sat não existe este mapeamento FF , T01 ... etc...etc... como no ECF . Repare no Demo que a cada item vendido pelo ACBrECF automaticamente é disparado o Evento ACBrECFVirtualSAT1QuandoVenderItem do ACBRECFVirtualSat e é exatamente neste evento que vc popula os valores gerais do item inclusive os impostos . Uma coisa que vc tem que cuidar é para o caso de descontos com o Virtual , veja que no Evento ACBrECFVirtualSAT1QuandoEfetuarPagamento do ACBRECFVirtualSat vc tem que refazer o calculo caso haja descontos , no meu caso eu populo somente as CST's e alíquotas e no verder item e neste evento de pagamento eu recalculo tudo pra fechar o cupom . No Demo eu coloquei alguns códigos comentado nestes eventos .
  11. Daniel efetuou modificações no ACBrSAT veja : http://www.projetoacbr.com.br/forum/topic/22677-modificações-em-acbrsat-trunk2/ Este Demo não é Oficial ! Novo Demo : ACBrECF.rar
  12. Tudo tranquilo , No ACBrECF vc seta a porta como Cupom.txt ou outro nome mas que seja arquivo.txt , acho que no exemplo deixei como ecf.txt , blz tbm . - Se vc utilizar o Extrato EscPos , vc vai perceber que no proprio Demo na aba VirtualSat tem a porta serial COM... para ser setado no caso para Impressões de Extrato e demais impressões que o ACBrECF manda . ( Não instalar Driver nesta opção ) . - Se Vc Utilizar o Fortes para impressão do Extrato , nesse caso não necessita de informar a porta e ai sim as impressões são via Spool do Windows (Driver) e tem que instalar o Driver da Impressora . Em ambos os métodos de extrato eu sempre seto no ACBrECF o arquivo.txt na porta , mas confesso que estou trabalhando mais com ESCPOS , o fortes eu não tenho feito testes mais a fundo .
  13. Ess boa tarde cara , Vc vai utilizar o ACBrECF1 + ACBrECFVirtualSAT1+ ACBrSAT1 + escolher em utilizar um método de impressão dos extratos como tem no Demo em anexo , ...EscPos ou ...Fortes , particularmente gosto mais do EscPos mas vc pode escolher EscPos ou Fortes . No caso de EscPos não se utiliza Driver nas marcas Epson , Bematech , Daruma , não sei dizer se outras marcas funcionam . A Epson é show a impressão com EscPos . Com muito pouco código vc deixar sua aplicação que hj utiliza ACBrECF pronta para SAT-CFe , colocamos em 2 clientes em produção a 2 dias e por enquanto esta 100% cara , estamos utilizando o Sat da Dimep mas os colegas aqui do forum estão utilizando outras marcas tbm sem problema nenhum . Utilizo Delphi-7 , mas vc pode utilizar outras versões superiores do Delphi normalmente . Trunk2
  14. I ai Daniel blz , Então cara , eu tinha ja visto este tópico seu tbm , vou rever isso hj a tarde , vlw .
  15. Criei duas flag's no meu .ini = 'Inicio_Nome_XML_Cfe' + 'Fim_Nome_XML_Cfe' do nome de montagem do arquivo xml . Eu guardo a imagem do conteúdo do XML no banco juntamente com a chave e demais informações necessitarias do CFe , o nome do arquivo não importa , porque quando dou um while ... com Query....savetofile eu faço o nome do .xml do savetofile do formato do momento baseado no meu ini assim : 'Inicio_Nome_XML_Cfe' + chave_do_banco + 'Fim_Nome_XML_Cfe' Recupero os XML's com o nome que fiscal , contador , dono da loja quizer .
  16. Atualize sua versão para trunk2 ! Se já estiver atualizado sua suite ACBr , verifique se não foi substituída ACBrSAT1GetcodigoDeAtivacao(var Chave: AnsiString); por ACBrSAT1GetcodigoDeAtivacao(var Chave: String); a versão atual esta String .
  17. Teste efetuado com Sat Dimep . Somente ativar o componente e fazer vendas com quantidade = 1,00 e valor item = 1,00 , para outros valores alterar no evento Vende item do componente .
  18. tchuck , Verifique se o certificado vinculado no cadastrado da SH na Sefaz é o mesmo que vc esta tentando gerar a assinatura .
  19. Bom dia meus amigos , Sabemos que existem vários programas geradores de assinatura para o SAT até mesmo espalhado aqui no forum , isso de fabricantes e outros de colegas , até eu me beneficiei deles e temos que agradecer a todos pela cortesia e disponibilidade de ajudarmos reciprocamente e que bom isso tudo para nossa classe . Sempre sonhamos em termos algo com nosso próprio logo certo , pensando nisso ontem a tarde dei um inicio em Delphi 7 e gostaria da ajuda de vcs para prosseguirmos com o projeto em Delphi , afinal um investe um pouquinho de tempo aqui outro investe um pouquinho de tempo ali e vamos somando em grupo assim . Bom , seguindo algumas etapas aqui de um tópico aqui mesmo do forum "com méritos do Daniel Simões (Administrador)" , consegui chegar na assinatura de Base 64 , mas a mesma não teve sucesso de validação ainda ! estou avaliando isso ! um dos primeiros problemas que percebi é que foi gerado alguns delimitadores na assinatura e isso é uma das coisas que tem que resolver . A principio a idéia é para certificados do tipo A1 mas o interessante é expandir tbm para A3 ficando completo em um só EXE , A1 e A3 . Estou disponibilizando o fonte com um ponta pé inicial do projeto e quem se interessar e quiser ajudar com idéias e melhorias seria ótimo , disponibilizando aqui neste tópico "Open Source" pra comunidade com Código Fonte para que todos da comunidade tenham acesso . Projeto em (Delphi 7 x OpenSSL) GeradorAssinaturaSat.rar
  20. Ok , vou fazer isso , Obrigado .
  21. Acho que agora estou entendendo oque vc está entendendo !! Veja , eu abro a aplicação e o ECF esta funcionando perfeitamente trabalhando normal , ai por algum motivo , o cabo desconecta , a energia acaba etc etc... ai acontece o problema , depois da aplicação já aberta !
  22. Atualizei agora e o Looping persiste , vou tentar explicar melhor , vamos la : 1 - Coma a AC ja em execução Desligo o ECF . 2 - Mando o comando AbreRelatorioGerencial... mas ainda não liguei o ECF (Com o ECF Desligado) . 3 - A AC vai me retornando mensagens de falta de comunicação até eu ligar o ECF e estabelecer comunicação , blz isso . 4 - Só que quando estiver comunicando AC x ECF após esta perda de comunicação o Status de RG := AchaRGIndice(FormatFloat('00',Indice)); vai ser sempre = Nil caindo no Raise , ou seja , a função AchaRGIndice vai me retornar sempre Nil e isso acontece porque fpRelatoriosGerenciais de GetRelatoriosGerenciais de ACBrECFClass não é mais Assigned então ele não consegue mais recuperar a lista do objeto fpRelatoriosGerenciais . Considerações ; 1 - Primeiro ele da os retornos normais de comunicação . 2 - Após eu ligar o ECF e a conexão estabelecer ai os Retornos em looping são o da imagem abaixo :
  23. Isso foi eu que coloquei propositalmente no fonte que baixei ontem que vc disponibilizou . procedure TACBrECFSwedaSTX.AbreRelatorioGerencial(Indice: Integer = 2 ); var sDescricao:String; RG:TACBrECFRelatorioGerencial; begin { Não existe indice 0 nessa impressora usando esse protocolo} { O indice 1 é reservado } if ( Indice = 0 ) or ( Indice = 1 ) then begin Indice := 2; CarregaRelatoriosGerenciais ; // Eu tinha colocado dentro de (if RG = nil then) mas cai a primeira vez no raise quando desligando o ECF antes , ai eu mudei para ca . end; RG := AchaRGIndice(FormatFloat('00',Indice)); if RG = nil then raise EACBrECFERRO.create( ACBrStr('Relatório Gerencial: '+IntToStr(Indice)+ ' não foi cadastrado.' )); sDescricao := PadRight(RG.Descricao,15); AguardaImpressao := True; EnviaComando('43|'+sDescricao); end; Testado na Sweda St120 .
  24. Daniel , sim eu realmente alterei o fonte pra recarregar os Relatorios Ger. antes de RG := AchaRGIndice(FormatFloat('00',Indice)); , propositalmente pra não entrar no Raise . Se eu desligar o ECF antes de ...AbreRelatorioGerencial() ; RG := AchaRGIndice(FormatFloat('00',Indice)); // Se não recarregar novamente antes os Relatorios Gerenciais fica retornando sempre (RG = nil) (Indice := 2) looping infinito mesmo religando o ECF .
×
×
  • 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.