示例#1
0
        private void BB_Banco_Click(object sender, EventArgs e)
        {
            string vParam = string.Empty;

            if (tp_titulo.SelectedValue == null ? false : tp_titulo.SelectedValue.ToString().Trim().ToUpper().Equals("P"))
            {
                vParam = "|exists|(select 1 from tb_fin_contager x " +
                         "          where x.cd_banco = a.cd_banco " +
                         (string.IsNullOrEmpty(CD_Conta.Text) ? ")" : "          and x.cd_contager = '" + CD_Conta.Text.Trim() + "')");
            }
            UtilPesquisa.BTN_BUSCA("DS_BANCO|Descrição|150;CD_BANCO|Código|80"
                                   , new Componentes.EditDefault[] { cd_banco, ds_banco }, new CamadaDados.Financeiro.Cadastros.TCD_CadBanco(), vParam);
            if ((tp_titulo.SelectedValue == null ? false : tp_titulo.SelectedValue.ToString().Trim().ToUpper().Equals("P")) &&
                string.IsNullOrEmpty(CD_Conta.Text))
            {
                object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = string.Empty,
                        vOperador = "exists",
                        vVL_Busca = "(select 1 from TB_FIN_Contager_X_Empresa x " +
                                    "where a.cd_contager = x.cd_contager " +
                                    "and x.cd_empresa = '" + CD_Empresa.Text + "')"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = string.Empty,
                        vOperador = "exists",
                        vVL_Busca = "(select 1 from TB_DIV_Usuario_X_Contager x " +
                                    "where a.cd_contager = x.cd_contager " +
                                    "and x.login = '******')"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_banco",
                        vOperador = "=",
                        vVL_Busca = "'" + cd_banco.Text.Trim() + "'"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "isnull(a.st_contacompensacao, 'N')",
                        vOperador = "=",
                        vVL_Busca = "'S'"
                    }
                }, "a.cd_contager");
                if (obj != null)
                {
                    CD_Conta.Text = obj.ToString();
                }
            }
        }
示例#2
0
        private void GerarNumeroCheque()
        {
            object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().BuscarEscalar(
                new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_contager",
                    vOperador = "=",
                    vVL_Busca = "'" + CD_Conta.Text.Trim() + "'"
                }
            }, "a.nr_cheque_seq");

            if (obj != null)
            {
                nr_cheque.Text = (Convert.ToDecimal(obj.ToString()) + 1).ToString();
            }
        }
示例#3
0
 private void GerarNumeroCheque()
 {
     if (BS_Titulo.Current != null)
     {
         if ((BS_Titulo.Current as TRegistro_LanTitulo).Tp_titulo.Trim().ToUpper().Equals("P") &&
             (!string.IsNullOrEmpty((BS_Titulo.Current as TRegistro_LanTitulo).Cd_contager.Trim())))
         {
             if (!this.Nr_chequeLista.HasValue)
             {
                 object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().BuscarEscalar(
                     new TpBusca[]
                 {
                     new TpBusca()
                     {
                         vNM_Campo = "a.cd_contager",
                         vOperador = "=",
                         vVL_Busca = "'" + (BS_Titulo.Current as TRegistro_LanTitulo).Cd_contager.Trim() + "'"
                     }
                 }, "a.nr_cheque_seq");
                 if (obj != null)
                 {
                     try
                     {
                         nr_cheque.Text = (Convert.ToDecimal(obj.ToString()) + 1 + pIndexCheque).ToString();
                     }
                     catch
                     { }
                 }
             }
             else
             {
                 nr_cheque.Text = (Nr_chequeLista.Value + 1).ToString();
             }
         }
     }
 }
示例#4
0
        private void TFLan_FechamentoCaixa_Load(object sender, EventArgs e)
        {
            Utils.ShapeGrid.RestoreShape(this, dataGridDefault1);
            if (!string.IsNullOrEmpty(Utils.Parametros.pubCultura))
            {
                Idioma.TIdioma.AjustaCultura(this);
            }
            this.Icon = ResourcesUtils.TecnoAliance_ICO;
            bsFechamentoCaixa.AddNew();
            if (bsFechamentoCaixa.Current != null)
            {
                (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Cd_contager = pCd_contager;
                //Buscar Descricao Conta
                object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_contager",
                        vOperador = "=",
                        vVL_Busca = "'" + pCd_contager.Trim() + "'"
                    }
                }, "a.ds_contager");
                (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Ds_contager = obj != null?obj.ToString() : string.Empty;

                (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Dt_fechamento = DateTime.Now;
                //Buscar dados do ultimo fechamento caixa da conta gerencial
                TList_LanFechamentoCaixa lFechamentoCaixa = CamadaNegocio.Financeiro.Caixa.TCN_LanFechamentoCaixa.Buscar(decimal.Zero,
                                                                                                                         string.Empty,
                                                                                                                         string.Empty,
                                                                                                                         string.Empty,
                                                                                                                         pCd_contager.Trim(),
                                                                                                                         1,
                                                                                                                         string.Empty,
                                                                                                                         "dt_fechamento desc",
                                                                                                                         null);
                if (lFechamentoCaixa.Count > 0)
                {
                    (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Dt_ultimofechamento = lFechamentoCaixa[0].Dt_fechamento;
                    (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_anterior         = lFechamentoCaixa[0].Vl_atual;
                }
                bsFechamentoCaixa.ResetCurrentItem();
            }
            afterBusca();
        }
示例#5
0
        public static void ProcessarLoteCH(TRegistro_LoteCH val, BancoDados.TObjetoBanco banco)
        {
            bool       st_transacao = false;
            TCD_LoteCH qtb_lote     = new TCD_LoteCH();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                //Buscar config para descontar cheque
                CamadaDados.Financeiro.Cadastros.TList_CFGCheque lCfg =
                    CamadaNegocio.Financeiro.Cadastros.TCN_CFGCheque.Buscar(val.Cd_empresa,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            1,
                                                                            string.Empty,
                                                                            qtb_lote.Banco_Dados);
                if (lCfg.Count < 1)
                {
                    throw new Exception("Não existe configuração para processar desconto de cheques.");
                }
                if (lCfg[0].Cd_historico_desconto.Trim().Equals(string.Empty))
                {
                    throw new Exception("Não existe configuração de historico de desconto para processar cheques.");
                }
                if (lCfg[0].Cd_historico_taxa.Trim().Equals(string.Empty))
                {
                    throw new Exception("Não existe configuração de historico de taxa para processar cheques.");
                }
                if (lCfg[0].Cd_historico_creddesconto.Trim().Equals(string.Empty))
                {
                    throw new Exception("Não existe configuração de historico de credito de desconto para processar cheques.");
                }
                //Total cheque descontar
                decimal tot_ch_descontar = val.lCheques.Where(p => p.St_conciliar).Sum(p => p.Vl_titulo);
                //Total taxa
                decimal tot_taxa = decimal.Zero;
                int     cont     = 0;
                //Buscar conta de compensacao do cheque
                object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_contager_compensacao",
                        vOperador = "=",
                        vVL_Busca = "'" + val.lCheques[0].Cd_contager.Trim() + "'"
                    }
                }, "a.cd_contager");
                if (obj == null)
                {
                    throw new Exception("Não existe conta de compensação configurada para a conta gerencial " + val.lCheques[0].Cd_contager.Trim());
                }
                if (obj.ToString().Trim().Equals(string.Empty))
                {
                    throw new Exception("Não existe conta de compensação configurada para a conta gerencial " + val.lCheques[0].Cd_contager.Trim());
                }
                val.lCheques.ForEach(p =>
                {
                    if (p.St_conciliar)
                    {
                        //Compensar cheque descontado
                        p.Dt_compensacao      = val.Dt_processamento;
                        p.Cd_contager_destino = obj.ToString();
                        CamadaNegocio.Financeiro.Titulo.TCN_LanTitulo.CompensarCheques(
                            new TList_RegLanTitulo()
                        {
                            p
                        },
                            qtb_lote.Banco_Dados);
                        decimal taxa = Math.Round((val.Vl_taxa * (p.Vl_titulo / tot_ch_descontar * 100) / 100), 2);
                        if (cont.Equals(val.lCheques.Count - 1))
                        {
                            taxa += (val.Vl_taxa - (tot_taxa + taxa));
                        }
                        //Gravar lancamento de caixa devolvendo credito adiantado pelo banco
                        string ret_caixa = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa(
                            new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa()
                        {
                            Cd_ContaGer    = obj.ToString(),
                            Cd_Empresa     = p.Cd_empresa,
                            Cd_Historico   = lCfg[0].Cd_historico_desconto,
                            Cd_LanctoCaixa = 0,
                            ComplHistorico = "DEVOLUCAO CREDITO DESCONTO CHEQUE " + p.Nr_cheque.Trim(),
                            Dt_lancto      = val.Dt_processamento,
                            NM_Clifor      = p.Nomeclifor,
                            Nr_Docto       = p.Nr_cheque,
                            Vl_PAGAR       = Math.Round(p.Vl_titulo - taxa, 2),
                            Vl_RECEBER     = decimal.Zero
                        }, qtb_lote.Banco_Dados);
                        //Gravar Cheque X Caixa
                        CamadaNegocio.Financeiro.Titulo.TCN_TituloXCaixa.GravarTituloCaixa(
                            new TRegistro_LanTituloXCaixa()
                        {
                            Cd_banco        = p.Cd_banco,
                            Cd_contager     = obj.ToString(),
                            Cd_empresa      = p.Cd_empresa,
                            Cd_lanctocaixa  = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixa, "@P_CD_LANCTOCAIXA")),
                            Nr_lanctocheque = p.Nr_lanctocheque
                        }, qtb_lote.Banco_Dados);
                        //Gravar Lote X Caixa
                        CamadaNegocio.Financeiro.Titulo.TCN_LoteCH_X_Caixa.GravarLoteCH_X_Caixa(
                            new TRegistro_LoteCH_X_Caixa()
                        {
                            Cd_banco        = p.Cd_banco,
                            Cd_contager     = obj.ToString(),
                            Cd_empresa      = p.Cd_empresa,
                            Cd_lanctocaixa  = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixa, "@P_CD_LANCTOCAIXA")),
                            Nr_lanctocheque = p.Nr_lanctocheque
                        }, qtb_lote.Banco_Dados);
                        //Gravar lancamento de caixa debitando taxa cobrada pelo banco
                        string ret_taxa = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa(
                            new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa()
                        {
                            Cd_ContaGer    = obj.ToString(),
                            Cd_Empresa     = p.Cd_empresa,
                            Cd_Historico   = lCfg[0].Cd_historico_taxa,
                            Cd_LanctoCaixa = 0,
                            ComplHistorico = "TAXA DESCONTO CHEQUE " + p.Nr_cheque.Trim(),
                            Dt_lancto      = val.Dt_processamento,
                            NM_Clifor      = p.Nomeclifor,
                            Nr_Docto       = p.Nr_cheque,
                            Vl_PAGAR       = taxa,
                            Vl_RECEBER     = decimal.Zero
                        }, qtb_lote.Banco_Dados);
                        //Gravar cheque X Caixa
                        CamadaNegocio.Financeiro.Titulo.TCN_TituloXCaixa.GravarTituloCaixa(
                            new TRegistro_LanTituloXCaixa()
                        {
                            Cd_banco        = p.Cd_banco,
                            Cd_contager     = obj.ToString(),
                            Cd_empresa      = p.Cd_empresa,
                            Cd_lanctocaixa  = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_taxa, "@P_CD_LANCTOCAIXA")),
                            Nr_lanctocheque = p.Nr_lanctocheque
                        }, qtb_lote.Banco_Dados);
                        //Gravar Lote X Caixa
                        CamadaNegocio.Financeiro.Titulo.TCN_LoteCH_X_Caixa.GravarLoteCH_X_Caixa(
                            new TRegistro_LoteCH_X_Caixa()
                        {
                            Cd_banco        = p.Cd_banco,
                            Cd_contager     = obj.ToString(),
                            Cd_empresa      = p.Cd_empresa,
                            Cd_lanctocaixa  = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_taxa, "@P_CD_LANCTOCAIXA")),
                            Nr_lanctocheque = p.Nr_lanctocheque
                        }, qtb_lote.Banco_Dados);
                        //Totalizar taxas
                        tot_taxa += taxa;
                    }
                    else
                    {
                        //Os cheques que nao forem descontados,
                        //transferir de volta para a conta de origem
                        CamadaDados.Financeiro.Titulo.TList_TransfTitulo lTransf =
                            CamadaNegocio.Financeiro.Titulo.TCN_TransfTitulo.Buscar(p.Cd_empresa,
                                                                                    string.Empty,
                                                                                    p.Cd_contager,
                                                                                    decimal.Zero,
                                                                                    decimal.Zero,
                                                                                    decimal.Zero,
                                                                                    p.Cd_banco,
                                                                                    1,
                                                                                    string.Empty,
                                                                                    qtb_lote.Banco_Dados);
                        if (lTransf.Count < 1)
                        {
                            throw new Exception("Registro transferencia nao encontrado.");
                        }
                        //Realizar a transferencia dos cheques entre contas
                        p.Cd_contager_destino = lTransf[0].Cd_conta_orig;
                        p.Dt_compensacao      = val.Dt_processamento;
                        //Setar status do cheque para enviado
                        p.Status_compensado = "N";     //A Compensar
                        TCN_LanTitulo.TransferirTitulo(p, qtb_lote.Banco_Dados);
                        //Gravar somente o cheque sem mecher no lancamento de caixa
                        p.St_lancarcaixa = false;
                        TCN_LanTitulo.GravarTitulo(p, qtb_lote.Banco_Dados);
                        //Deletar amarracao do cheque com o lote
                        TCN_LoteCH_X_Titulo.DeletarLoteCh_X_Titulo(
                            new TRegistro_LoteCH_X_Titulo()
                        {
                            Cd_banco        = p.Cd_banco,
                            Cd_empresa      = p.Cd_empresa,
                            Id_lote         = val.Id_lote,
                            Nr_lanctocheque = p.Nr_lanctocheque
                        }, qtb_lote.Banco_Dados);
                    }
                    cont++;
                });
                //Gravar lancamento de caixa creditando o valor adiantado pelo banco
                string ret_cred = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa(
                    new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa()
                {
                    Cd_ContaGer    = obj.ToString(),
                    Cd_Empresa     = val.Cd_empresa,
                    Cd_Historico   = lCfg[0].Cd_historico_creddesconto,
                    Cd_LanctoCaixa = 0,
                    ComplHistorico = "CREDITO DESCONTO CHEQUE DO LOTE" + val.Id_lote.ToString(),
                    Dt_lancto      = val.Dt_processamento,
                    NM_Clifor      = string.Empty,
                    Nr_Docto       = val.Id_lote.ToString(),
                    Vl_PAGAR       = decimal.Zero,
                    Vl_RECEBER     = val.Vl_credito
                }, qtb_lote.Banco_Dados);
                //Gravar lote
                val.St_registro    = "P";//Processado
                val.Cd_contager    = string.Empty;
                val.Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_cred, "@P_CD_LANCTOCAIXA"));
                qtb_lote.GravarLoteCH(val);
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro processar lote: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }