/// <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(); } }
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(); } }
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(); } }
public void Suprimento() { using (IRelatorioFiscal rf = new RelatorioFiscal(ModeloECF.Bematech, "COM7")) { double valor = 10; string obs = "Suprimento"; rf.Suprimento((decimal)valor, obs); } }
public void Sangria() { using (IRelatorioFiscal rf = new RelatorioFiscal()) { double valor = 10; string obs = "Sangria."; rf.Sangria((decimal)valor, obs); } }
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); } } }
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 } }
/// <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); }
/// <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 }