Usuários SAC Intelliware 54 Posted October 23, 2015 Usuários SAC Report Share Posted October 23, 2015 Bom dia pessoal, estamos com um problema intermitente em um cliente nosso que utiliza a Bematech MP-4000 TH FI. Segundo o cliente têm hora que o ECF funciona perfeitamente o dia inteiro, mas têm dia que ocorre vários erros ocorrem durante o dia. Analisamos várias vezes os logs do nosso sistema e do ECF, mas infelizmente não conseguimos identificar algum problema. Hoje porém encontramos algumas informações: 1) O cliente reclamou que o ECF não conseguiu fechar o cupom fiscal, no log havia: -- Ativando a porta: COM3 -- 08:36:26:924 CarregaTotalizadoresNaoTributados TX -> [STX]g[NUL][FS]?FF0000000500001000000000000000000000000100000000000000000000UN00000000003032[NUL]BALAS SORTIDA 3/ 0,10[NUL][WAK][20] 08:36:27:031 RX <- ACK = 6 Falha: 0 08:36:27:062 RX <- [NUL][SOH]@[NUL] -- Desativando a porta: COM3 ----------------- ERRO ----------------- Erro retornado pela Impressora: Bematech Forma de pagamento aberta ---------------------------------------- Observando mais acima, podemos verificar que parece que houve interrupção ao subtotalizar o cupom anterior: -- 08:30:58:859 EfetuaPagamento( 01 , 50 , , 0, 0 ) TX -> [STX][20][NUL][FS]H0100000000005000j[ETX] 08:30:58:875 RX <- ACK = 6 Falha: 0 08:30:59:015 RX <- [NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:30:59:218 Estado TX -> [STX][ENQ][NUL][FS]#[WAK]P[NUL] 08:30:59:218 RX <- ACK = 6 Falha: 0 08:30:59:343 RX <- #[NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:30:59:546 Subtotal TX -> [STX][ENQ][NUL][FS]#A[128][NUL] 08:30:59:546 RX <- ACK = 6 Falha: 0 08:30:59:672 RX <- [NUL][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:30:59:875 TX -> [STX][4][NUL][FS][GS]9[NUL] 08:30:59:875 RX <- ACK = 6 Falha: 0 08:31:00:015 RX <- [NUL][NUL][NUL][NUL][NUL][7][136][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:31:00:218 TotalPago TX -> [STX][ENQ][NUL][FS]#[22]U[NUL] 08:31:00:218 RX <- ACK = 6 Falha: 0 08:31:00:359 RX <- [NUL][NUL][NUL][NUL][NUL]P[NUL][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:31:00:562 Estado TX -> [STX][ENQ][NUL][FS]#[WAK]P[NUL] 08:31:00:562 RX <- ACK = 6 Falha: 0 08:31:00:687 RX <- #[NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:31:00:906 CNPJ TX -> [STX][ENQ][NUL][FS]#*i[NUL] 08:31:00:906 RX <- ACK = 6 Falha: 0 08:31:01:062 RX <- 08.835.222/0001-36 [NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:31:01:266 DataHora TX -> [STX][ENQ][NUL][FS]#[23]V[NUL] 08:31:01:266 RX <- ACK = 6 Falha: 0 08:31:01:406 RX <- #[16][NAK][BS])[23][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:31:01:609 Subtotal TX -> [STX][ENQ][NUL][FS]#A[128][NUL] 08:31:01:609 RX <- ACK = 6 Falha: 0 08:31:01:734 RX <- [NUL][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:31:01:937 TX -> [STX][4][NUL][FS][GS]9[NUL] 08:31:01:937 RX <- ACK = 6 Falha: 0 08:31:02:078 RX <- [NUL][NUL][NUL][NUL][NUL][7][136][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:31:02:265 Subtotal TX -> [STX][ENQ][NUL][FS]#A[128][NUL] -------------------------------------------------------------------------------- ATIVAR - 23/10/15 08:33:51:246 - Modelo: Bematech - Porta: COM3 - TimeOut: 30 Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE= MAXBANDWIDTH=0 -------------------------------------------------------------------------------- 2) O cliente reportou que houve o registro do item no ECF, mas antes apareceu que houve Falta de energia, no nosso sistema foi registrado o item, mas o cliente não conseguiu fechar o cupom. Observamos no log: -- Ativando a porta: COM3 -- 09:11:15:352 CarregaTotalizadoresNaoTributados TX -> [STX]g[NUL][FS]?FF0000000500001000000000000000000000000100000000000000000000UN00000000003032[NUL]BALAS SORTIDA 3/ 0,10[NUL][WAK][20] 09:11:15:461 RX <- ACK = 6 Falha: 0 09:11:15:625 RX <- [NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 09:11:37:302 NumUltimoItem TX -> [STX][ENQ][NUL][FS]#[FF]K[NUL] 09:11:37:302 RX <- ACK = 6 Falha: 0 09:11:37:443 RX <- [NUL][STX][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 09:11:37:708 Subtotal TX -> [STX][ENQ][NUL][FS]#A[128][NUL] 09:11:37:708 RX <- ACK = 6 Falha: 0 09:11:37:849 RX <- [NUL][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 Neste momento o comando VendeItem que era para ser chamado a seguir, até as 09:13:03:101 não apareceu no log do ECF. Já trocamos a DLL da Bematech, já inclusive levamos um cabo serial nosso para o cliente e já tentamos várias vezes abaixar e aumentar o buffer da porta serial. Este caixa utiliza o Windows 8 e um cabo de conversão USB-SERIAL. Antes utilizava uma placa PCI Express-SERIAL, mas estava dando muito erro. Gostaríamos da opinião de vocês sobre estes dois casos, uma vez que o problema com este caixa já persiste por um tempo. Estou anexando o log completo para melhor compreensão. Desde já agradeço. LOG_20151023.ecflog Link to post Share on other sites
Fundadores Daniel Simoes 8,775 Posted October 23, 2015 Fundadores Report Share Posted October 23, 2015 O Log indica certa instabilidade na Porta Serial... (erros ao tentar acessá-la) Se você já trocou de porta serial, desconfie do cabo.. O Erro no inicio do seu Post... pode significar que você está chamando "CarregaTotalizadoresNaoTributados" em um momento que o ECF não está pronto para responder a ele (parece ter um cupom aberto) Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to post Share on other sites
Usuários SAC Intelliware 54 Posted October 26, 2015 Author Usuários SAC Report Share Posted October 26, 2015 Entendi Daniel. Vamos trocar este cabo. Vou simular aqui o que pode estar ocorrendo com o "CarregaTotalizadoresNaoTributados". Qualquer novidade posto aqui novamente. Agradeço. Link to post Share on other sites
Usuários SAC Intelliware 54 Posted October 27, 2015 Author Usuários SAC Report Share Posted October 27, 2015 Daniel, boa tarde. Pesquisei no nosso source aqui e em nenhum momento chamamos a função CarregaTotalizadoresNaoTributados. Analisando novamente o log de outro cliente que utiliza a Bematech MP-4000 que funciona normalmente, entre a AbreCupom e o primeiro VendeItem raramente encontramos a função acima. 1) Caixa com problema: -- 08:13:09:528 AbreCupom( , , ) TX -> [STX][4][NUL][FS][NUL][FS][NUL] 08:13:09:528 RX <- ACK = 6 Falha: 0 08:13:09:543 VerificaFimImpressao: Pedindo o Status (19) 08:13:10:428 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 08:13:10:871 RX <- @[NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:13:11:874 CarregaAliquotas TX -> [STX][ENQ][NUL][FS]#[GS]\[NUL] 08:13:11:920 RX <- ACK = 6 Falha: 0 08:13:12:077 RX <- [NUL][SOH]@[NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:13:12:282 TX -> [STX][4][NUL][FS][26]6[NUL] 08:13:12:282 RX <- ACK = 6 Falha: 0 08:13:12:444 RX <- [ENQ][7][NUL][18][NUL][24][NUL]%[NUL]0[NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]@[NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:13:12:647 CarregaTotalizadoresNaoTributados TX -> [STX]p[NUL][FS]?FF0000011900001000000000000000000000000100000000000000000000UN07896524721018[NUL]LAVA LOUCAS SUPREMA NEUTRO 500[NUL]M[23] 08:13:12:763 RX <- ACK = 6 Falha: 0 08:13:12:935 RX <- @[NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:13:13:357 VendeItem( 07896524721063 , LAVA LOUCAS SUPREMA CLEAR 500M , FF , 1 , 1,19 , 0 , UN , $ , D , -1 ) TX -> [STX]p[NUL][FS]?FF0000011900001000000000000000000000000100000000000000000000UN07896524721063[NUL]LAVA LOUCAS SUPREMA CLEAR 500M[NUL]$[23] 08:13:13:481 RX <- ACK = 6 Falha: 0 08:13:13:645 RX <- @[NUL][NUL][NUL] -- Desativando a porta: COM3 2) Caixa sem problema: -- 08:16:40:171 AbreCupom( , , ) TX -> [STX][4][NUL][FS][NUL][FS][NUL] 08:16:40:191 RX <- ACK = 6 Falha: 0 08:16:40:206 VerificaFimImpressao: Pedindo o Status (19) 08:16:41:193 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 08:16:41:834 RX <- [NUL][NUL][NUL][NUL] -- Desativando a porta: COM1 -- Ativando a porta: COM1 -- 08:16:41:990 VendeItem( 00000000000934 , PAO QJO GRANEL , T01 , 0,194 , 19,98 , 0 , KG , $ , D , -1 ) TX -> [STX]?[NUL][FS]>I0000000000093401KG0000194000199800000[NUL]0000[NUL]PAO QJO GRANEL[NUL][130][FF] 08:16:42:069 RX <- ACK = 6 Falha: 0 08:16:42:194 RX <- [NUL][NUL][NUL][NUL] -- Desativando a porta: COM1 Para chamar a função acima, seria o comando: ecf.ACBrECF.CarregaTotalizadoresNaoTributados; Correto? Verificando o log do caixa com problema, encontramos também o seguinte erro retornado pelo ECF: -- Ativando a porta: COM3 -- 08:34:59:181 NumSerie TX -> [STX][ENQ][NUL][FS]#(g[NUL] 08:34:59:181 RX <- ACK = 6 Falha: 0 08:34:59:337 RX <- BE091410100011247497[NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:34:59:540 GrandeTotal TX -> [STX][ENQ][NUL][FS]#[ETX]B[NUL] 08:34:59:540 RX <- ACK = 6 Falha: 0 08:34:59:712 RX <- [NUL][NUL][NUL][NUL][STX]2Sc6[NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:36:26:924 CarregaTotalizadoresNaoTributados TX -> [STX]g[NUL][FS]?FF0000000500001000000000000000000000000100000000000000000000UN00000000003032[NUL]BALAS SORTIDA 3/ 0,10[NUL][WAK][20] 08:36:27:031 RX <- ACK = 6 Falha: 0 08:36:27:062 RX <- [NUL][SOH]@[NUL] -- Desativando a porta: COM3 ----------------- ERRO ----------------- Erro retornado pela Impressora: Bematech Forma de pagamento aberta ---------------------------------------- -- Ativando a porta: COM3 -- 08:36:30:724 NumUltimoItem TX -> [STX][ENQ][NUL][FS]#[FF]K[NUL] 08:36:30:724 RX <- ACK = 6 Falha: 0 08:36:30:849 RX <- [NUL][STX][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:36:31:163 NumUltimoItem TX -> [STX][ENQ][NUL][FS]#[FF]K[NUL] 08:36:31:163 RX <- ACK = 6 Falha: 0 08:36:31:295 RX <- [NUL][STX][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:36:31:498 NumUltimoItem TX -> [STX][ENQ][NUL][FS]#[FF]K[NUL] 08:36:31:498 RX <- ACK = 6 Falha: 0 08:36:31:631 RX <- [NUL][STX][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 -- Ativando a porta: COM3 -- 08:36:35:334 NumUltimoItem TX -> [STX][ENQ][NUL][FS]#[FF]K[NUL] 08:36:35:334 RX <- ACK = 6 Falha: 0 08:36:35:459 RX <- [NUL][STX][NUL][NUL][NUL][NUL] -- Desativando a porta: COM3 E também antes dele temos uma nova chamada para a função CarregaTotalizadoresNaoTributados. Desde já agradecemos a ajuda. Link to post Share on other sites
EMBarbosa 3,414 Posted October 29, 2015 Report Share Posted October 29, 2015 O log em si não apresenta nenhum erro. Está faltando alguma parte importante? No último log o programa parece que entrou em loop pedindo o NumUltimoItem. Pode ser algum problema de sua aplicação ao tratar algum erro nessa situação. Eu começaria por esta parte. Não estou certo, mas minha memória acusa que o ACBrECF precisa chamar pelo menos uma vez durante seu funcionamento o método CarregaTotalizadoresNaoTributados para carregar os tributos não padrões (isto é, diferentes de II,FF e NN). Então isso pode ser o que está disparando esse carregamento. Verifique se ele está sendo chamado várias vezes durante o funcionamento do programa. 1 []'s Elton Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas. Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh. Link to post Share on other sites
Usuários SAC Intelliware 54 Posted October 29, 2015 Author Usuários SAC Report Share Posted October 29, 2015 Entendi EMBarbosa. Esta é a parte que apresenta diferenças, nas outras não encontramos nada de suspeito. Vou dar uma olhada no tratamento do NumUltimoItem e no CarregaTotalizadoresNaoTributados. Agradeço a ajuda. Link to post Share on other sites
Fundadores Daniel Simoes 8,775 Posted October 29, 2015 Fundadores Report Share Posted October 29, 2015 Você poderia, no inicio da aplicação, após chamar o "ACBrECF.Ativar", efetuar uma chamada a "CarregaTotalizadoresNaoTributados" e os demais métodos "Carrega..." (para forma de pagamentos, aliquotas etc)... Isso garantirá que o ACBrECF já tem os dados necessários em memória, e evitará que ele chame (por algum motivo) um método "Carrega..." no meio da venda... 1 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to post Share on other sites
Usuários SAC Intelliware 54 Posted October 30, 2015 Author Usuários SAC Report Share Posted October 30, 2015 Show Daniel. Efetuei a implementação aqui. O pessoal já está testando para colocarmos no cliente. Desde já agradeço. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now