Ir para conteúdo
  • Cadastre-se

Intelliware

Membros Pro
  • Total de ítens

    347
  • Registro em

  • Última visita

Tudo que Intelliware postou

  1. Boa tarde Juliomar e Daniel. De fato, a forma '04' chama 'CARTAO'. E permite vinculado. MEIOS DE PAGAMENTO Nº Meio Pagamento Valor Acumulado ( R$) 01 Dinheiro 0,00 02 VISA (V) 0,00 03 MASTER CARD (V) 0,00 04 CARTAO (V) 0,00 05 BANCRED (V) 0,00 06 CHEQUE A VISTA (V) 0,00 07 PRAZO (V) 0,00 08 CARTÕES BALCÃO (V) 0,00 09 VALE COMPRAS (V) 0,00 10 CHEQUE A PRAZO (V) 0,00 11 TICKET PAPEL (V) 0,00 12 CARTÕES BALCÇO (V) 0,00 13 FUNCIONARIOS (V) 0,00 Comprovante Não Emitido: 0000 Tempo Emitindo Doc. Fiscal: 00:00:00 Tempo Operacional: 04:58:50 Qtd. Reduções Restantes: 3034 Número série MFD:392204120000075316 ------------------------------------------------ BEMATECH MP-4000 TH FI ECF-IF VERSÃO:01.00.02 ECF:018 LJ:0001 QQQQQQQQQWUTIOYUUI 31/01/2016 09:27:53 FAB:BE091510100011256895 BR E neste mesmo meio de pagamento '04' foi associada uma forma de recebimento CARTÃO DE CRÉDITO e uma forma de recebimento CARTÃO DE DÉBITO. Que foram as duas formas utilizadas para fechar o cupom acima.
  2. Bom dia pessoal, Um cliente nosso que utiliza o ECF Bematech MP-4000 TH FI, nos reportou que em um dos caixas dele quando passa dois cartões no mesmo cupom, o mesmo é cancelado. Este post têm referência em termos de erro com o post a seguir: Só que no caso, utilizamos o CliSiTEF da Software Express. Analisando o log do nosso sistema, obtivemos: [31/01/2016 10:23:21] [INICIO]Impressão das transações pendentes! ---------------------------------------------------------------------------------------- [31/01/2016 10:23:58] [TRATAMENTOAPOSECF]Erro ocorrido durante a impressão do cupom vinculado! ---------------------------------------------------------------------------------------- [31/01/2016 10:23:58] [TRATAMENTOAPOSECF]Exceção lançada na impressão/confirmação do TEF! - ERRO: Erro ocorrido durante a impressão do cupom vinculado! ---------------------------------------------------------------------------------------- Analisando o log do ECF: -- 10:23:22:964 TX -> [STX]([NUL][FS]BCARTAO 00000000024095056934G[7] 10:23:23:011 RX <- ACK = 6 Falha: 0 10:23:23:027 VerificaFimImpressao: Pedindo o Status (19) 10:23:23:058 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 10:23:23:058 RX <- [NUL][SOH][FS][NUL] ----------------- ERRO ----------------- Erro retornado pela Impressora: Bematech Comprovante de crédito ou débito não permitido ou já emitido ---------------------------------------- -- 10:23:23:058 TX -> [STX][20][NUL][FS]BCARTAO X[ETX] 10:23:23:089 RX <- ACK = 6 Falha: 0 10:23:23:089 VerificaFimImpressao: Pedindo o Status (19) 10:23:23:120 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 10:23:23:120 RX <- [NUL][SOH][FS][NUL] ----------------- ERRO ----------------- Erro retornado pela Impressora: Bematech Comprovante de crédito ou débito não permitido ou já emitido ---------------------------------------- -- 10:23:27:576 Estado TX -> [STX][ENQ][NUL][FS]#[WAK]P[NUL] 10:23:27:591 RX <- ACK = 6 Falha: 0 10:23:27:716 RX <- [NUL][NUL][NUL][NUL] O cupom foi fechado nas seguintes formas: -- 10:23:13:714 EfetuaPagamento( 04 , 124,07 , , 0, 0 ) TX -> [STX][20][NUL][FS]H0400000000012407v[ETX] 10:23:13:745 RX <- ACK = 6 Falha: 0 10:23:13:870 RX <- [NUL][NUL][NUL][NUL] -- 10:23:13:870 EfetuaPagamento( 04 , 116,88 , , 0, 0 ) TX -> [STX][20][NUL][FS]H0400000000011688[128][ETX] 10:23:13:901 RX <- ACK = 6 Falha: 0 10:23:14:041 RX <- [NUL][NUL][NUL][NUL] Como não consegue imprimir o CCD, é aberto o relatório gerencial em seguida. Mas a princípio não conseguimos detectar o que pode estar ocorrendo. Anexei o log do cupom em questão, caso necessitem de mais detalhes. Anexei também um espelho do cupom em questão. Atualizamos a DLL da Bematech para a última versão para verificarmos se vai ajudar. Temos vários outros clientes com este mesmo ECF e o problema não ocorre. Gostaríamos da opinião de vocês sobre este problema. Desde já agradeço. ACBr-20160212.TXT ACBr-Espellho-20160212.TXT
  3. No caso de SAT para supermercado, deverá ser informado estes campos apartir de 01/04/2016?
  4. Alguém conseguiu alguma informação adicional de como efetuar a condição de contorno para CF-e rejeitado em produção?
  5. Show. Entendi Daniel. É que tivemos que fazer uma modificação específica para um outro caso de controle interno aqui e apesar de fazer os testes e analisar o XML ainda fiquei meio preocupado. Agradeço novamente a explicação. Já atualizei aqui com a correção do SVN.
  6. Daniel, realmente deu certo. Só uma pergunta, no caso acima, quando eu modifico a classe TEntrega, por exemplo, essa propriedade é mapeada para o XML do CF-e, aparecendo posteriormente no arquivo final do processo de venda?
  7. Exato, se apenas temos o destinatário do CF-e não setar automaticamente os dados da entrega. Show, estamos testando aqui. Agradeço.
  8. Então, o cabeçalho está perfeito, sem problema. O que validamos com o source atual, foi que quando utilizamos ESC/POS e identificamos o destinatário do CF-e, automaticamente é mostrado no corpo do extrato o nome do mesmo como sendo para entrega. Conforme o arquivo em anexo. Pelo que vimos, foi um tratamento incluso no tópico: No caso abaixo, não efetuamos a entrada de nenhuma informação para entrega, mas mesmo assim, no corpo do extrato temos DADOS PARA ENTREGA. No nosso caso, informações de entrega são tratadas no nosso AC em módulo separado. Por isso, fizemos a proposta de alteração no source acima.
  9. Opa, sim. Estamos atualizando o source da ACBr praticamente todo dia, pois estamos em testes para liberação da nossa primeira versão do SAT. Sem problema Daniel, foi apenas uma sugestão. Desde já agradeço.
  10. Para o nosso caso, efetuamos nas units as seguintes alterações: procedure TACBrSATExtratoESCPOS.GerarDadosEntrega; //ACBrSATExtratoESCPOS.pas begin if Trim(CFe.Entrega.xLgr)+ Trim(CFe.Entrega.nro)+ Trim(CFe.Entrega.xCpl)+ Trim(CFe.Entrega.xBairro)+ Trim(CFe.Entrega.xMun)+ Trim(CFe.Entrega.xNome) <> '' then begin FBuffer.Add('</fn></linha_simples>'); FBuffer.Add('DADOS PARA ENTREGA'); if Trim(CFe.Entrega.xLgr)+ Trim(CFe.Entrega.nro)+ Trim(CFe.Entrega.xCpl)+ Trim(CFe.Entrega.xBairro)+ Trim(CFe.Entrega.xMun) <> '' then begin FBuffer.Add('<c>'+Trim(CFe.Entrega.xLgr)+' '+ Trim(CFe.Entrega.nro)+' '+ Trim(CFe.Entrega.xCpl)+' '+ Trim(CFe.Entrega.xBairro)+' '+ Trim(CFe.Entrega.xMun)); end; if Trim(CFe.Entrega.xNome) <> '' then FBuffer.Add(CFe.Entrega.xNome); end; end; E na unit 'pcnCFe.pas': { TEntrega } TEntrega = class private FxNome: string; FxLgr: string; Fnro: string; fxCpl: string; FxBairro: string; FxMun: string; FUF: string; public constructor Create; procedure Clear; published property xNome: string read FxNome write FxNome; property xLgr: string read FxLgr write FxLgr; property nro: string read Fnro write Fnro; property xCpl: string read FxCpl write FxCpl; property xBairro: string read FxBairro write FxBairro; property xMun: string read FxMun write FxMun; property UF: string read FUF write FUF; end; Com isso, caso o colaborador, deseja identificar o emitente do CF-e como o destinatário de entrega, efetuaria a atribuição: CFe.Entrega.xNome := CFe.Dest.xNome; E no nosso caso, como utilizamos a tag 'Informações complementares' para efetuar a manipulação dos dados quando existe fechamento na forma de recebimento em 'CLIENTE' mantemos: CFe.Entrega.xNome := ''; Lembrando que é somente uma sugestão. Desde já agradeço.
  11. Bom dia, Notamos que ao identificar um cliente em uma venda utilizando o EscPos, aparece o bloco "Dados para Entrega" com o nome do consumidor, mesmo sem possuir entrega vinculada. Este parâmetro não é registrado no XML, até porque não existe um "nome do destinatário" no leiaute do SAT. Vasculhando o fórum, encontramos o tópico "Nome do destinatario cupom sat", onde foi inserida a linha "Trim(CFe.Dest.xNome)'' na procedure "TACBrSATExtratoESCPOS.GerarDadosEntrega". Há possibilidade de existir um meio termo, afinal não foi identificado entrega no cupom. Obrigado.
  12. Opa, valeu Daniel. Vou dar uma olhada na classe 'RLLayout'.
  13. Bom dia pessoal, Quando vou efetuar a impressão do CF-e no Fortes Report, tenho a opção de mostrar um preview que me exibe em detalhes como irá ser impresso o mesmo no POS. Fiz um relatório de vendas, onde gostaria de apartir do XML da pasta CfeVendas, gerar este mesmo preview para facilitar pro usuário a visualização dos dados. Seria possível efetuar esta implementação? Não estou familiarizado com o fortes, procurei algum exemplo de uso neste sentido e não encontrei. Desde já agradeço qualquer opinião a respeito.
  14. No caso estamos utilizando o Fortes Report para imprimir o CF-e.
  15. Boa tarde pessoal, No campo de observações do contribuinte teria como em uma determinada linha colocarmos a mesma em negrito? No nosso caso, vamos manter um contador(COO) interno ao banco e gostaríamos de destacar(colocar em negrito) esta informação entre as outras apresentadas ao cliente. Estamos como uma certa dificuldade em rastrear no source onde esta informação é processada para ser impressa na impressora POS. Desde já agradeço.
  16. Blz, Daniel. Vamos implementar aqui.
  17. Blz, Daniel. Agradecemos.
  18. Daniel, boa tarde! Hoje fuçamos um pouco mais sobre este problema e aparentemente conseguimos solucioná-lo, modificando a função "TACBrPosPrinter.TxRx". Primeiramente, limpamos o buffer da porta serial antes do envio dos comandos, resolvendo cerca de 50% dos retornos errôneos. Depois colocamos um "sleep" de 10ms (com 2ms já resolveu) entre a transmissão e a recepção dos bytes, solucionando 100% dos retornos errôneos. Segue o bloco modificado: function TACBrPosPrinter.TxRx(ACmd: AnsiString; BytesToRead: Byte; ATimeOut: Integer; WaitForTerminator: Boolean): AnsiString; begin if FDevice.IsSerialPort then FDevice.Serial.Purge; GravarLog('TX -> '+ACmd, True); FDevice.EnviaString( ACmd ); if FDevice.IsSerialPort then Sleep(10); if WaitForTerminator then Result := FDevice.LeString(ATimeOut, 0, chr(BytesToRead)) else Result := FDevice.LeString(ATimeOut, BytesToRead); GravarLog('RX <- '+Result, True); end;
  19. Só aproveitando, quando peço para gravar a linha em arquivo, vários caracteres especiais são incluídos. A ACBr têm alguma função que possa transformar esses caracteres em representações em forma de string? Facilitaria a leitura.
  20. Boa tarde Daniel, no caso, este evento ele irá conseguir logar somente os comandos que utilizarem ESCPOS, no caso do CF-e que utiliza o Fortes Report, não irá aparecer no log, correto?
  21. Obrigado, Daniel. Melhorou, mas infelizmente não resolveu. Inclusive aumentei a quantidade da tolerância de falhas no código que você postou, mas não muda muita coisa. Será que seria alguma função específica que a Sweda difere da Epson?
  22. Aumentamos para 2s e até para 20s e o problema continua da mesma forma. Capturei o erro gerado pela exceção e realmente diz sobre o timeout: 'Communication error 9997: Timeout during operation'. O estranho que mesmo com o timeout alto, não altera o tempo da leitura, o que talvez não esteja chegando ao final do mesmo. Confirmei em debug que o novo valor inserido está sendo passado para as funções subsequentes.
  23. Mudei, mas continuou da mesma forma.
  24. Ok, é que no debug, o "stErro" estava sendo adicionado na exceção gerada ao tentar ler o byte (B := ord(fpPosPrinter.TxRx...) e não no teste (TestBit...). O que poderíamos fazer neste caso então?
×
×
  • 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.