Ir para conteúdo
  • Cadastre-se

Georgie

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Últimos Visitantes

706 visualizações

Georgie's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. Certo, entao se eu usar as funcoes da DLL para esses fins nao ira interferir no funcionamento do ACBr? Ele irá funcionar normalmente mesmo em algum momento eu utilizando as funcoes da DLL diretamente? Desde ja grato! att, Georgie
  2. Oi Daniel Boa Tarde ! Então, com base nisso, a funcao passa os itens para o fiscal manager montar o xml, ou seja, essa funcao VendaItemEx(); envia dados para o fiscal manager dentro dos moldes que foi escrito na funcao Bematech_FI_VendeItemCompleto da DLL Bemafi32.dll,porem, nela tem outras funcoes que permitem voce verificar o status da ultima nfc-e, bem como programar os contadores, etc.. varias outras funcoes mas somente via DLL. No ACBr nao tem nada implementado com relacao a isso? por momento so a funcao VendaItemEx(); ? Desde já grato! att, Georgie
  3. Boa Tarde! estou implementando a adequacao de meu sistema para plataforma fiscal bematech NFC-e com acbr. vi que ja foi alterado o codigo do componente para usar a funcao VendeItemEx(); porem nao achei nenhuma informacao de como obter resposta se a nfc-e foi autorizada e onde obter a chave de acesso da mesma, bem como uma rotina para efetuar a programacao dos contadores COO, CRO, CRZ, CCF no Virtual ECF. alguem poderia me ajudar nisso? Desde Ja Grato ! att, Georgie
  4. Pois é, pois utilizando o exemplo acbrecfteste ele cancela normal.. no meu codigo nao tem nada a mais que interfira no evento passado ao componente, dai utilizando o temporizador sleep(1000); apos o envio do comando e antes de receber o retorno, ele funciona normalmente... o mesmo ocorre com o suprimento/sangria porem nestes nao tem retorno para obtencao de valores, porem no meu codigo é necessario capturar os dados para gerar os registros R da PAF, dai ocorria o mesmo erro, onde tive que colocar o sleep(1000) tambem, porem sendo apenas no codigo da aplicacao e nao do componente. Grato !
  5. Oi Regys ! Bom Dia ! estou usando a seguinte configuracao: evento onActivate Form Principal: Memo1.Clear; Memo1.Lines.Add('Iniciando Sistema...'); // configurando os parametros... // geral.. dm.ECF.Device.Baud := 9600; dm.ECF.IntervaloAposComando := 1; dm.ECF.LinhasEntreCupons := 7; dm.ECF.MaxLinhasBuffer := 1; dm.ECF.TempoInicioMsg := 1; dm.ECF.TimeOut := 1; dm.ECF.DecimaisPreco := 2; dm.ECF.DecimaisQtd := 3; dm.ECF.ExibeMensagem := False; dm.ECF.ReTentar := False; dm.ECF.IgnorarTagsFormatacao:= False; iSleepImp := 0; // especificos // impressora que nao seja bematech if (Modelo>2) then begin dm.ECF.IgnorarTagsFormatacao := True; iSleepImp := 1000; end; Mesmo alterando para 100 ou 1000, o erro continua ocorrendo pois se da ao executar o comando de envio no codigo do componente. Fiz o teste alterando a propriedade para esses valores e acontece do mesmo jeito... Como fiz a alteracao no codigo fonte do componente deu certo, porem no AcbrEcfTeste nao ocorreu, e isso somente ocorre na Daruma na Bematech mesmo estando o valor do "IntervaloAposComando" em zero(0) ele funciona sem problemas. desde ja grato !
  6. Bom Dia a Todos ! Ontem 04/06/13 estive instalando o sistema de pdv em um cliente que usa a impressora daruma mach2. a mesma apresentava erros na emissao de comproventes nao fiscais para suprimento e sangria, que consegui corrigir dando um intervalo via Sleep(); apos o comando. No entanto, a mesma apresentou erros no cancelamento do cupom sendo este erro o seguinte: -- 11:00:45:239 CancelaCupom TX -> [FS]R[200]046[180] 11:00:45:488 RX <- :[200]0461[CR][252] -- 11:00:45:488 TX -> [FS]R[200]050[179] 11:00:45:535 RX <- :[200]050000137[CR][207] -- 11:00:45:535 TX -> [FS]R[200]026[178] 11:00:45:597 RX <- :[200]026000137[CR][206] -- 11:00:45:597 TX -> [FS]F[211][137] 11:00:45:785 RX <- :0000041[211]000137000000000000000010[CR][213] -- 11:00:45:800 TX -> [FS]R[200]056[181] Daruma: Falha no Envio do CMD. Tentativa: 1 - Erro: 0 - Estendido: 0 -> Erro não documentado Cod.Aviso: 0 11:00:46:923 RX <- ----------------- ERRO ----------------- Impressora Daruma não está respondendo ---------------------------------------- com isso, fiz a depuracao do codigo fonte do componente e descobri que erro ocorria no seguinte trecho: procedure TACBrECFDaruma.CancelaCupom; var RetCmd : String ; NumUltimoCupom : String ; NumCupomCancelavel: String; iNumUltimoCupom, iNumCupomCancelavel: integer; begin fsNumCupom := ''; AguardaImpressao := True ; if fpMFD then begin RetCmd := EnviaComando( FS + 'R' + #200 + '046'); // Verifica se precisa cancelar CCD; if copy(RetCmd, 6, 1) <> '0' then begin try RetCmd := EnviaComando( FS + 'R' + #200 + '050'); // retorna numero do cupom cancelavel NumCupomCancelavel := copy(RetCmd, 6, 6); NumUltimoCupom := GetNumCupom; iNumUltimoCupom := StrToInt(NumUltimoCupom); iNumCupomCancelavel := StrToInt(NumCupomCancelavel); while iNumCupomCancelavel < iNumUltimoCupom do begin NumUltimoCupom := FormatFloat('000000',iNumUltimoCupom); EnviaComando(FS + 'F' + #214 , 15); // Fecho o CCD caso ainda não esteja fechado EnviaComando(FS + 'F' + #218 + NumUltimoCupom +#255+#255+#255, 15); // Cancela Conprovante Não Fiscal EnviaComando(FS + 'F' + #214 , 15); // Fecha Comprovante de estorno Cancela Conprovante Não Fiscal dec(iNumUltimoCupom); end; except end; EnviaComando(FS + 'F' + #211, 15) ; // Cancela Cupom RespostasComando.Clear; RespostasComando.AddField('COO', Copy(fpRespostaComando, 10, 6)); RespostasComando.AddField('CCF', Copy(fpRespostaComando, 16, 6)); RespostasComando.AddField('ValorCancelado', Copy(fpRespostaComando, 22, 12)); // Cancelamento retorna dados do Cupom Fiscal Cancelado e nao do Cancelamento fsNumCupom := '' ; // RespostasComando['COO'].AsString; fsNumCCF := '' ; // RespostasComando['CCF'].AsString; end else raise EACBrECFCMDInvalido.Create( ACBrStr('Não existe documento para cancelar.') ); end else if fsNumVersao = '2000' then EnviaComando(ESC + #211, 15) else EnviaComando(ESC + #206, 15) ; ZeraTotalApagar; FechaRelatorio ; { Fecha relatorio se ficou algum aberto (só por garantia)} end; O erro ocorre apos o EnviaComando(FS + 'F' + #211, 15) ; // Cancela Cupom depois que é enviado o codigo passa para o retorno dos campos: RespostasComando.Clear; RespostasComando.AddField('COO', Copy(fpRespostaComando, 10, 6)); RespostasComando.AddField('CCF', Copy(fpRespostaComando, 16, 6)); RespostasComando.AddField('ValorCancelado', Copy(fpRespostaComando, 22, 12)); que é onde ocorre o erro, dai alterei o codigo colocando um Sleep(); apos o EnviaComando(FS + 'F' + #211, 15) ; // Cancela Cupom porem fazendo o teste pelo AcbrEcfTeste o erro nao ocorre, dai pergunto o que pode ser? Configuracao do componente AcbrECF talvez? desde ja grato !
×
×
  • 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.