private void btnImp_ImprimirTexto_Click(object sender, EventArgs e) { MP2032.ConfiguraModeloImpressora(7); //Bematech MP-4200 TH MP2032.IniciaPorta("USB"); MP2032.BematechTX(txtImp_TextoLivre.Text + "\n"); }
private void bntTestarCon_Click(object sender, EventArgs e) { MP2032.FechaPorta(); MP2032.ConfiguraModeloImpressora(7); //Bematech MP-4200 TH MP2032.IniciaPorta("USB"); int iRetorno; iRetorno = MP2032.Le_Status(); if (iRetorno == 0) { MessageBox.Show("Erro ao se comunicar com a Impressora Bematech MP-4200 TH, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (iRetorno == 5) { MessageBox.Show("Impressora com pouco papel, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (iRetorno == 9) { MessageBox.Show("Impressora com a tampa aberta, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (iRetorno == 32) { MessageBox.Show("Impressora sem papel, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("Papel OK!" + Environment.NewLine + "Tampa fechada OK!" + Environment.NewLine + "Comunicação OK!", "STATUS", MessageBoxButtons.OK, MessageBoxIcon.Information); } MP2032.FechaPorta(); }
private void VerificaStatusImpressora() { MP2032.ConfiguraModeloImpressora(7); // Bematech MP-4200 TH MP2032.IniciaPorta("USB"); var codigoRetorno = MP2032.Le_Status(); if (codigoRetorno == 0) { MessageBox.Show("Erro ao se comunicar com a Impressora Bematech MP-4200 TH, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (codigoRetorno == 5) { MessageBox.Show("Impressora com pouco papel, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (codigoRetorno == 9) { MessageBox.Show("Impressora com a tampa aberta, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); MP2032.FechaPorta(); return; } else if (codigoRetorno == 32) { MessageBox.Show("Impressora sem papel, verifique por favor.", "** ATENÇÃO **", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void button1_Click(object sender, EventArgs e) { if (MP2032.ConfiguraModeloImpressora(0) > 0) { ; } MessageBox.Show("Configurada impressora"); if (MP2032.IniciaPorta("COM3") > 0) { MessageBox.Show("Configurada porta"); } }
public void ConectarAImpressora() { try { int iPorta = 0; int iVerificarImpressora = 0; int impressora = 0; //8 MP 2500 TH //7 MP 4200 TH if (lblImpressora.Text.ToString() == "MP4200TH") { impressora = 7; } else if (lblImpressora.Text.ToString() == "MP2500TH") { impressora = 8; } iVerificarImpressora = MP2032.ConfiguraModeloImpressora(impressora); //Vaidar Impressora se 0 significa que a empressora não foi encontrada, se for 1 impressora foi if (iVerificarImpressora == 0) { lblmsg.Text = ("Impressora não encontrata!"); // MessageBox.Show("Impressora não encontrata!"); } else { lblmsg.Text = ("Impressora encontrada!"); } iPorta = MP2032.IniciaPorta(("USB")); //inicia a porta com o valor da combo (exceto ethernet) if (iPorta <= 0) //testa se a conexão da porta foi bem sucedido { lblmsg.Text = ("Não foi possível conectar com a impressora!!!"); // Application.Exit(); } else { lblmsg.Text = ("Impressora conectada!!!"); // MessageBox.Show("Impressora conectada!!!"); } } catch (Exception ex) { lblmsg.Text = ("ERROR 001 : " + ex.Message); // MessageBox.Show("ERROR 001 : " + ex.Message); } }
private void btnImp_ImprimirCabecalhoNFCe_Click(object sender, EventArgs e) { MP2032.ConfiguraModeloImpressora(7); //Bematech MP-4200 TH MP2032.IniciaPorta("USB"); //CADA LINHA DO CUPOM CONTEM 50 COLUNAS COM LETRA NORMAL MP2032.BematechTX("\x1B\x61\x1"); //Centraliza //Informações do Cabeçalho MP2032.FormataTX(Emitente.getInstance.nome + "\n", 2, 0, 0, 0, 1); MP2032.FormataTX("CNPJ " + String.Format(@"{0:00\.000\.000\/0000\-00}", Convert.ToInt64(Emitente.getInstance.cnpj)) + "\n", 2, 0, 0, 0, 0); MP2032.FormataTX("Av. Amaral Peixoto, 507 - LJ05, Centro, Niterói-RJ" + "\n", 2, 0, 0, 0, 0); MP2032.FormataTX("\n", 2, 0, 0, 0, 0); MP2032.FormataTX("Documento Auxiliar da Nota Fiscal de Consumidor Eletrônica" + "\n", 1, 0, 0, 0, 0); //MP2032.BematechTX("Documento Auxiliar da Nota Fiscal de Consumidor Eletrônica" + "\n"); MP2032.FormataTX("\n", 2, 0, 0, 0, 0); //Informações de detalhes de produtos/serviços MP2032.FormataTX("Codigo Descricao Qtd Un Vl.Unit Total" + "\n", 2, 0, 0, 0, 0); MP2032.FormataTX("-------------------------------------------------------------------", 1, 0, 0, 0, 0); MP2032.AcionaGuilhotina(0); MP2032.FechaPorta(); }
static void Main(string[] args) { try { MP2032.ConfiguraModeloImpressora(7); // Bematech MP-4200 TH MP2032.IniciaPorta("USB"); bool isSangria = true; decimal valor = 10.50m; if (!ImpressoraBematech.isSangriaAcrescimo(isSangria, DateTime.Now, valor, "Mercado")) { return; } GeraXml.AmbienteNFCe = "1"; CertificadoDigital.getInstance.Seleciona_Certificado(); (new EmitenteDao()).SelecionaEmitente(); var control = (new ControleFiscalDao()).getControle(); if (control != null) { ControleFiscal.GetInstance.TokenHomologacao = control.TokenHomologacao; ControleFiscal.GetInstance.TokenProducao = control.TokenProducao; ControleFiscal.GetInstance.CaminhoXmlAutorizado = control.CaminhoXmlAutorizado; ControleFiscal.GetInstance.CaminhoXmlCancelado = control.CaminhoXmlCancelado; ControleFiscal.GetInstance.CaminhoXmlInutilizado = control.CaminhoXmlInutilizado; control = null; } var dataInicial = new DateTime(2018, 10, 03); var dataFinal = new DateTime(2018, 10, 03); var pedidos = (new PedidoDao()).GetPedidosDoCaixa(dataInicial, dataFinal); foreach (var pedido in pedidos) { pedido.DataDigitacao = DateTime.Now; pedido.NFiscal = (new ControleFiscalDao()).GetUltimoNumeroNFiscalGerado() + 1; pedido.Cliente = (new ClienteDao()).GetClienteConsumidorNaoIdentificado(); pedido.Operacao = (new OperacaoDao()).GetOperacaoPorPedido(pedido.NumDoc); pedido.Pagamentos = (new TipoPagamentoDao()).GetPagametosDoPedido(pedido.NumDoc); pedido.ItensDoPedido = (new PedidoItemDao()).GetItensDoPedido(pedido.NumDoc); pedido.ItensDoPedido.ForEach(pedidoItem => { pedidoItem.Produto = (new ProdutoDao().GetProduto(pedidoItem.ProdutoId)); pedidoItem.Produto.GrupoFiscal = (new ProdutoGrupoFiscalDao()).GetGrupoFiscalPorProduto(pedidoItem.ProdutoId); }); var geraXml = new GeraXml(); //Gerando XML var xml = geraXml.GeraXmlNFCe(pedido); var GravaXml = File.CreateText(@"C:\Users\Succo\Desktop\xmlGerado.xml"); GravaXml.Write(xml.InnerXml); GravaXml.Close(); //Assinando XML var xmlAssinado = (new AssinaXml()).AssinaXML(xml.InnerXml, "infNFe", CertificadoDigital.getInstance.oCertificado); var GravaXmlAssinado = File.CreateText(@"C:\Users\Succo\Desktop\xmlAssinado.xml"); GravaXmlAssinado.Write(xmlAssinado.InnerXml); GravaXmlAssinado.Close(); //Validando XML try { // Validando o XML var retValidar = (new ValidaXml()).Valida(xmlAssinado, "NFe"); //Inserindo a URL QRCode no xml já assinado xmlAssinado.LoadXml(xmlAssinado.InnerXml.Replace("</infNFe>", "</infNFe><infNFeSupl><qrCode><![CDATA[" + geraXml.GetUrlQRCode(xmlAssinado, pedido) + "]]></qrCode><urlChave>http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode</urlChave></infNFeSupl>")); } catch (Exception ex) { Console.WriteLine("** Erro ao validar **"); Console.WriteLine(ex.Message); } var GravaXmlAssinadoComQrCode = File.CreateText(@"C:\Users\Succo\Desktop\xmlAssinadoComQrCode.xml"); GravaXmlAssinadoComQrCode.Write(xmlAssinado.InnerXml); GravaXmlAssinadoComQrCode.Close(); var retornoDaTransmicao = (new TransmiteXml()).XML_NFCe4(xmlAssinado, pedido.NFiscal.ToString(), CertificadoDigital.getInstance.oCertificado); if (retornoDaTransmicao.Substring(0, 4) != "Erro") { var xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(retornoDaTransmicao); var GravaXmlTransmitido = File.CreateText(@"C:\Users\Succo\Desktop\xmlTransmitido.xml"); GravaXmlTransmitido.Write(xmlRetorno.InnerXml); GravaXmlTransmitido.Close(); // Lote processado if (xmlRetorno.GetElementsByTagName("cStat")[0].InnerText == "104") { // Autorizado if (xmlRetorno.GetElementsByTagName("cStat")[1].InnerText == "100") { pedido.Chave = xmlRetorno.GetElementsByTagName("chNFe")[0].InnerText; pedido.Protocolo = xmlRetorno.GetElementsByTagName("nProt")[0].InnerText; // Separar somente o conteúdo a partir da tag <protNFe> até </protNFe> var nPosI = retornoDaTransmicao.IndexOf("<protNFe"); var nPosF = retornoDaTransmicao.Length - (nPosI + 13); var strProc = retornoDaTransmicao.Substring(nPosI, nPosF); // XML pronto para salvar var strXmlProcNfe = @"<?xml version=""1.0"" encoding=""utf-8"" ?><nfeProc xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""4.00"">" + xmlAssinado.InnerXml + strProc + "</nfeProc>"; pedido.Xml = new Xml() { NumDoc = pedido.NumDoc, ArquivoXml = strXmlProcNfe, Data = DateTime.Now, Modelo = pedido.ModeloNFiscal, StatNFCe = "100" }; using (var db = new Database("stringConexao")) { db.BeginTransaction(); try { db.Update("Update Controle Set NFiscal=" + pedido.NFiscal + " Where ChvControle = 1"); db.Update("Update Movdb Set data_nfiscal = '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "', NFiscal= " + pedido.NFiscal + ", Chave='" + pedido.Chave + "' ,Protocolo='" + pedido.Protocolo + "', status_nfce = '" + pedido.Xml.StatNFCe + "' Where NumDoc = " + pedido.NumDoc); db.CompleteTransaction(); } catch (Exception) { db.AbortTransaction(); } if (!string.IsNullOrEmpty(ControleFiscal.GetInstance.CaminhoXmlAutorizado)) { //Salvando o arquivo XML na pasta var Grava = File.CreateText(ControleFiscal.GetInstance.CaminhoXmlAutorizado.Remove(ControleFiscal.GetInstance.CaminhoXmlAutorizado.Length - 1) + DateTime.Now.Month + @"\" + pedido.Chave + "-procNfe.xml"); Grava.Write(pedido.Xml.ArquivoXml); Grava.Close(); } } } } else { Console.WriteLine("Erro no lote"); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.ReadKey(); } }