none
Retornando o CCF (contador de cupom fiscal) da Impressora Fiscal Daruma

    Discussão Geral

  • Bom dia,

     

    Segue uma dica para quem precisa pegar o CCF que é o contador de cupom fiscal, o CCF é um contador da impressora fiscal que conta sempre + 1 para cada cupom fiscal impressora, independente do valor, forma de pagamento ou itens vendidos e vai acumulando isso no ECF.

     

    Para pegar ele da impressora fiscal Daruma usando a Daruma32.dll iremos usar o seguinte metodo, Daruma_FIMFD_RetornaInformação no qual pode ser pesquisa em nosso help, lá iremos encontrar uma tabela que teremos C que é o indice, tamanho, tipo (N=Numerico A=AlfaNumerico) e informação (que retorna na variavel) que ira retornar, no exemplo abaixo demonstrar como pegar o CCF:

     

    Para passar os parametros do metodos usar 2 variaveis:

     

           Exemplo: Para receber o número de casas decimais que estão programadas para o valor.
    Variável String por referência com 2(dois) espaços alocados para receber o numero de decimais do valor.
    Variável String por referência com 2(dois) espaços alocados para receber o numero de decimais da quantidade.

     

    vendo na tabela do Help iremos encontrar o inicio dela da seguinte forma:

     

    segue o inicio da tabela que iremos ver no help:

    C   Tamanho   Tipo   Informação

     

    30   6      N   CCF - Contador Cupom Fiscal

     

    abaixo segue um exemplo em java usando o .JAR com a Daruma32.dll pegando o Numero de Serie da MFDE no retorno:

     

    package ImpressoraFiscal;

    import daruma.jni.FISCAL;
    import javax.swing.JOptionPane;

    public class RetornaInformacao {
      
        static{
            System.loadLibrary("Daruma32");
                
        }

        public static void main (String [] args){
            int retorno = 0;
            int[] ack = new int[1];
            int[] st1 = new int[1];
            int[] st2 = new int[1];
           
            ack [0] = 0;
            st1 [0] = 0;
            st2 [0] = 0;
            byte[] erroextendido = new byte[3];
            byte[] dados = new byte[30]; // tamanho da variavel dos dados a receber do retorno do comando

            byte[] indice = new byteDevil; // tamanho do valor do retorno a receber de acordo com o dados solicitados        
            indice[0]='3';  // é o 1º numero do indice
            indice[1]='0';  // é o 2º numero do indice
                   
            FISCAL.Daruma_FI_LeituraX();
            FISCAL.Daruma_FIMFD_RetornaInformacao(indice, dados);
            FISCAL.Daruma_FI_RetornaErroExtendido(erroextendido);
           
            JOptionPane.showMessageDialog(null, "Retorno = " +
      " " +(new String(dados)));
           
            JOptionPane.showMessageDialog(null, " Retorno do Metodo = " + retorno + "\n ACK = " + ack[0] + "\n ST1 = "
            + st1[0] + "\n ST2 = " + st2[0] + " \n Erro Extendido = " + (new String(erroextendido)),"Retorno do Metodo",JOptionPane.PLAIN_MESSAGE);             
               
        }   
      }

     

    Att,

    terça-feira, 4 de novembro de 2008 10:59