Ir para conteúdo
  • Cadastre-se

abraao895

Membros
  • Total de ítens

    73
  • Registro em

  • Última visita

Tudo que abraao895 postou

  1. Ah sim, o sistema de TEF já está implementado e está funcionando normal. Inclusive repasso a vocês que recebemos elogios em relação a aceitação de múltiplas formas de pagamento do componente da ACBr. Agradeço pela implementação. A dificuldade aconteceu por essa situação: Foi realizado um teste em um Supermercado da nossa região e a equipe que estava efetuando o processo me passou que em um determinado momento receberam a mensagem de "Serviço Indisponível" e o nosso PDV simplesmente congelou. Tiveram então de "matar o processo" manualmente. Entramos em contato com a Software Express e eles nos informaram que para "Serviço Indisponível"(1) não seria possível efetuar uma simulação aqui em nosso laboratório para tratar o problema. No caso do "Cheque não aprovado"(2) eu coloquei junto com esse post pois acreditei que o retorno das informações do SiTEF seja possivelmente tratado na mesma procedure/function/evento que o "Serviço Indisponível"(1). A idéia do pessoal seria que ao invés de aparecer "Cheque não aprovado" a gente trocasse a mensagem "Cheque não aprovado" por algo como "Consumidor Ligar na Telecheque". Evitando algum possível constrangimento com o cliente. Nos passaram alguns documentos referentes a manipulação da DLL do SiTEF(em anexo) para ajudar a sanar essas questões. Eu trabalho mais com a parte do ACBrECF, então estou tendo um pouco de dificuldade nessa parte do ACBrTEF. Garantia Cheque Telecheque.doc Obtem Parametros Telecheque.doc
  2. Daniel, no ECFTeste, abrindo o RG, pulando linhas e mandando cortar posteriormente funcionou normalmente.
  3. Juliomar, fiz o seguinte: >> Source: maxLBuffer := ecf.AcbrEcf.MaxLinhasBuffer; ecf.AcbrEcf.MaxLinhasBuffer := 0; >> Log do ACBr: -- 10:56:37:630 TX -> [STX]5[NUL][FS][20]------------------------------------------------[LF][170][BS] 10:56:37:807 RX <- @[NUL][NUL][NUL] -- 10:56:37:807 PulaLinhas( 2 ) TX -> [STX][ACK][NUL][FS][20][LF][LF]D[NUL] 10:56:37:934 RX <- @[NUL][NUL][NUL] -- 10:56:37:934 LinhaRelatorioGerencial( "</linha_simples>", 0 ) TX -> [STX]5[NUL][FS][20]------------------------------------------------[LF][170][BS] 10:56:38:111 RX <- @[NUL][NUL][NUL] -- 10:56:38:111 CortaPapel TX -> [STX][ENQ][NUL][FS]#[WAK]P[NUL] 10:56:38:235 RX <- [4]@[NUL][NUL][NUL] O problema persiste.
  4. Ah sim, o ecf.AguardarRespostaEcf seria: function TEcf.AguardarRespostaEcf : Boolean ; var i : Integer; begin Result := False; try for i := 1 to 5 do begin if ((ecf.ACBrECF.AguardandoResposta) and (ecf.ACBrECF.AguardaImpressao)) then begin if Assigned(FormPDV) then FormPdv.eStatusEcf.Text := 'Aguardando resposta do ECF..'; Sleep(100); end else begin Result := True; exit; end; end; finally if Assigned(FormPDV) then FormPdv.eStatusEcf.Text := ''; end; end;
  5. No caso de uma atualização do software básico do ECF eu teria que enviar a mesma para intervenção?
  6. Obrigado Daniel, valeu pela informação. Implementei aqui.
  7. Por favor, poderia me dizer, em qual evento retornaria os eventos acima, ou seja, em caso de algum erro existe um evento específico que captura o problema?
  8. Bom dia pessoal, estou com uma situação estranha aqui. Estou utilizando o seguinte source para fazer impressão de várias vias de um determinado relatório gerencial implementado em nosso PDV. Segue: //Obtêm o índice do relatório gerencial indiceRG := ecf.BuscarIndiceRG(10); //Abre o relatório gerencial ecf.AcbrEcf.AbreRelatorioGerencial(indiceRG); (...) if max_vias = 1 then begin imprimirREAux; end else begin for j := 1 to userVias do begin if ecf.AguardarRespostaEcf then begin imprimirREAux; end; //Se não for a última via corta o papel if (j <> userVias) then begin if ecf.AguardarRespostaEcf then begin ecf.AcbrEcf.CortaPapel(true); Sleep(150); //Fórum da ACBr aconselhou um pequeno time para a guilhotina end; end; end; end; (...) //---- procedure imprimirREAux; begin //Imprime as linhas no relatório gerencial ecf.AcbrEcf.LinhaRelatorioGerencial(rel.Text); //Adiciona o espaço em branco no final if ((ckAdicionarEspacoFinal.Visible)and(ckAdicionarEspacoFinal.Checked)) then begin ecf.AcbrEcf.PulaLinhas(max_linhas); if ecf.AguardarRespostaEcf then begin ecf.AcbrEcf.LinhaRelatorioGerencial('</linha_simples>'); end; end; Inc(aux); end; //---- No arquivo de log do ECF eu tenho: -- 18:11:46:993 TX -> [STX][4][NUL][FS][20]0[NUL] 18:11:48:188 RX <- @[NUL][NUL][NUL] -- 18:11:48:196 LinhaRelatorioGerencial( "[CR][LF]</linha_dupla>[CR][LF] (...)", 0 ) TX -> [STX]B[STX][FS][20][LF]================================================[LF] [ESC][14]ENDERE[128]O DE ENTREGA[20][LF] REF. AO CUPOM: 014080 - VIA: 01/02 [LF]================================================[LF] (...)[213]y 18:11:49:581 RX <- @[NUL][NUL][NUL] -- 18:11:49:581 TX -> [STX]5[NUL][FS][20]------------------------------------------------[LF][170][BS] 18:11:49:758 RX <- @[NUL][NUL][NUL] -- 18:11:49:758 PulaLinhas( 2 ) TX -> [STX][ACK][NUL][FS][20][LF][LF]D[NUL] 18:11:49:911 RX <- @[NUL][NUL][NUL] -- 18:11:49:911 LinhaRelatorioGerencial( "</linha_simples>", 0 ) TX -> [STX]5[NUL][FS][20]------------------------------------------------[LF][170][BS] 18:11:50:088 RX <- @[NUL][NUL][NUL] -- 18:11:54:088 CortaPapel TX -> [STX][ENQ][NUL][FS]#[WAK]P[NUL] 18:11:54:211 RX <- [4]@[NUL][NUL][NUL] -- 18:11:54:211 TX -> [STX][ENQ][NUL][FS]#A[128][NUL] 18:11:54:334 RX <- [4]@[NUL][NUL][NUL] A princípio não detectei nenhum problema, mas a Bematech está cortando o papel ANTES de pular as linhas em branco. Já tentei de tudo, aumentar valor de Sleep() entre os comandos, tentando fazer com que a sequência fosse respeitada mas não obtive sucesso. O mais estranho é que quando foi implementado funcionava normalmente. Gostaria da opinião de vocês. Desde já agradeço.
  9. if Pos('DARUMA', AnsiUpperCase(dm.cdsEcfMARCA.AsString))>0 then begin st.Text := StringReplace(st.Text, '<e>', '', [rfReplaceAll, rfIgnoreCase]); st.Text := StringReplace(st.Text, '</e>', '', [rfReplaceAll, rfIgnoreCase]); end; A princípio coloquei esse source para resolver o problema e está imprimindo.
  10. Coloquei Maxlinhasbuffer := 3 e retirei a formatação <e></e>. Com isso consegui imprimir, sendo que a string "st.Text" ficou com 551 caracteres. A Daruma pelo ECFTeste.exe imprimiu normal a formatação extendida. Então acredito que o problema esteja na quantidade de dígitos na string citada acima, uma vez que com a formatação o tamanho dela vai para 649 caracteres. Teria como contornar essa situação?
  11. Bom dia pessoal, Estou com um problema estranho aqui. Estou utilizando o seguinte comando: if not ecf.RelatorioGerencial(st.Text, 1, Indice) then begin repeat Reimpressao := IW_MessageDlg('Problemas na reimpressão do relatório gerencial!' + sLineBreak + 'Deseja reimprimir?', mtConfirmation, [mbYes, mbNo], 0) = ID_YES; if Reimpressao then (...) Só que a Daruma FS700 ela abre o cupom e fecha sem imprimir o conteúdo central do cupom gerencial. Em "st.Text" estou passando: '</linha_dupla>'#$D#$A' <e>ENDEREÇO DE ENTREGA</e>'#$D#$A'<ce>REF. AO CUPOM: 000190 - VIA: 01/01</ce>'#$D#$A'</linha_dupla>'#$D#$A'CLIENTE: <e>JOAO DA SILVA RIBEIRO</e>'#$D#$A'DATA: 18/07/2013 HORA: 15:26:35 OPR: ADMIN'#$D#$A'</linha_simples>'#$D#$A'QUANTIDADE DE CAIXA(S): <e>002</e>'#$D#$A'</linha_simples>'#$D#$A'END.: <e>RUA JOAQUIM DA SILVA</e>'#$D#$A'<e>101</e>,<e>A</e>,<e>VILA RITA</e>'#$D#$A'<e>ITAJUBÁ</e>,<e>MG</e>,<e>37.501-413</e>'#$D#$A'REF.: <e>PERTO DA IGREJA PRESBITERIANA</e>'#$D#$A'TEL.: <e>(35)36231801(ENTREGA)</e>'#$D#$A'EMP.: <e>LUCAS</e>'#$D#$A'OBS.: <e>PEGAR FRIOS NA GELADEIRA</e>'#$D#$A'</linha_simples>'#$D#$A Na Bematech e na Sweda imprime normal. Debuguei até a procedure TACBrECF.RelatorioGerencial: fsECF.RelatorioGerencial( Relatorio, Vias, Indice ) ; E em "Relatorio" está constando o conteúdo de "st.Text" mas a Daruma não imprime o conteúdo todo. Segue log em anexo. Por favor, gostaria da opinião de vocês. ACBrECF-20130719.txt
  12. Boa tarde pessoal, Utilizando o ACBrTEF teria como tratar o retorno dos erros do SITEF, mais especificamente desses: 1) Cheque não aprovado 2) Serviço indisponível Ou até mesmo pegar um BOOLEAN que se refere a ambos os casos? Gostaria da opinião de vocês.
  13. Boa tarde, Estou efetuando uma venda em cartão de débito utilizando o SITEF. O número do GNF do CCD está saindo igual ao número do GNF do relatório gerencial referente a segunda via do cupom fiscal. E isso, a princípio, está acontecendo somente com a Sweda ST120, pois efetuamos os testes com a Bematech MP-4000 e a Daruma FS700 e os números do GNF são impressos incrementados normalmente. Estou enviando o log do ACBrECF relativo a venda em questão. Gostaria da opinião de vocês. TefLog-20130718.txt
  14. Testado na Sweda ST100 e ST120. Funcionando corretamente. Impimindo uma única vez a identificação do consumidor. Agradeço.
  15. Obrigado Daniel. Amanhã estaremos testando e posto os resultados aqui.
  16. Debuguei aqui e verifiquei o seguinte. No caso o source: AcbrEcf.FechaCupom(Obs); Está enviando: 'Agradecemos a preferência!'#$D#$A'Volte sempre!' Na procedure: procedure TACBrECF.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer); //ACBrECF.pas Essa condição é verdadeira: if not Consumidor.Enviado then begin .... end; E assim é adicionado na string 'Observacao' os dados do cliente que são utilizados no " fsECF.FechaCupom( DecodificarTagsFormatacao( Observacao ), IndiceBMP )", ficando assim: 'Agradecemos a preferência!'#$D#$A'Volte sempre!|CPF/CNPJ consumidor: XXXXXXXXXXX|Nome: XXXXXXXXXXXXXXXXXXXXXXXX|Endereco: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - ITAJUBÁ - MG' Teria outra função que também poderia estar enviando essas informações novamente além do FechaCupom?
  17. Boa tarde, estamos testando a identificação do consumidor na Sweda ST100 e ST120. Ambos os ECF estão imprimindo o CNPJ/CPF, Nome e Endereço do consumidor duas vezes no rodapé do cupom. No caso ficou assim: <Minas Legal> Agradecemos a preferência! Volte sempre! <CNPJ/CPF consumidor> <Nome> <Endereço> <MD5> <Nome do Aplicativo> <CNPJ/CPF consumidor> <-- Repetido <Nome> <-- Repetido <Endereço> <-- Repetido Estou enviando o log do ACBrECF em anexo da Sweda ST120. No meu caso, o aplicativo foi homologado para o PAF 1.13, minha última atualização foi 05/07/2013. Gostaria da opinião de vocês. Log-ACBrECF-20130717.txt
  18. Boa tarde, fizemos o teste na Sweda ST100 e agora finaliza normal.
  19. Agradeço a resposta Daniel, já implementei aqui e já estamos testando.
  20. Boa tarde pessoal, Na Daruma FS700 executo o seguinte procedimento: 1) Deixo um cupom aberto no ECF 2) Saio do PDV e tento entrar novamente Na OnShow do meu form do PDV eu tenho: if (dm.GetCfgValue(3106) = '1') then ecf.AcbrEcf.IdentificaOperador(dm.cdsTurnoAbertoLOGIN.AsString); Eu recebo o seguinte erro: (Objeto FormPdv, Exceção EACBrECFSemResposta) Erro retornado pela Impressora: Daruma Documento sendo emitido Erro estendido (078 -> CF aberto) Com o mesmo source na Bematech MP-4000 e na Sweda ST120 eu não obtenho erro algum e o PDV abre normalmente com os dados do cupom em aberto no grid. Gostaria da opinião de vocês. Fico no aguardo.
  21. Bom dia pessoal, Na finalização do cupom estou obtendo o seguinte erro na Daruma FS700: -- 11:39:21:030 TX -> [FS]R[200]057[180] 11:39:21:179 RX <- :[200]0573[CR][254] -- 11:39:21:183 TotalPago TX -> [FS]R[200]048[186] 11:39:21:342 RX <- :[200]0480000000000318[CR][249] -- 11:39:21:342 FechaCupom( ) TX -> [FS]F[210]0[255]G Daruma: Falha no Envio do CMD. Tentativa: 1 - Erro: 39 - Estendido: 120 -> Meio de pagamento já programado Cod.Aviso: 0 11:39:21:537 RX <- :3912000[210]000000000000000000[CR] ----------------- ERRO ----------------- Erro retornado pela Impressora: Daruma Erro na sequência de fechamento do cupom fiscal Erro estendido (120 -> Não em fase de finalização de documento) ---------------------------------------- -- 11:39:33:118 Estado TX -> [FS]R[200]056[181] 11:39:33:281 RX <- :[200]0561[CR][253] -- 11:39:33:281 TX -> [FS]R[200]057[180] 11:39:33:430 RX <- :[200]0573[CR][254] Log adicional completo do componente ACBrECF em anexo. Essa impressora é zerada, acabou de chegar. Estou utilizando uma placa de conversão PCI Express -> Serial da Comtac também nova. ECF.txt
  22. Blz Daniel. Já atualizei aqui e estamos gerando uma nova versão para testar com a Sweda ST100. Qualquer novidade eu posto aqui.
  23. Entendi. Resolvemos utilizar o identificaPAF para: 1) Não utilizar o espaço nas observações de rodapé, devido as regiões diferentes das informações complementares e as suplementares. Conforme o EMBarbosa comentou. 2) Aparecer automaticamente o nome do aplicativo no cupom Mais tarde vou pegar a Sweda e fazer um teste para tentar identificar o que pode estar acontecendo.
  24. Entendi. Em relação ao identificaPAF, se o ECF for desligado, as informações referentes ao MD5 e ao nome do aplicativo são perdidas? O pessoal está fazendo testes de falta de energia com a Sweda.
×
×
  • 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.