none
Redução Z Bematech, Ajuda com Lógica RRS feed

  • Pergunta

  • Estou implementando as rotinas para acesso a impressora bematech em um sistema mas me deparei com um problema de lógica que não to conseguindo resolver nem a pau :/

    necessito verificar se a redução Z está pendente na impressora, de fato a unica impressora que não tem uma função externa que já faz isto é a bematech então eles disponibilizaram neste link http://partners.bematech.com.br/2011/09/edicao-85-verificando-se-ha-reducao-z-pendente/ um exemplo de como fazer mas não to conseguindo implementar esta lógica e preciso de uma ajuda... to trabalhando com c#...

    as situações seriam:

    a impressora está pendente de ontem ou antes (preciso disso para ver se posso realizar algum movimento e validar)

    a impressora não está pendente de ontem ou antes mas esta bloqueada porque foi feita a redução de hoje(preciso disso para avisar o usuário que está bloqueada e validar)

    a impressora não esta pendente de ontem ou antes mas esta livre para executar redução hoje e bloquear a impressora(preciso disso para  dizer que se ele executar redução z ira bloquear)

    quinta-feira, 18 de outubro de 2012 13:20

Respostas

  • http://partners.bematech.com.br/suporte/bemafi32/flags_fiscais.htm
    nesta função vc consegue verificar.
    agora pra RZ pendente nao tem funcao mesmo


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCPD

    • Marcado como Resposta M a i c o n segunda-feira, 22 de outubro de 2012 12:36
    segunda-feira, 22 de outubro de 2012 11:59
  • Olá #Maicon, tive o mesmo problema e como tambem não encontrei uma forma de verificar a redução z pendente de forma pratica, consegui fazendo desta forma:

    IF Bematech_FI_DataMovimentoUltimaReducaoMFD < Bematech_FI_DataMovimento and DateDiff(Day,Bematech_FI_DataMovimento, Bematech_FI_DataHoraImpressora) > 0 then
    
    'Redução Z pendente
    
    end if
    Bom, com o emulador funcionou certo, voce so precisa fazer os tratamentos de retorno das funções usadas para que sua linguagem entenda como data.
    • Marcado como Resposta M a i c o n quinta-feira, 8 de novembro de 2012 09:43
    quarta-feira, 7 de novembro de 2012 19:56

Todas as Respostas

  • Não sei qual dll você está usando ai.

    Mas eu tenho um exemplo aqui, de pdv utilizando uma dll da bematech especifica para .net.

    https://github.com/danimaribeiro/bubblesort-pdv

    Dá uma olhada, tem várias classes com métodos prontos. Inclusive de Redução Z, talvez fica mais fácil.

    sexta-feira, 19 de outubro de 2012 02:11
  • na verdade eu estou usando uma dll extern que a própria fabricante da bematech disponibiliza... a bemafi32.dll eu já tenho todos os métodos prontos inclusive de redução Z, o problema é que a própria fabricante não disponibiliza nenhum método pronto que verifica se tem redução Z pendente, tanto que eles ensinam a fazer manualmente utilizando as datas da ultima redução e da ultima movimentação...

    isso que tu me passou eu dei uma olhada e não tem nada implementado pra verificar Z pendente...

    obs.: só uma dúvida, este exemplo ai é c# com wpf?

    sexta-feira, 19 de outubro de 2012 11:28
  • Então a dll que utiliza no exemplo é melhor que essa bemafi32.dll ela foi feita especialmente para .Net.

    http://partners.bematech.com.br/suporte-recursos/downloads/?dltag=c%23

    Sim, utilizei C# e WPF.

    Achei um lugar que ele retorna as informações da Redução Z, não sei se é isso que você precisa.

    http://www.linhadecodigo.com.br/artigo/985/bematech-flash-builder-retornando-informacoes-da-impressora.aspx

    sexta-feira, 19 de outubro de 2012 19:01
  • este método que retorna os dados eu já tenho, eu precisaria de um especifico para verificar se RZ esta pendente... assim como a daruma e a sweda possuem um método pronto :/... ou então que alguem me ajudasse a implementar a lógica que o site dos desenvolvedores da bematech postou neste link http://partners.bematech.com.br/2011/09/edicao-85-verificando-se-ha-reducao-z-pendente/, onde aparentemente me diria quando RZ está pendente  
    segunda-feira, 22 de outubro de 2012 10:04
  • http://partners.bematech.com.br/suporte/bemafi32/flags_fiscais.htm
    nesta função vc consegue verificar.
    agora pra RZ pendente nao tem funcao mesmo


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCPD

    • Marcado como Resposta M a i c o n segunda-feira, 22 de outubro de 2012 12:36
    segunda-feira, 22 de outubro de 2012 11:59
  • valeu cara, não é 100% mas já ajuda bastante...
    segunda-feira, 22 de outubro de 2012 12:36
  • Olá #Maicon, tive o mesmo problema e como tambem não encontrei uma forma de verificar a redução z pendente de forma pratica, consegui fazendo desta forma:

    IF Bematech_FI_DataMovimentoUltimaReducaoMFD < Bematech_FI_DataMovimento and DateDiff(Day,Bematech_FI_DataMovimento, Bematech_FI_DataHoraImpressora) > 0 then
    
    'Redução Z pendente
    
    end if
    Bom, com o emulador funcionou certo, voce so precisa fazer os tratamentos de retorno das funções usadas para que sua linguagem entenda como data.
    • Marcado como Resposta M a i c o n quinta-feira, 8 de novembro de 2012 09:43
    quarta-feira, 7 de novembro de 2012 19:56
  • blz, muito obrigado vou testar aqui e ver se tá tudo certo mas acredito que seja algo assim mesmo, valeu mesmo :D...
    quinta-feira, 8 de novembro de 2012 09:43
  • Estou usando o projeto acBr.Net muito bom recomento.

    http://acbr.sourceforge.net/drupal/

    Atenciosamente,

    Rodrigo Q. de Faria

    Bacharel em Sistemas de Informação

    sexta-feira, 9 de novembro de 2012 09:11