Exemple #1
0
 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);
     }
 }
Exemple #2
0
        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();
        }