private void acBrTEFD_OnAntesCancelarTransacao(object sender, ACBrFramework.TEFD.AntesCancelarTransacaoEventArgs e) { if ((FDataModule.ACBrECF.Estado.ToString() == "Venda") || (FDataModule.ACBrECF.Estado.ToString() == "Pagamento")) { UECF.CancelaCupom(); CupomCancelado = true; } else if ((FDataModule.ACBrECF.Estado.ToString() == "Relatorio")) { FDataModule.ACBrECF.FechaRelatorio(); UPAF.GravaR06("CC"); } else { FDataModule.ACBrECF.CorrigeEstadoErro(false); } }
private void acBrTEFD_OnComandaECF(object sender, ACBrFramework.TEFD.ComandaECFEventArgs e) { string Mensagem = ""; try { switch (e.Operacao) { case ACBrFramework.TEFD.OperacaoECF.AbreGerencial: { FDataModule.ACBrECF.AbreRelatorioGerencial(); } break; case ACBrFramework.TEFD.OperacaoECF.CancelaCupom: { ImpressaoOK = false; try { UECF.CancelaCupom(); CupomCancelado = true; } catch (Exception eError) { Log.write(eError.ToString()); CupomCancelado = false; } } break; case ACBrFramework.TEFD.OperacaoECF.FechaCupom: { if (FCaixa.VendaCabecalho.IdPreVenda > 0) { Mensagem = "PV" + new string('0', 10 - Convert.ToString(FCaixa.VendaCabecalho.IdPreVenda).Length) + Convert.ToString(FCaixa.VendaCabecalho.IdPreVenda); } if (FCaixa.VendaCabecalho.IdDAV > 0) { DavCabecalhoVO DavCabecalho = new DAVController().ConsultaDAVId(FCaixa.VendaCabecalho.IdDAV); Mensagem = Mensagem + "DAV" + DavCabecalho.NumeroDav; } Mensagem = FCaixa.MD5 + Mensagem + "\r" + "\n"; try { EmpresaVO Empresa = new EmpresaController().PegaEmpresa(FCaixa.Configuracao.IdEmpresa); if (Empresa.Uf == "MG") { Mensagem = Mensagem + "MINAS LEGAL:" + Empresa.Cnpj.Substring(8, 1) + FDataModule.ACBrECF.DataHora.ToString("ddMMyyyy"); if (FCaixa.VendaCabecalho.ValorFinal >= 1) { Mensagem = Mensagem + FCaixa.VendaCabecalho.ValorFinal.Value.ToString("0.00"); } Mensagem = Mensagem + "\r" + "\n"; } UECF.FechaCupom(Mensagem + FCaixa.Configuracao.MensagemCupom); } catch (Exception eError) { Log.write(eError.ToString()); } } break; case ACBrFramework.TEFD.OperacaoECF.SubTotalizaCupom: SubTotalizaCupom(); //FDataModule.ACBrECF.SubtotalizaCupom(0); break; case ACBrFramework.TEFD.OperacaoECF.FechaVinculado: { FDataModule.ACBrECF.FechaRelatorio(); UPAF.GravaR06("CC"); } break; case ACBrFramework.TEFD.OperacaoECF.PulaLinhas: { FDataModule.ACBrECF.PulaLinhas(FDataModule.ACBrECF.LinhasEntreCupons); FDataModule.ACBrECF.CortaPapel(true); Thread.Sleep(200); } break; } e.RetornoECF = true; } catch (Exception eError) { Log.write(eError.ToString()); e.RetornoECF = false; } }
public void CancelaPreVendasPendentes(List <PreVendaCabecalhoVO> ListaPreVendaCabecalho, List <PreVendaDetalheVO> ListaPreVendaDetalhe) { string Mensagem; int IdMovimento, ItemCupom; string Id; IdMovimento = FCaixa.Movimento.Id; for (int i = 0; i <= ListaPreVendaCabecalho.Count - 1; i++) { VendaCabecalhoVO VendaCabecalho = new VendaCabecalhoVO(); List <VendaDetalheVO> ListaVendaDetalhe = new List <VendaDetalheVO>(); VendaController VendaController = new VendaController(); ItemCupom = 0; FDataModule.ACBrECF.AbreCupom(); VendaCabecalho.IdMovimento = IdMovimento; VendaCabecalho.DataVenda = FDataModule.ACBrECF.DataHora; VendaCabecalho.HoraVenda = FDataModule.ACBrECF.DataHora.ToString("hh:mm:ss"); VendaCabecalho.StatusVenda = "C"; VendaCabecalho.CFOP = FCaixa.Configuracao.CFOPECF; VendaCabecalho.COO = Convert.ToInt32(FDataModule.ACBrECF.NumCOO); VendaCabecalho.CCF = Convert.ToInt32(FDataModule.ACBrECF.NumCCF); VendaCabecalho.ValorVenda = ListaPreVendaCabecalho[i].Valor; VendaCabecalho.IdPreVenda = ListaPreVendaCabecalho[i].Id; VendaCabecalho = VendaController.IniciaVenda(VendaCabecalho); Id = Convert.ToString(ListaPreVendaCabecalho[i].Id); Mensagem = FCaixa.MD5 + "PV" + new string('0', 10 - Id.Length) + Id + "\r" + "\n"; for (int j = 0; j <= ListaPreVendaDetalhe.Count - 1; j++) { if (ListaPreVendaDetalhe[j].IdPreVenda == ListaPreVendaCabecalho[i].Id) { ItemCupom++; VendaDetalheVO VendaDetalhe = new VendaDetalheVO(); ProdutoVO Produto = new ProdutoController().ConsultaId(ListaPreVendaDetalhe[j].IdProduto); VendaDetalhe.IdProduto = ListaPreVendaDetalhe[j].IdProduto; VendaDetalhe.CFOP = FCaixa.Configuracao.CFOPECF; VendaDetalhe.IdVendaCabecalho = VendaCabecalho.Id; VendaDetalhe.DescricaoPDV = Produto.DescricaoPDV; VendaDetalhe.UnidadeProduto = Produto.UnidadeProduto; VendaDetalhe.CST = Produto.Cst; VendaDetalhe.ECFICMS = Produto.ECFICMS; VendaDetalhe.TaxaICMS = Produto.AliquotaICMS; VendaDetalhe.TotalizadorParcial = Produto.TotalizadorParcial; VendaDetalhe.Quantidade = ListaPreVendaDetalhe[j].Quantidade; VendaDetalhe.ValorUnitario = ListaPreVendaDetalhe[j].ValorUnitario; VendaDetalhe.ValorTotal = ListaPreVendaDetalhe[j].ValorTotal; if (Produto.GTIN.Trim() == "") { VendaDetalhe.GTIN = Convert.ToString(Produto.Id); } else { VendaDetalhe.GTIN = Produto.GTIN; } VendaDetalhe.Item = ItemCupom; if (Produto.IPPT == "T") { VendaDetalhe.MovimentaEstoque = "S"; } else { VendaDetalhe.MovimentaEstoque = "N"; } ListaVendaDetalhe.Add(VendaDetalhe); VendaController.InserirItem(VendaDetalhe); FDataModule.ACBrECF.VendeItem(ListaPreVendaDetalhe[j].GtinProduto, ListaPreVendaDetalhe[j].NomeProduto, ListaPreVendaDetalhe[j].ECFICMS, Convert.ToDecimal(ListaPreVendaDetalhe[j].Quantidade), Convert.ToDecimal(ListaPreVendaDetalhe[j].ValorUnitario)); } }// for j = 0 to ListaPreVendaDetalhe.Count - 1 do FDataModule.ACBrECF.SubtotalizaCupom(); FDataModule.ACBrECF.EfetuaPagamento(FDataModule.ACBrECF.FormasPagamento[0].Indice, Convert.ToDecimal(ListaPreVendaCabecalho[i].Valor)); try { EmpresaVO Empresa = new EmpresaController().PegaEmpresa(FCaixa.Configuracao.IdEmpresa); if (Empresa.Uf == "MG") { Mensagem = Mensagem + "MINAS LEGAL:" + Empresa.Cnpj.Substring(8, 1) + FDataModule.ACBrECF.DataHora.ToString("ddmmyyyy"); if (FCaixa.VendaCabecalho.ValorFinal >= 1) { Mensagem = Mensagem + FCaixa.VendaCabecalho.ValorFinal.ToString(); } Mensagem = Mensagem + "\r" + "\n"; } } catch (Exception eError) { Log.write(eError.ToString()); } UECF.FechaCupom(Mensagem + FCaixa.Configuracao.MensagemCupom); UECF.CancelaCupom(); VendaController.CancelaVenda(VendaCabecalho, ListaVendaDetalhe); }// for i := 0 to ListaPreVendaCabecalho.Count - 1 do FCaixa.Movimento = new MovimentoController().VerificaMovimento(); }