public void CriaCupomFiscal() { using (ICupomFiscal cf = new CupomFiscal()) { cf.AbreCupom("", "", "", false); cf.VendeItem("001", "teste", "FF", 12.00M, 10.00M, 0.0M, "UN", "%", "D", -1); cf.SubTotalizaCupom(0.0M, "teste"); cf.EfetuaPagamento("01", 12.00M, "", false); cf.FechaCupom("Obrigado. Volte sempre!"); WriteLine("Cupom impresso com sucesso!"); } }
public void TotalizaCupomFiscal() { // Totalizando cupom subtotalizando-o primeiro using (ICupomFiscal cf = new CupomFiscal()) { cf.AbreCupom("", "", "", false); cf.VendeItem("001", "teste", "FF", 12.00M, 10.00M, 0.0M, "UN", "%", "D", -1); cf.SubTotalizaCupom(2.00M, "Obrigado pela preferência!"); cf.EfetuaPagamento("01", 12.00M, "", false); cf.FechaCupom("Obrigado. Volte sempre!"); WriteLine("Cupom totalizado com com sucesso!"); } }
public void CupomVinculado() { 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 < 5; 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 int COO = cf.COO; using (ICupomVinculado cv = new CupomVinculado()) { #region Dados do cupom vinculado double valorCV = valor; #endregion cv.AbreCupomVinculado(COO, codFormaPagto, (decimal)valorCV); } } }
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); } } }
/// <summary> /// Imprime o item na impressora e na tela /// </summary> /// <param name="item">item do movimento</param> /// <param name="itemNumero">número do item</param> public void ImprimirItem(IItem item, int itemNumero, bool imprimeItemECF = true) { #region buffer if (!fromBuffer) { buffer.Add(new BufferItem { VendeItem = new VendeItemArgs { Item = item, ItemNumero = itemNumero, ImprimeItemECF = imprimeItemECF } }); } #endregion LastIndex = itemNumero - 1; string line = String.Format("{0} {1} {2}", itemNumero.ToString().PadLeft(3, '0'), item.ItemMovimentado.EGUID, item.ItemMovimentado.Descricao); WriteLine(line); string subtotal = (item.Quantidade * item.ValorUnitarioBruto).ToString("N2"); line = String.Format(" {0:N2}{1} X {2:N2} F1", item.Quantidade, "UN", item.ValorUnitarioBruto); line = line.PadRight(MaxLengthLine - subtotal.Length, '_') + subtotal; if ((fromBuffer || Settings.ECF.Concomitante) && imprimeItemECF) { using (ICupomFiscal c = new CupomFiscal(Unimake.Convert.ToEnum<ModeloECF>(Settings.ECF.ECFAtual.ModeloACBR), Settings.ECF.ECFAtual.Porta)) { IVendaCF venda = item.Parent as IVendaCF; if (venda != null) { venda.NumeroSerieECF = c.NumeroSerie; venda.NumeroOrdemECF = Unimake.Convert.ToInt(c.NumeroECF); venda.COO = c.COO; venda.COOFinal = 0; // Todo: o valor do coo final será atualizado posteriormente pela emissão da redução z venda.CRO = c.CRO; venda.CCF = c.CCF; venda.CRZ = c.CRZ; venda.ValorGrandeTotalECF = c.GrandeTotal; } Model.Faturamento.Lancamento.Movimento.Item.VendaCF.IItem i = (Model.Faturamento.Lancamento.Movimento.Item.VendaCF.IItem)item; i.COO = c.COO; i.Ordem = itemNumero; c.VendeItem(item.ItemMovimentado.EGUID, item.ItemMovimentado.Descricao, i.SituacaoTributaria.ToString(), Unimake.Convert.ToDecimal(item.Quantidade), Unimake.Convert.ToDecimal(item.ValorUnitarioBruto), 0.0M, item.Unidade.Descricao, "%", "D", -1); WriteLine(line); //Descontos nos itens dos movimentos vinculados, tais como, DAV, DAV-OS, Pré-Venda, etc. if (item.ValorTotalDesconto > 0 || item.ValorTotalAcrescimo > 0) { decimal vlrDescAcresc = item.ValorTotalDesconto > 0 ? Unimake.Convert.ToDecimal(item.ValorTotalDesconto * item.Quantidade) : Unimake.Convert.ToDecimal(item.ValorTotalAcrescimo * item.Quantidade); string descAcresc = item.ValorTotalDesconto > 0 ? "D" : "A"; int numeroItem = item.Ordem; using (ICupomFiscal cf = new CupomFiscal(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta)) cf.DescontoAcrescimoItemAnterior(vlrDescAcresc, descAcresc, "$", numeroItem); if (descAcresc.Equals("D")) line = "(-) DESCONTO ITEM {0} R${1}{2:N2}"; else line = "(+) ACRÉSCIMO ITEM {0} R${1}{2:N2}"; WriteLine(line, (venda.Itens.Count).ToString("D3"), "".PadLeft((MaxLengthLine - 27 - venda.ValorTotalLiquido.ToString().Length)), vlrDescAcresc); } } } StatusImpressao = BobinaStatusImpressao.ItemImpresso; }