Exemplo n.º 1
0
        public void FechaVendaComProblemas()
        {
            // altera o status da venda para C
            Sessao.Instance.VendaAtual.StatusVenda = "C";
            Caixa.ConcluiEncerramentoVenda();

            // grava os pagamentos no banco de dados com o indicador de estorno
            for (int i = 0; i <= ListaTotalTipoPagamento.Count - 1; i++)
            {
                ListaTotalTipoPagamento[i].Estorno = "S";
            }
            EcfTotalTipoPagamentoController.GravaEcfTotalTipoPagamentoLista(ListaTotalTipoPagamento);
        }
Exemplo n.º 2
0
        private void listaSupervisor_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }

            if (e.KeyCode == Keys.Enter)
            {
                //  inicia movimento
                if (listaSupervisor.SelectedIndex == 0)
                {
                    Caixa.IniciaMovimento();
                }
                //  encerra movimento
                if (listaSupervisor.SelectedIndex == 1)
                {
                    Caixa.EncerraMovimento();
                }
                //  suprimento
                if (listaSupervisor.SelectedIndex == 3)
                {
                    Caixa.Suprimento();
                }
                //  sangria
                if (listaSupervisor.SelectedIndex == 4)
                {
                    Caixa.Sangria();
                }
                //  Reducao Z
                if (listaSupervisor.SelectedIndex == 6)
                {
                    if (MessageBox.Show("Tem Certeza Que Deseja Executar a Reducao Z?" + "\r" + "\r" + "O Movimento da Impressora será Suspenso no dia de Hoje.", "Reducao Z", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        try
                        {
                            ECFUtil.ReducaoZ();
                        }
                        finally
                        {
                            Caixa.TelaPadrao();
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        public void FinalizaVenda()
        {
            ImpressaoOK = true;

            // subtotaliza o cupom
            SubTotalizaCupom();

            // manda os pagamentos para o ECF
            if (TransacaoComTef)
            {
                OrdenaLista();
            }

            for (int i = 0; i <= ListaTotalTipoPagamento.Count - 1; i++)
            {
                if (ListaTotalTipoPagamento[i].EcfTipoPagamento.Tef != "S")
                {
                    DataModule.ACBrECF.EfetuaPagamento(ListaTotalTipoPagamento[i].EcfTipoPagamento.Codigo, ListaTotalTipoPagamento[i].Valor.Value);
                }
            }

            // Descomente para bloquear teclado e mouse
            //BlockInput.Bloquear(true);

            // finaliza o cupom
            ACBrTEFD.FinalizarCupom();

            // imprime as transacoes pendentes - comprovantes nao fiscais vinculados
            ACBrTEFD.ImprimirTransacoesPendentes();

            // Descomente para bloquear teclado e mouse
            //BlockInput.Bloquear(false);

            if (ImpressaoOK)
            {
                // grava os pagamentos no banco de dados
                EcfTotalTipoPagamentoController.GravaEcfTotalTipoPagamentoLista(ListaTotalTipoPagamento);

                // conclui o encerramento da venda - grava dados de cabecalho no banco
                Sessao.Instance.VendaAtual.ValorFinal    = TotalReceber;
                Sessao.Instance.VendaAtual.ValorRecebido = TotalRecebido;
                Sessao.Instance.VendaAtual.Troco         = Troco;
                Sessao.Instance.VendaAtual.StatusVenda   = "F";
                Sessao.Instance.StatusCaixa = Tipos.StatusCaixa.scAberto;
                Caixa.ConcluiEncerramentoVenda();

                //  usado quando a gaveta tem sinal invertido
                if (Sessao.Instance.Configuracao.GavetaSinalInvertido == "S")
                {
                    DataModule.ACBrECF.GavetaSinalInvertido = true;
                }

                if (Sessao.Instance.Configuracao.GavetaUtilizacao > 0)
                {
                    DataModule.ACBrECF.AbreGaveta();
                }

                PodeFechar = true;
                this.Close();
            }
            else
            {
                if (CupomCancelado)
                //ocorreu problema na impressao do comprovante do TEF. ECF Desligado.
                //Sistema pergunta ao usuário se o mesmo quer tentar novamente. Usuário responde não.
                //ECF agora está ligado e o sistema consegue cancelar o cupom.
                {
                    MessageBox.Show("Problemas no ECF. Cupom Fiscal Cancelado.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Sessao.Instance.VendaAtual.CupomCancelado = "S";
                    Sessao.Instance.StatusCaixa = Tipos.StatusCaixa.scAberto;
                    FechaVendaComProblemas();
                    PodeFechar = true;
                    this.Close();
                }
                else
                //ocorreu problema na impressao do comprovante do TEF. ECF Desligado.
                //Sistema pergunta ao usuário se o mesmo quer tentar novamente. Usuário responde não.
                //ECF continua desligado e o sistema não consegue cancelar o cupom.
                {
                    MessageBox.Show("Problemas no ECF. Aplicação funcionará apenas para consulta.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Sessao.Instance.StatusCaixa = Tipos.StatusCaixa.scSomenteConsulta;
                    FechaVendaComProblemas();
                    PodeFechar = true;
                    this.Close();
                }
            }
        }
Exemplo n.º 4
0
        private void listaGerente_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }


            if (e.KeyCode == Keys.Enter)
            {
                //  inicia movimento
                if (listaGerente.SelectedIndex == 0)
                {
                    Caixa.IniciaMovimento();
                }
                //  encerra movimento
                if (listaGerente.SelectedIndex == 1)
                {
                    Caixa.EncerraMovimento();
                }
                //  suprimento
                if (listaGerente.SelectedIndex == 3)
                {
                    Caixa.Suprimento();
                }
                //  sangria
                if (listaGerente.SelectedIndex == 4)
                {
                    Caixa.Sangria();
                }
                //  Reducao Z
                if (listaGerente.SelectedIndex == 6)
                {
                    if (MessageBox.Show("Tem Certeza Que Deseja Executar a Reducao Z?" + "\r" + "\r" + "O Movimento da Impressora será Suspenso no dia de Hoje.", "Reducao Z", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        try
                        {
                            ECFUtil.ReducaoZ();
                        }
                        finally
                        {
                            Caixa.TelaPadrao();
                        }
                    }
                }

                //  consultar cliente
                if (listaGerente.SelectedIndex == 8)
                {
                    ImportaCliente FImportaCliente = new ImportaCliente();
                    ImportaCliente.QuemChamou = "SUBMENU";
                    FImportaCliente.ShowDialog();
                }
                //  funções administrativas do TEF
                if (listaGerente.SelectedIndex == 10)
                {
                    EfetuaPagamento FEfetuaPagamento = new EfetuaPagamento();
                    try
                    {
                        EfetuaPagamento.ACBrTEFD.Initializar(ACBrFramework.TEFD.TefTipo.TefDial);
                        EfetuaPagamento.ACBrTEFD.ADM(ACBrFramework.TEFD.TefTipo.TefDial);
                    }
                    catch (Exception eError)
                    {
                        Log.write(eError.ToString());
                        MessageBox.Show("Problemas no GP TEFDIAL.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    FEfetuaPagamento.Dispose();
                }
                //  Importar Tabelas com Dispositivo (pen-drive)
                if (listaGerente.SelectedIndex == 12)
                {
                    PenDrive FPenDrive = new PenDrive();
                    PenDrive.Rotina = "IMPORTA";
                    FPenDrive.ShowDialog();
                }

                //  Exportar Tabelas com Dispositivo (pen-drive)
                if (listaGerente.SelectedIndex == 13)
                {
                    PenDrive FPenDrive = new PenDrive();
                    PenDrive.Rotina = "EXPORTA";
                    FPenDrive.ShowDialog();
                }
            }
        }
Exemplo n.º 5
0
        private void listaMenuOperacoes_KeyDown(object sender, KeyEventArgs e)
        {
            string RegistraPreVenda = "";

            try
            {
                XmlDocument ArquivoXML = new XmlDocument();
                ArquivoXML.Load(Application.StartupPath + "\\ArquivoAuxiliar.xml");
                RegistraPreVenda = Biblioteca.Desencripta(ArquivoXML.GetElementsByTagName("registraPreVenda").Item(0).InnerText.Trim());
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }

            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }

            if (e.KeyCode == Keys.Enter)
            {
                if (RegistraPreVenda == "REGISTRA")
                {
                    //  carrega pre-venda
                    if (listaMenuOperacoes.SelectedIndex == 0)
                    {
                        if (Sessao.Instance.StatusCaixa == Tipos.StatusCaixa.scAberto)
                        {
                            ImportaNumero FImportaNumero = new ImportaNumero();
                            FImportaNumero.Text             = "Carrega Pre-Venda";
                            ImportaNumero.LabelEntrada.Text = "Informe o numero da Pre-Venda";
                            try
                            {
                                if (FImportaNumero.ShowDialog() == DialogResult.OK)
                                {
                                    this.Close();
                                    Caixa.CarregaPreVenda(ImportaNumero.EditEntrada.Text);
                                }
                            }
                            catch (Exception eError)
                            {
                                Log.write(eError.ToString());
                            }
                        } //  if StatusCaixa = 0 then
                        else
                        {
                            MessageBox.Show("Já existe uma venda em andamento.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Sistema não está configurado para operações com Pré-Vendas.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }


                //  carrega dav
                if (listaMenuOperacoes.SelectedIndex == 1)
                {
                    if (Sessao.Instance.StatusCaixa == Tipos.StatusCaixa.scAberto)
                    {
                        ImportaNumero FImportaNumero = new ImportaNumero();
                        FImportaNumero.Text             = "Carrega DAV";
                        ImportaNumero.LabelEntrada.Text = "Informe o numero do DAV";
                        try
                        {
                            if (FImportaNumero.ShowDialog() == DialogResult.OK)
                            {
                                this.Close();
                                Caixa.CarregaDAV(ImportaNumero.EditEntrada.Text);
                            }
                        }
                        catch (Exception eError)
                        {
                            Log.write(eError.ToString());
                        }
                    } //  if StatusCaixa = 0 then
                    else
                    {
                        MessageBox.Show("Já existe uma venda em andamento.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }