コード例 #1
0
ファイル: frmEspelhoMFD.cs プロジェクト: njmube/openposbr
        /// <summary>
        /// Faz a impressão da Leitura da Memória Fiscal na impressora fiscal
        /// </summary>
        /// <param name="sender">Objeto que disparou o evento</param>
        /// <param name="e">Argumento do evento gerado</param>
        private void btnOK_Click(object sender, System.EventArgs e)
        {
            if(MessageBox.AskYesNo(String.Format("Gerar o {0} da memória fiscal?", Espelho ? "espelho" : "arquivo"), "MFD") ==
                System.Windows.Forms.DialogResult.No)
                return;

            try
            {
                Wait.Show();
                //-------------------------------------------------------------------------
                // Encontrar um PDV
                //-------------------------------------------------------------------------
                IPDV pdv = PDV.Create();

                //-------------------------------------------------------------------------
                // Encontrar a impressora
                //-------------------------------------------------------------------------
                IImpressora impressora = OpenPOS.ECF.ECF.Create(pdv);
                Settings.ECF.ECFAtual = impressora;

                //-------------------------------------------------------------------------
                // Caminho do arquivo que será retornado pelo método
                //-------------------------------------------------------------------------
                string arquivo = "";

                using(IRelatorioFiscal rf = new RelatorioFiscal(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta))
                {

                    if(tcFiltros.SelectedTab.Name == tcpCOO.Name)
                    {

                        arquivo = Espelho ? rf.GerarEspelhoMFD((int)mnCOOInicial.Value, (int)mnCOOFinal.Value) :
                                            rf.GerarArquivoMFD((int)mnCOOInicial.Value, (int)mnCOOFinal.Value);
                    }
                    else
                    {
                        arquivo = Espelho ? rf.GerarEspelhoMFD(dtpDataInicial.Value, dtpDataFinal.Value) :
                                            rf.GerarArquivoMFD(dtpDataInicial.Value, dtpDataFinal.Value);
                    }

                    MessageBox.Show(String.Format("O {0} da memória fiscal foi gerado com sucesso no caminho \"{1}\"",
                        Espelho ? "espelho" : "arquivo",
                        arquivo));

                    DialogResult = System.Windows.Forms.DialogResult.OK;
                }
            }
            catch(Exception ex)
            {
                MessageBox.ShowError(ex, false);
            }
            finally
            {
                Wait.Close();
            }
        }
コード例 #2
0
ファイル: ECFTest.cs プロジェクト: njmube/openposbr
        public void CadastraTotalizadorNaoFiscal()
        {
            using (IConfiguracao conf = new OpenPOS.ECF.Configuracao(ModeloECF.Bematech, "COM7"))
            {
                string obs = "Suprimento";
                conf.CadastraTotalizadorNaoFiscal(obs, "");
            }

            using (IRelatorioFiscal rf = new RelatorioFiscal(ModeloECF.Bematech, "COM7"))
            {
                rf.LeituraX();
            }
        }
コード例 #3
0
ファイル: frmInicial.cs プロジェクト: njmube/openposbr
        private void mnuMenuFiscalLeituraX_Click(object sender, EventArgs e)
        {
            try
            {
                Wait.Show();

                //-------------------------------------------------------------------------
                // Encontrar um PDV
                //-------------------------------------------------------------------------
                IPDV pdv = PDV.Create();

                //-------------------------------------------------------------------------
                // Encontrar a impressora
                //-------------------------------------------------------------------------
                IImpressora impressora = OpenPOS.ECF.ECF.Create(pdv);

                if(!impressora.IsNullOrEmpty())
                    using(IRelatorioFiscal r = new RelatorioFiscal(impressora.ModeloACBR, impressora.Porta))
                        r.LeituraX();

            }
            catch(Exception ex)
            {
                MessageBox.ShowError(ex, false);
            }
            finally
            {
                Wait.Close();
            }
        }
コード例 #4
0
ファイル: ECFTest.cs プロジェクト: njmube/openposbr
        public void Suprimento()
        {
            using (IRelatorioFiscal rf = new RelatorioFiscal(ModeloECF.Bematech, "COM7"))
            {
                double valor = 10;
                string obs = "Suprimento";

                rf.Suprimento((decimal)valor, obs);
            }
        }
コード例 #5
0
ファイル: ECFTest.cs プロジェクト: njmube/openposbr
 public void Sangria()
 {
     using (IRelatorioFiscal rf = new RelatorioFiscal())
     {
         double valor = 10;
         string obs = "Sangria.";
         rf.Sangria((decimal)valor, obs);
     }
 }
コード例 #6
0
ファイル: ECFTest.cs プロジェクト: njmube/openposbr
        public void ReducaoZ()
        {
            using (ICupomFiscal cf = new CupomFiscal())
            {
                #region Dados do cupom fiscal
                string cnpj = string.Empty;
                string nome = string.Empty;
                string endereco = string.Empty;

                string codProd = "00001";
                string descricaoProd = "Caneta Azul";
                string aliquota = "I";
                double qtde = 10;
                double vlrUnit = new Random().NextDouble();
                double desc = 0;
                string un = "UN";
                string tipoDesc = "%";
                string descAcre = "D";
                int codDepto = -1;
                double valor = qtde * vlrUnit;
                bool vinculado = false;

                string obs = "Imprime esse texto no cupom fiscal";
                string codFormaPagto = string.Empty;

                FormaPagamento[] formaPagtos = cf.FormasPagamento;

                for (int i = 0; i < 1; i++)
                {
                    codFormaPagto = formaPagtos[i].Indice;
                }

                cf.AbreCupom(cnpj, nome, endereco);
                cf.VendeItem(codProd, descricaoProd, aliquota, (decimal)qtde, (decimal)vlrUnit, (decimal)desc, un, tipoDesc, descAcre, codDepto);
                cf.SubTotalizaCupom((decimal)desc, obs);
                cf.EfetuaPagamento(codFormaPagto, (decimal)valor, obs, vinculado);
                cf.FechaCupom(obs);
                #endregion

                //Faz a impressão da Redução Z
                using (IRelatorioFiscal rf = new RelatorioFiscal())
                {
                    //Para imprimir a Redução Z, altere o valor dessa variável para "true"
                    bool imprimeReducao = false;

                    //Data da movimentação
                    DateTime dataMovimentacao = DateTime.Now;

                    if (imprimeReducao)
                        rf.ReducaoZ(dataMovimentacao);
                }
            }
        }
コード例 #7
0
ファイル: ECFTest.cs プロジェクト: njmube/openposbr
        public void LeituraMemoriaFiscal()
        {
            using (IRelatorioFiscal relFiscal = new RelatorioFiscal())
            {
                DateTime dataInicial = DateTime.Now.AddDays(-5);
                DateTime dataFinal = DateTime.Now;

                int reducaoInicial = 1;
                int reducaoFinal = 2000;

                string retorno = string.Empty;

                string nomeArquivo1 = System.IO.Path.GetTempPath() + "MemFiscal1.TXT";
                string nomeArquivo2 = System.IO.Path.GetTempPath() + "MemFiscal2.TXT";
                string nomeArquivo3 = System.IO.Path.GetTempPath() + "MemFiscal3.TXT";
                string nomeArquivo4 = System.IO.Path.GetTempPath() + "MemFiscal4.TXT";

                #region Emitir leitura da memória fiscal
                //Emitir a leitura por data, simplificada
                relFiscal.LeituraMemoriaFiscal(dataInicial, dataFinal, true);

                //Emitir a leitura por data, completa
                relFiscal.LeituraMemoriaFiscal(dataInicial, dataFinal, false);

                //Emitir a leitura por redução, simplificada
                relFiscal.LeituraMemoriaFiscal(reducaoInicial, reducaoFinal, true);

                //Emitir a leitura por redução, completa
                relFiscal.LeituraMemoriaFiscal(reducaoInicial, reducaoFinal, false);
                #endregion

                #region Receber em uma string a leitura da memória fiscal
                //Receber a leitura em uma string por data, simplificada
                retorno = relFiscal.LeituraMemoriaFiscalSerial(dataInicial, dataFinal, true);
                Assert.IsTrue(!string.IsNullOrEmpty(retorno));
                WriteLine(retorno);

                //Receber a leitura em uma string por data, completa
                retorno = relFiscal.LeituraMemoriaFiscalSerial(dataInicial, dataFinal, false);
                Assert.IsTrue(!string.IsNullOrEmpty(retorno));
                WriteLine(retorno);

                //Receber a leitura em uma string por redução, simplificada
                retorno = relFiscal.LeituraMemoriaFiscalSerial(reducaoInicial, reducaoFinal, true);
                Assert.IsTrue(!string.IsNullOrEmpty(retorno));
                WriteLine(retorno);

                //Receber a leitura em uma string por redução, completa
                retorno = relFiscal.LeituraMemoriaFiscalSerial(reducaoInicial, reducaoFinal, false);
                Assert.IsTrue(!string.IsNullOrEmpty(retorno));
                WriteLine(retorno);
                #endregion

                #region Receber a leitura da memória fiscal em um arquivo txt
                //Receber a leitura via arquivo txt por data, simplificada
                relFiscal.LeituraMemoriaFiscalSerial(dataInicial, dataFinal, nomeArquivo1, true);
                WriteLine("Arquivo TXT gerado com a leitura: " + nomeArquivo1);

                //Receber a leitura via arquivo txt por data, completa
                relFiscal.LeituraMemoriaFiscalSerial(dataInicial, dataFinal, nomeArquivo2, false);
                WriteLine("Arquivo TXT gerado com a leitura: " + nomeArquivo2);

                //Receber a leitura via arquivo txt por redução, simplificada
                relFiscal.LeituraMemoriaFiscalSerial(reducaoInicial, reducaoFinal, nomeArquivo3, true);
                WriteLine("Arquivo TXT gerado com a leitura: " + nomeArquivo3);

                //Receber a leitura via arquivo txt por redução, completa
                relFiscal.LeituraMemoriaFiscalSerial(reducaoInicial, reducaoFinal, nomeArquivo4, false);
                WriteLine("Arquivo TXT gerado com a leitura: " + nomeArquivo4);
                #endregion
            }
        }
コード例 #8
0
ファイル: Bobina.cs プロジェクト: njmube/openposbr
        /// <summary>
        /// Imprime o item do documento não fiscal
        /// </summary>
        /// <param name="tipo">Tipo de lançamento de documento não fiscal</param>
        /// <param name="valor">Valor do documento não fiscal</param>
        public void ImprimiItemNaoFiscal(Tipo tipo, double valor)
        {
            using (IRelatorioFiscal rf = new RelatorioFiscal(Unimake.Convert.ToEnum<ModeloECF>(Settings.ECF.ECFAtual.ModeloACBR), Settings.ECF.ECFAtual.Porta))
            {
                if (tipo == Tipo.Suprimento)
                {
                    rf.Suprimento((decimal)valor, string.Empty);
                    WriteLine("001  SUPRIMENTO                0001                {0:N2}", valor);
                }
                else if (tipo == Tipo.Sangria)
                {
                    rf.Sangria((decimal)valor, string.Empty);
                    WriteLine("001  SANGRIA                   0001                {0:N2}", valor);
                }
                else if (tipo == Tipo.Voucher)
                {
                    rf.Sangria((decimal)valor, string.Empty);
                    WriteLine("001  VOUCHER                   0001                {0:N2}", valor);
                }
                else
                {
                    rf.OutrosDocumentosNaoFiscais((decimal)valor, string.Empty, tipo);
                    WriteLine("001  {1}                   0001                {0:N2}", valor, tipo.ToString().ToUpper());
                }
            }

            FechaCupomNaoFiscal(valor);
        }
コード例 #9
0
 /// <summary>
 /// Evento click do botão de redução Z de fechamento de caixa
 /// </summary>
 /// <param name="sender">objeto que disparou o evento</param>
 /// <param name="e">parametros do evento</param>
 private void button1_Click(object sender, EventArgs e)
 {
     #region Redução Z
     DialogResult result = OpenPOS.MessageBox.AskYesNo("Após emitida não será possivel efetuar nenhuma movimentação na ECF neste dia!\r\n Deseja realmente emitir a Redução Z?",
         "Importante", MessageBoxDefaultButton.Button2);
     if(result == DialogResult.Yes)
     {
         IRelatorioFiscal reducao = new RelatorioFiscal(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta);
         reducao.ReducaoZ();
     }
     #endregion
 }