Exemple #1
0
 private void afterGrava()
 {
     if (pDados.validarCampoObrigatorio())
     {
         if (!string.IsNullOrEmpty(cd_portador.Text))
         {
             object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadPortador().BuscarEscalar(
                 new Utils.TpBusca[]
             {
                 new Utils.TpBusca()
                 {
                     vNM_Campo = "a.cd_portador",
                     vOperador = "=",
                     vVL_Busca = "'" + cd_portador.Text.Trim() + "'"
                 }
             }, "a.Tp_portadorpdv");
             if (obj.Equals("P"))
             {
                 if (string.IsNullOrEmpty(tp_duplicata.Text))
                 {
                     MessageBox.Show("Obrigatório informar Tipo de Duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     tp_duplicata.Focus();
                     return;
                 }
                 if (string.IsNullOrEmpty(cd_condpgto.Text))
                 {
                     MessageBox.Show("Obrigatório informar Condição de Pagamento!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     cd_condpgto.Focus();
                     return;
                 }
             }
         }
     }
     DialogResult = DialogResult.OK;
 }
Exemple #2
0
        private void InformarValor(string portador)
        {
            if (lPortador.Count > 0)
            {
                if (Math.Round(pVl_receber, 2) > Math.Round(lPortador.Sum(p => p.Vl_pagtoPDV), 2))
                {
                    if (portador.ToUpper().Trim().Equals("CH"))//Cheque
                    {
                        using (Financeiro.TFLanListaCheques fListaCheques = new Financeiro.TFLanListaCheques())
                        {
                            fListaCheques.Tp_mov     = "R";
                            fListaCheques.Cd_empresa = pCd_empresa;
                            fListaCheques.St_pdv     = true;
                            //Buscar Config PDV Empresa
                            CamadaDados.Faturamento.Cadastros.TList_CFGCupomFiscal lCfg =
                                CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(pCd_empresa, null);
                            if (lCfg.Count > 0)
                            {
                                fListaCheques.Cd_contager = lCfg[0].Cd_contaoperacional;
                                fListaCheques.Ds_contager = lCfg[0].Ds_contaoperacional;
                            }
                            fListaCheques.Cd_clifor        = pCd_clifor;
                            fListaCheques.Cd_historico     = rCfg.Cd_historicocaixa;
                            fListaCheques.Ds_historico     = rCfg.Ds_historicocaixa;
                            fListaCheques.Cd_portador      = lPortador.Find(p => p.St_controletitulobool).Cd_portador;
                            fListaCheques.Ds_portador      = lPortador.Find(p => p.St_controletitulobool).Ds_portador;
                            fListaCheques.Nm_clifor        = pNm_clifor;
                            fListaCheques.Dt_emissao       = CamadaDados.UtilData.Data_Servidor();
                            fListaCheques.Vl_totaltitulo   = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fListaCheques.St_bloquearTroco = St_ReprocessaFin;
                            if (fListaCheques.ShowDialog() == DialogResult.OK)
                            {
                                lPortador.Find(p => p.St_controletitulobool).lCheque      = fListaCheques.lCheques;
                                lPortador.Find(p => p.St_controletitulobool).Vl_pagtoPDV +=
                                    fListaCheques.lCheques.Sum(p => p.Vl_titulo);
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                            else
                            {
                                MessageBox.Show("Cheque não foi lançado... Liquidação não será efetivada! ");
                                return;
                            }
                        }
                    }
                    else if (portador.ToUpper().Trim().Equals("CC"))//Cartao Credito
                    {
                        //Buscar dados fatura cartao credito
                        using (TFLanCartaoPDV fCartao = new TFLanCartaoPDV())
                        {
                            fCartao.pCd_empresa      = pCd_empresa;
                            fCartao.D_C              = "C";
                            fCartao.Vl_saldofaturar  = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fCartao.St_bloquearTroco = St_ReprocessaFin;
                            if (fCartao.ShowDialog() == DialogResult.OK)
                            {
                                fCartao.lFatura.ForEach(p => lPortador.Find(x => x.St_cartaocreditobool).lFatura.Add(p));
                                lPortador.Find(p => p.St_cartaocreditobool).Vl_pagtoPDV += fCartao.lFatura.Sum(p => p.Vl_fatura);
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                        }
                    }
                    else if (portador.ToUpper().Trim().Equals("CD"))//Cartao Debito
                    {
                        //Buscar dados fatura cartao credito
                        using (TFLanCartaoPDV fCartao = new TFLanCartaoPDV())
                        {
                            fCartao.pCd_empresa      = pCd_empresa;
                            fCartao.D_C              = "D";
                            fCartao.Vl_saldofaturar  = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fCartao.St_bloquearTroco = St_ReprocessaFin;
                            if (fCartao.ShowDialog() == DialogResult.OK)
                            {
                                fCartao.lFatura.ForEach(p => lPortador.Find(x => x.St_cartaocreditobool).lFatura.Add(p));
                                lPortador.Find(p => p.St_cartaocreditobool).Vl_pagtoPDV += fCartao.lFatura.Sum(p => p.Vl_fatura);
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                        }
                    }
                    else if (portador.ToUpper().Trim().Equals("DU"))//Duplicata
                    {
                        //Buscar portador duplicata
                        CamadaDados.Financeiro.Cadastros.TList_CadPortador lDup =
                            new CamadaDados.Financeiro.Cadastros.TCD_CadPortador().Select(
                                new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "isnull(a.tp_portadorPDV, '')",
                                vOperador = "=",
                                vVL_Busca = "'P'"
                            }
                        }, 1, string.Empty, string.Empty);
                        if (lDup.Count.Equals(0))
                        {
                            MessageBox.Show("Não existe portador duplicata configurado no sistema.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        if (string.IsNullOrEmpty(pCd_clifor))
                        {
                            MessageBox.Show("Não é permitido venda a prazo sem identificar cliente.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        //Abrir tela Duplicata
                        if (pCd_clifor == rCfg.Cd_clifor)
                        {
                            Componentes.EditDefault CD_Clifor = new Componentes.EditDefault();
                            CD_Clifor.NM_Campo      = "CD_Clifor";
                            CD_Clifor.NM_CampoBusca = "CD_Clifor";
                            DataRowView linha = FormBusca.UtilPesquisa.BTN_BuscaClifor(new Componentes.EditDefault[] { CD_Clifor }, string.Empty);
                            if (linha != null)
                            {
                                pCd_clifor = linha["cd_clifor"].ToString();
                                pNm_clifor = linha["Nm_clifor"].ToString();
                            }
                            else
                            {
                                MessageBox.Show("Obrigatório informar cliente para gerar duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return;
                            }
                        }
                        //Verificar credito
                        CamadaDados.Financeiro.Duplicata.TRegistro_DadosBloqueio rDados =
                            new CamadaDados.Financeiro.Duplicata.TRegistro_DadosBloqueio();
                        if (CamadaNegocio.Financeiro.Duplicata.TCN_DadosBloqueio.VerificarBloqueioCredito(pCd_clifor,
                                                                                                          pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV),
                                                                                                          true,
                                                                                                          ref rDados,
                                                                                                          null))
                        {
                            using (Financeiro.TFLan_BloqueioCredito fBloq = new Financeiro.TFLan_BloqueioCredito())
                            {
                                fBloq.rDados    = rDados;
                                fBloq.Vl_fatura = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                                fBloq.ShowDialog();
                                if (!fBloq.St_desbloqueado)
                                {
                                    MessageBox.Show("Não é permitido realizar venda para cliente com restrição crédito.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                            }
                        }
                        //Abrir tela Duplicata
                        CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = new CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata();
                        rDup.Cd_empresa = pCd_empresa;
                        rDup.Nm_empresa = pNm_empresa;
                        rDup.Cd_clifor  = pCd_clifor;
                        rDup.Nm_clifor  = pNm_clifor;
                        //Buscar cond pagamento
                        CamadaDados.Financeiro.Cadastros.TList_CadCondPgto lCond =
                            CamadaNegocio.Financeiro.Cadastros.TCN_CadCondPgto.Buscar(string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      1,
                                                                                      decimal.Zero,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      1,
                                                                                      string.Empty,
                                                                                      null);
                        if (lCond.Count > 0)
                        {
                            rDup.Cd_condpgto      = lCond[0].Cd_condpgto;
                            rDup.Qt_parcelas      = lCond[0].Qt_parcelas;
                            rDup.Qt_dias_desdobro = lCond[0].Qt_diasdesdobro;
                        }
                        //Buscar endereco clifor
                        if (!string.IsNullOrEmpty(pCd_clifor))
                        {
                            CamadaDados.Financeiro.Cadastros.TList_CadEndereco lEnd =
                                CamadaNegocio.Financeiro.Cadastros.TCN_CadEndereco.Buscar(pCd_clifor,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          1,
                                                                                          null);
                            if (lEnd.Count > 0)
                            {
                                pCd_endereco = rDup.Cd_endereco = lEnd[0].Cd_endereco;
                                pDs_endereco = rDup.Ds_endereco = lEnd[0].Ds_endereco;
                            }
                        }
                        rDup.Tp_docto       = rCfg.Tp_docto;
                        rDup.Ds_tpdocto     = rCfg.Ds_tpdocto;
                        rDup.Tp_duplicata   = rCfg.Tp_duplicata;
                        rDup.Ds_tpduplicata = rCfg.Ds_tpduplicata;
                        rDup.Tp_mov         = "R";
                        rDup.Cd_historico   = rCfg.Cd_historico;
                        rDup.Ds_historico   = rCfg.Ds_historico;
                        //Buscar Moeda Padrao
                        CamadaDados.Financeiro.Cadastros.TList_Moeda tabela =
                            CamadaNegocio.ConfigGer.TCN_CadParamGer_X_Empresa.BuscarMoedaPadrao(pCd_empresa, null);
                        if (tabela != null)
                        {
                            if (tabela.Count > 0)
                            {
                                rDup.Cd_moeda    = tabela[0].Cd_moeda;
                                rDup.Ds_moeda    = tabela[0].Ds_moeda_singular;
                                rDup.Sigla_moeda = tabela[0].Sigla;
                            }
                        }
                        rDup.Id_configBoleto     = rCfg.Id_config;
                        rDup.Nr_docto            = "PDC123";//pNr_cupom; //Numero Cupom
                        rDup.Dt_emissaostring    = CamadaDados.UtilData.Data_Servidor().ToString("dd/MM/yyyy");
                        rDup.Vl_documento        = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                        rDup.Vl_documento_padrao = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);

                        rDup.Parcelas.Add(new CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela()
                        {
                            Cd_parcela        = 1,
                            Dt_vencto         = lCond.Count > 0 ? rDup.Dt_emissao.Value.AddDays(double.Parse(lCond[0].Qt_diasdesdobro.ToString())) : rDup.Dt_emissao,
                            Vl_parcela        = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV),
                            Vl_parcela_padrao = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV)
                        });
                        lPortador.Find(p => p.Tp_portadorpdv.ToUpper().Equals("P")).lDup.Add(rDup);
                        lPortador.Find(p => p.Tp_portadorpdv.ToUpper().Equals("P")).Vl_pagtoPDV = rDup.Vl_documento_padrao;
                        ConfirmarFin();
                    }
                    else if (portador.ToUpper().Trim().Equals("DV"))//Devolucao Credito
                    {
                        //Devolucao de credito
                        using (Financeiro.TFSaldoCreditos fSaldo = new Financeiro.TFSaldoCreditos())
                        {
                            fSaldo.Cd_empresa    = pCd_empresa;
                            fSaldo.Cd_clifor     = pCd_clifor;
                            fSaldo.Vl_financeiro = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fSaldo.Tp_mov        = "'R'";
                            if (fSaldo.ShowDialog() == DialogResult.OK)
                            {
                                if (fSaldo.lSaldo != null)
                                {
                                    lPortador.Find(p => p.St_devcreditobool).lCred       = fSaldo.lSaldo;
                                    lPortador.Find(p => p.St_devcreditobool).Vl_pagtoPDV =
                                        fSaldo.lSaldo.Sum(p => p.Vl_processar);
                                    CalcularTroco(portador);
                                    ConfirmarFin();
                                }
                            }
                            else
                            {
                                return;
                            }
                        }
                    }
                    else
                    {
                        //Portador Dinheiro
                        using (Componentes.TFQuantidade fQtde = new Componentes.TFQuantidade())
                        {
                            fQtde.Casas_decimais = 2;
                            fQtde.Vl_default     = pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV);
                            fQtde.Vl_saldo       = St_ReprocessaFin ? pVl_receber - lPortador.Sum(p => p.Vl_pagtoPDV) : decimal.Zero;
                            fQtde.Ds_label       = "Valor Recebido";
                            if (fQtde.ShowDialog() == DialogResult.OK)
                            {
                                lPortador.Find(p => !p.St_devcreditobool &&
                                               !p.St_entregafuturabool &&
                                               !p.St_controletitulobool &&
                                               !p.St_cartaocreditobool &&
                                               !p.St_cartafretebool &&
                                               !p.Tp_portadorpdv.Equals("P")).Vl_pagtoPDV += fQtde.Quantidade;
                                CalcularTroco(portador);
                                ConfirmarFin();
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Não existe mais saldo para receber.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Exemple #3
0
 private void bb_cheque_Click(object sender, EventArgs e)
 {
     using (Financeiro.TFLanTitulo fTitulo = new Financeiro.TFLanTitulo())
     {
         fTitulo.Cd_empresa         = pCd_empresa;
         fTitulo.Tp_titulo          = "R";
         fTitulo.Cd_contager        = pCd_contager;
         fTitulo.Ds_contager        = pDs_contager;
         fTitulo.Cd_historico       = pCd_historico;
         fTitulo.Ds_historico       = pDs_historico;
         fTitulo.CD_Empresa.Enabled = false;
         fTitulo.BB_Empresa.Enabled = false;
         fTitulo.tp_titulo.Enabled  = false;
         if (fTitulo.ShowDialog() == DialogResult.OK)
         {
             if (fTitulo.BS_Titulo.Current != null)
             {
                 (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).rFatura     = null;
                 (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).rCartaFrete = null;
                 bb_cartao.Text     = "Trocar Cartão";
                 bb_cartafrete.Text = "Trocar Carta Frete";
                 (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).rCheque =
                     fTitulo.BS_Titulo.Current as CamadaDados.Financeiro.Titulo.TRegistro_LanTitulo;
                 //Calcular taxa administrativa
                 object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadPortador().BuscarEscalar(
                     new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = "isnull(a.st_controletitulo, 'N')",
                         vOperador = "=",
                         vVL_Busca = "'S'"
                     }
                 }, "isnull(a.pc_txtroca, 0)");
                 if (obj != null)
                 {
                     if (decimal.Parse(obj.ToString()) > decimal.Zero)
                     {
                         (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).Vl_TaxaFin =
                             Math.Round(decimal.Divide(decimal.Multiply((bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).rCheque.Vl_titulo, decimal.Parse(obj.ToString())), 100), 2);
                     }
                 }
                 if ((bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).Vl_TaxaFin.Equals(decimal.Zero))
                 {
                     using (Componentes.TFQuantidade fValor = new Componentes.TFQuantidade())
                     {
                         fValor.Casas_decimais = 2;
                         fValor.Vl_saldo       = (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).rCheque.Vl_titulo;
                         fValor.Ds_label       = "Taxa Administrativa";
                         if (fValor.ShowDialog() == DialogResult.OK)
                         {
                             (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).Vl_TaxaFin = fValor.Quantidade;
                         }
                     }
                 }
                 bb_cheque.Text = bb_cheque.Text + "\r\n" + (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).rCheque.Vl_titulo.ToString("C2", new System.Globalization.CultureInfo("en-US")) +
                                  ((bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).Vl_TaxaFin > decimal.Zero ?
                                   "\r\nTaxa Adm.: " + (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).Vl_TaxaFin.ToString("N2", new System.Globalization.CultureInfo("en-US")) : string.Empty);
                 using (Financeiro.TFTrocoPDV fTroco = new Financeiro.TFTrocoPDV())
                 {
                     fTroco.Cd_empresa  = pCd_empresa;
                     fTroco.Id_caixaPDV = pId_caixa;
                     fTroco.Vl_troco    = (fTitulo.BS_Titulo.Current as CamadaDados.Financeiro.Titulo.TRegistro_LanTitulo).Vl_titulo -
                                          (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).Vl_TaxaFin;
                     fTroco.St_desativarCred = true;
                     if (fTroco.ShowDialog() == DialogResult.OK)
                     {
                         (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).Vl_trocoD = fTroco.Vl_trocoDinheiro;
                         (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).lTrocoCHP = fTroco.lChTroco;
                         (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).lTrocoCHT = fTroco.lChRepasse;
                     }
                     else
                     {
                         MessageBox.Show("Obrigatorio informar valor total troco para especie.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         (bsTrocaEspecie.Current as CamadaDados.Faturamento.PDV.TRegistro_TrocaEspecie).rCheque = null;
                         bb_cheque.Text = "Trocar Cheque";
                     }
                 }
             }
         }
     }
 }
Exemple #4
0
 private void ImprimirCheques()
 {
     //Verificar se a condicao pagamento e a vista e se o portador movimenta cheque
     CamadaDados.Financeiro.Cadastros.TList_CfgFolhaPagamento lFolha =
         CamadaNegocio.Financeiro.Cadastros.TCN_CfgFolhaPagamento.Buscar((bsFolhaPgto.Current as CamadaDados.Financeiro.Folha_Pagamento.TRegistro_FolhaPagamento).Cd_empresa,
                                                                         string.Empty,
                                                                         string.Empty,
                                                                         string.Empty,
                                                                         string.Empty,
                                                                         string.Empty,
                                                                         string.Empty,
                                                                         null);
     if (lFolha.Count > 0)
     {
         object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadCondPgto().BuscarEscalar(
             new Utils.TpBusca[]
         {
             new Utils.TpBusca()
             {
                 vNM_Campo = "a.cd_condpgto",
                 vOperador = "=",
                 vVL_Busca = "'" + lFolha[0].Cd_condpgto.Trim() + "'"
             }
         }, "a.qt_parcelas");
         if (obj == null ? false : obj.ToString().Trim().Equals("0"))
         {
             obj = new CamadaDados.Financeiro.Cadastros.TCD_CadPortador().BuscarEscalar(
                 new Utils.TpBusca[]
             {
                 new Utils.TpBusca()
                 {
                     vNM_Campo = "cd_portador",
                     vOperador = "=",
                     vVL_Busca = "'" + lFolha[0].Cd_portador.Trim() + "'"
                 }
             }, "st_controletitulo");
             if (obj == null ? false : obj.ToString().Trim().ToUpper().Equals("S"))
             {
                 //Buscar lista de cheques amarradas ao lote de folha
                 CamadaDados.Financeiro.Titulo.TList_RegLanTitulo lCheques =
                     new CamadaDados.Financeiro.Titulo.TCD_LanTitulo().Select(
                         new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = string.Empty,
                         vOperador = "exists",
                         vVL_Busca = "(select 1 from tb_fin_titulo_x_caixa x " +
                                     "inner join tb_fin_caixa y " +
                                     "on x.cd_contager = y.cd_contager " +
                                     "and x.cd_lanctocaixa = y.cd_lanctocaixa " +
                                     "inner join tb_fin_liquidacao z " +
                                     "on y.cd_contager = z.cd_contager " +
                                     "and y.cd_lanctocaixa = z.cd_lanctocaixa " +
                                     "inner join tb_fin_parcela w " +
                                     "on z.cd_empresa = w.cd_empresa " +
                                     "and z.nr_lancto = w.nr_lancto " +
                                     "inner join tb_fin_folha_x_funcionarios folha " +
                                     "on w.cd_empresa = folha.cd_empresa " +
                                     "and w.nr_lancto = folha.nr_lancto " +
                                     "where a.cd_empresa = x.cd_empresa " +
                                     "and a.cd_banco = x.cd_banco " +
                                     "and a.nr_lanctocheque = x.nr_lanctocheque " +
                                     "and x.tp_lancto = 'OR' " +
                                     "and folha.id_folha = " + (bsFolhaPgto.Current as CamadaDados.Financeiro.Folha_Pagamento.TRegistro_FolhaPagamento).Id_folha.Value.ToString() + ")"
                     }
                 }, 0, string.Empty, "a.nr_cheque");
                 if (lCheques.Count > 0)
                 {
                     if (MessageBox.Show("Imprimir cheques emitidos?", "Pergunta", MessageBoxButtons.YesNo,
                                         MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                     {
                         try
                         {
                             CamadaNegocio.Financeiro.Titulo.TCN_LanTitulo.ImprimirCheque(lCheques);
                         }
                         catch (Exception ex)
                         { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                     }
                 }
             }
         }
     }
 }
Exemple #5
0
        private void afterGrava()
        {
            //Verificar se existe sessao aberta para o usuario
            if (new TCD_Sessao().BuscarEscalar(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.login",
                    vOperador = "=",
                    vVL_Busca = "'" + pLogin.Trim() + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "isnull(a.st_registro, 'A')",
                    vOperador = "<>",
                    vVL_Busca = "'F'"
                }
            }, "1") == null)
            {
                if (bsPortador.Count > 0)
                {
                    if (vl_fechamento.Focused)
                    {
                        (bsPortador.Current as CamadaDados.Financeiro.Cadastros.TRegistro_CadPortador).Vl_pagtoPDV = vl_fechamento.Value;
                    }
                    if (!(bsPortador.List as CamadaDados.Financeiro.Cadastros.TList_CadPortador).Exists(p => p.Vl_pagtoPDV > decimal.Zero))
                    {
                        if ((new TCD_CaixaPDV().BuscarEscalarMovCaixa(
                                 new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.id_caixa",
                                vOperador = "=",
                                vVL_Busca = Id_caixa
                            }
                        }, "1") != null) ||
                            (new TCD_CaixaPDV().BuscarEscalar(
                                 new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.id_caixa",
                                vOperador = "=",
                                vVL_Busca = Id_caixa
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.vl_suprimento",
                                vOperador = ">",
                                vVL_Busca = "0"
                            }
                        }, "1") != null))
                        {
                            if (MessageBox.Show("Caixa possui movimentação. Deseja informar valor de fechamento para os portadores movimentados?",
                                                "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                return;
                            }
                        }
                    }
                    //Buscar Portadores com Movimento
                    CamadaDados.Financeiro.Cadastros.TList_CadPortador lPort =
                        new CamadaDados.Financeiro.Cadastros.TCD_CadPortador().Select(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from vtb_pdv_movcaixa x " +
                                        "where x.cd_portador = a.cd_portador " +
                                        "and x.id_caixa = " + Id_caixa + ") "
                        }
                    }, 0, string.Empty, string.Empty);

                    List <string> lista = new List <string>();
                    (bsPortador.DataSource as CamadaDados.Financeiro.Cadastros.TList_CadPortador).ForEach(p =>
                    {
                        if (p.Vl_pagtoPDV.Equals(0))
                        {
                            if (lPort.Exists(x => x.Cd_portador.Equals(p.Cd_portador)))
                            {
                                lista.Add(lPort.Find(x => x.Cd_portador.Equals(p.Cd_portador)).Ds_portador);
                            }
                        }
                    });
                    if (lista.Count > decimal.Zero)
                    {
                        string msg = string.Empty;
                        if (lista.Count > 1)
                        {
                            for (int i = 0; lista.Count > i; i++)
                            {
                                msg += lista[i].Trim() + "\r\n";
                            }
                        }
                        if (MessageBox.Show((lista.Count == 1 ? "O portador " + lista[0].Trim() + " possui movimento!" :
                                             "Os portadores possuem movimento:\r\n" + msg) + "\r\nDeseja informar valor de fechamento para os portadores movimentados? ", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                            == DialogResult.Yes)
                        {
                            return;
                        }
                    }

                    //Buscar crédito avulso
                    if (st_ignorar.Equals(false))
                    {
                        CamadaDados.Financeiro.Adiantamento.TList_LanAdiantamento lCredAvulso
                            = CamadaNegocio.Financeiro.Adiantamento.TCN_LanAdiantamento.Buscar(string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               decimal.Zero,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               decimal.Zero,
                                                                                               decimal.Zero,
                                                                                               false,
                                                                                               false,
                                                                                               false,
                                                                                               string.Empty,
                                                                                               false,
                                                                                               false,
                                                                                               Id_caixa,
                                                                                               string.Empty,
                                                                                               0,
                                                                                               string.Empty,
                                                                                               null);
                        if (lCredAvulso.Count > 0)
                        {
                            if (MessageBox.Show("Houve lançamento de crédito avulso para o caixa. \r\nDeseja informar o valor referente?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                                == DialogResult.Yes)
                            {
                                st_ignorar = true; return;
                            }
                        }
                    }
                }
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                MessageBox.Show("Existe sessão aberta para o Usuário." + pLogin.Trim() + "\r\n" +
                                "Para fazer o fechamento caixa, feche a tela de venda", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }