Olá meus caros. Neste artigo, que é a segunda parte do curso ( que ainda não sei quantas partes terá), veremos como imprimir dois dos principais relatórios das impressoras fiscais: Leixura X e Redução Z.
Afinal, o que são?
LeituraX é um relatório parcial do movimento do seu dia. É como anda seu caixa naquele momento, com os totalizadores de impostos, de serviço, meios de pagamento. Exemplo:  Até agora essa impressora vendeu R$100,00 em Dinheiro e R$350,00 em Cartão.
ReduçãoZ é o relatório final, de encerramento do dia. Nele é impresso toda a movimentação da impressora teve no dia. Exemplo: Hoje a impressora vendeu R$330,00 em Dinheiro e R$500,00 em Cartão. Totalizando no dia R$830,00 em vendas.
Importante! Ela bloqueia a impressora. Só podemos tirar ela uma vez por dia!
Com essa breve explicação, vamos colocar as mãos a obra!
Abriremos nosso projeto que foi criado no artigo anterior, que nomeei de ECF_Daruma



Com ele aberto, vamos declarar as funções de LeituraX e ReduçãoZ. Para isso, abriremos o nosso Class1, onde declaramos a DLL no artigo anterior.

Com ele aberto, vamos declarar as funções de LeituraX e ReduçãoZ Os métodos com seus parâmetros são:
        [DllImport("DarumaFrameWork.dll")]
        public static extern int iLeituraX_ECF_Daruma();
        [DllImport("DarumaFrameWork.dll")]
        public static extern int iReducaoZ_ECF_Daruma(string hinicial,string hfinal);
Insira essas informações no Class1, abaixo do ultimo método que adicionamos anteriormente. Deixamos nosso VS2010 com essa cara.

Com essa parte pronta, poderemos partir para a próxima etapa!
Vamos até o Form1, e vamos criar um Menu para inserir 2 botões. Adicione um MenuStrip e criei um menu “Relatórios” com 2 sub-menus “Leitura X“ e “Redução Z”, como mostra a imagem abaixo.

Com isso pronto, vamos adicionar as funcionalidades aos botões.
        private void leituraXToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ECF_Daruma.iLeituraX_ECF_Daruma();
        }
        private void reduçãoZToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ECF_Daruma.iReducaoZ_ECF_Daruma("", "");
        }
Visualmente, ficou dessa maneira:

O sistema já está pronto para efetuar a impressão dos dois documentos. Com isso, estamos pronto para realizar os testes! Dê o F5 e vamos ver o que acontece!
Bom, pessoal. Com isso já aprendemos a declarar a DLL e também a fazer a LeituraX e ReduçãoZ, que são os dois principais relatórios do ECF.
Até a próxima! ;)