Exemple #1
0
        private void LancarFinanceiro()
        {
            if (bsEmpreendimento.Current != null)
            {
                if ((bsEmpreendimento.Current as CamadaDados.Financeiro.Empreendimento.TRegistro_Empreendimento).St_registro.Trim().ToUpper().Equals("A"))
                {
                    using (TFLanDuplicata fDuplicata = new TFLanDuplicata())
                    {
                        fDuplicata.vCd_empresa = (bsEmpreendimento.Current as CamadaDados.Financeiro.Empreendimento.TRegistro_Empreendimento).Cd_empresa;
                        fDuplicata.vNm_empresa = (bsEmpreendimento.Current as CamadaDados.Financeiro.Empreendimento.TRegistro_Empreendimento).Nm_empresa;

                        fDuplicata.cd_empresa.Enabled = false;
                        fDuplicata.bb_empresa.Enabled = false;
                        fDuplicata.St_empreendimento  = true;
                        if (fDuplicata.ShowDialog() == DialogResult.OK)
                        {
                            //Ratear Centro de Custo
                            if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("CRESULTADO_PROVISAO",
                                                                                     (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Cd_empresa,
                                                                                     null).Trim().ToUpper().Equals("S"))
                            {
                                using (TFRateioCResultado fRateio = new TFRateioCResultado())
                                {
                                    fRateio.vVl_Documento = (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Vl_documento_padrao;
                                    //fDupCCusto.Id_empreendimento = (bsEmpreendimento.Current as CamadaDados.Financeiro.Empreendimento.TRegistro_Empreendimento).Id_empreendimento.Value.ToString();
                                    fRateio.Tp_mov = (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Tp_mov;
                                    fRateio.ShowDialog();
                                    (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).lCustoLancto    = fRateio.lCResultado;
                                    (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).lCustoLanctoDel = fRateio.lCResultadoDel;
                                }
                            }
                            try
                            {
                                string ret = TCN_LanDuplicata.GravarDuplicata((fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata), false, null);
                                if (ret.Trim() != "")
                                {
                                    string lan = CamadaDados.TDataQuery.getPubVariavel(ret, "@P_NR_LANCTO");

                                    MessageBox.Show("Lançamento Financeiro nr:" + lan + " Gravado com Sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);

                                    CamadaDados.Financeiro.Bloqueto.blListaTitulo lBloqueto =
                                        CamadaNegocio.Financeiro.Bloqueto.TCN_Titulo.Buscar((fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Cd_empresa,
                                                                                            (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Nr_lancto,
                                                                                            decimal.Zero,
                                                                                            decimal.Zero,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            decimal.Zero,
                                                                                            decimal.Zero,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            string.Empty,
                                                                                            false,
                                                                                            0,
                                                                                            null);
                                    if (lBloqueto.Count > 0)
                                    {
                                        //Chamar tela de impressao para o bloqueto
                                        using (TFGerenciadorImpressao fImp = new TFGerenciadorImpressao())
                                        {
                                            fImp.St_enabled_enviaremail = true;
                                            fImp.pCd_clifor             = (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Cd_clifor;
                                            fImp.pMensagem = "BLOQUETOS DO DOCUMENTO Nº" + (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Nr_docto;
                                            if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                                            {
                                                TCN_LayoutBloqueto.Imprime_Bloqueto(false,
                                                                                    lBloqueto,
                                                                                    fImp.pSt_imprimir,
                                                                                    fImp.pSt_visualizar,
                                                                                    fImp.pSt_enviaremail,
                                                                                    fImp.pSt_exportPdf,
                                                                                    fImp.Path_exportPdf,
                                                                                    fImp.pDestinatarios,
                                                                                    "BLOQUETO(S) DO DOCUMENTO Nº " + (fDuplicata.dsDuplicata.Current as TRegistro_LanDuplicata).Nr_docto,
                                                                                    fImp.pDs_mensagem,
                                                                                    false);
                                            }
                                        }
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message.Trim());
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Não é permitido lançar financeiro para empreendimento com status diferente <ATIVO>.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Necessario selecionar empreendimento para lançar financeiro.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Exemple #2
0
        public TList_RegLanDuplicata Gera_Financeiro(string CFG_Pedido_Comissao, string CD_CondPGTO, string CD_Moeda, TRegistro_CadEmpresa Reg_Empresa, TRegistro_CadClifor Reg_Clifor_Vendedor, TRegistro_CadEndereco Reg_Endereco)
        {
            TList_RegLanDuplicata Duplicata = new TList_RegLanDuplicata();

            if (CFG_Pedido_Comissao != "")
            {
                TCD_CadCFGPedidoFiscal Pedido_Fiscal = new TCD_CadCFGPedidoFiscal();

                TpBusca[] vBusca = new TpBusca[0];
                Array.Resize(ref vBusca, vBusca.Length + 1);
                vBusca[vBusca.Length - 1].vNM_Campo = "a.cfg_pedido";
                vBusca[vBusca.Length - 1].vVL_Busca = "'" + CFG_Pedido_Comissao + "'";
                vBusca[vBusca.Length - 1].vOperador = "=";

                Array.Resize(ref vBusca, vBusca.Length + 1);
                vBusca[vBusca.Length - 1].vNM_Campo = "a.TP_FISCAL";
                vBusca[vBusca.Length - 1].vVL_Busca = "'N'";
                vBusca[vBusca.Length - 1].vOperador = "=";

                DataTable DT_Pedido_Fiscal = Pedido_Fiscal.Buscar(vBusca, 0);

                if (DT_Pedido_Fiscal.Rows.Count > 0)
                {
                    if (DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim() != string.Empty)
                    {
                        TpBusca[] vBusca_Mov = new TpBusca[0];
                        Array.Resize(ref vBusca_Mov, vBusca_Mov.Length + 1);
                        vBusca_Mov[vBusca_Mov.Length - 1].vNM_Campo = "a.cd_movimentacao";
                        vBusca_Mov[vBusca_Mov.Length - 1].vVL_Busca = "'" + DT_Pedido_Fiscal.Rows[0]["cd_movto"].ToString().Trim() + "'";
                        vBusca_Mov[vBusca_Mov.Length - 1].vOperador = "=";

                        TList_CadMovimentacao List_Movimentacao = new TCD_CadMovimentacao().Select(vBusca_Mov, 0, "");

                        TList_CadCondPgto List_CondPagamento = TCN_CadCondPgto.Buscar(CD_CondPGTO, "", "", "", "", "", 0, 0, "", "", 1, "", null);
                        if (List_CondPagamento.Count > 0)
                        {
                            List_CondPagamento[0].lCondPgto_X_Parcelas = TCN_CadCondPgto_X_Parcelas.Buscar(List_CondPagamento[0].Cd_condpgto);
                        }

                        TRegistro_LanDuplicata Reg_Duplicata    = new TRegistro_LanDuplicata();
                        TList_CadTpDuplicata   List_TPDuplicata = TCN_CadTpDuplicata.Buscar(DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim(), "", "");
                        if ((DT_Pedido_Fiscal.Rows[0]["ST_Devolucao"].ToString().Trim().ToUpper() != "S") &&
                            (!List_CondPagamento[0].St_solicitardtvenctobool) &&
                            (List_CondPagamento[0].lCondPgto_X_Parcelas.Count > 0) &&
                            (List_Movimentacao[0].cd_historico.Trim() != string.Empty) &&
                            (!List_TPDuplicata[0].St_gerarboletoautobool))
                        {
                            Reg_Duplicata.Cd_empresa  = Reg_Empresa.Cd_empresa.Trim();
                            Reg_Duplicata.Nm_empresa  = Reg_Empresa.Nm_empresa.Trim();
                            Reg_Duplicata.Cd_clifor   = Reg_Clifor_Vendedor.Cd_clifor.Trim();
                            Reg_Duplicata.Nm_clifor   = Reg_Clifor_Vendedor.Nm_clifor.Trim();
                            Reg_Duplicata.Cd_endereco = Reg_Endereco.Cd_endereco.Trim();
                            Reg_Duplicata.Ds_endereco = Reg_Endereco.Ds_endereco.Trim();

                            Reg_Duplicata.Cd_historico = List_Movimentacao[0].cd_historico.Trim();
                            Reg_Duplicata.Ds_historico = List_Movimentacao[0].ds_historico.Trim();

                            Reg_Duplicata.Tp_duplicata   = DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim();
                            Reg_Duplicata.Ds_tpduplicata = DT_Pedido_Fiscal.Rows[0]["ds_tpduplicata"].ToString().Trim();
                            Reg_Duplicata.Tp_mov         = DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "E" ? "P" :
                                                           DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "S" ? "R" : "";
                            Reg_Duplicata.Tp_docto   = DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString().Trim() != string.Empty ? Convert.ToDecimal(DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString()) : 0;
                            Reg_Duplicata.Ds_tpdocto = DT_Pedido_Fiscal.Rows[0]["ds_tpdocto"].ToString().Trim();



                            Reg_Duplicata.Cd_condpgto   = List_CondPagamento[0].Cd_condpgto.Trim();
                            Reg_Duplicata.Ds_condpgto   = List_CondPagamento[0].Ds_condpgto.Trim();
                            Reg_Duplicata.St_comentrada = List_CondPagamento[0].St_comentrada.Trim();
                            Reg_Duplicata.Cd_juro       = List_CondPagamento[0].Cd_juro.Trim();
                            Reg_Duplicata.Ds_juro       = List_CondPagamento[0].Ds_juro.Trim();
                            Reg_Duplicata.Tp_juro       = List_CondPagamento[0].Tp_juro.Trim();

                            Reg_Duplicata.Cd_moeda = CD_Moeda.Trim();
                            //Reg_Duplicata.Ds_moeda = List_Dados_Pedido[0].Ds_moeda.Trim();
                            //Reg_Duplicata.Sigla_moeda = List_Dados_Pedido[0].Sigla.Trim();
                            Reg_Duplicata.Qt_dias_desdobro     = List_CondPagamento[0].Qt_diasdesdobro;
                            Reg_Duplicata.Qt_parcelas          = List_CondPagamento[0].Qt_parcelas;
                            Reg_Duplicata.Pc_jurodiario_atrazo = List_CondPagamento[0].Pc_jurodiario_atrazo;
                            Reg_Duplicata.Cd_portador          = List_CondPagamento[0].Cd_portador.Trim();
                            Reg_Duplicata.Ds_portador          = List_CondPagamento[0].Ds_portador.Trim();
                            Reg_Duplicata.Nr_docto             = "";
                            Reg_Duplicata.Dt_emissao           = DateTime.Now;

                            Reg_Duplicata.Vl_documento        = Convert.ToDecimal(VL_Com_Liberada.Text);
                            Reg_Duplicata.Vl_documento_padrao = Convert.ToDecimal(VL_Com_Liberada.Text);



                            decimal vl_saldoadto = TCN_LanAdiantamento.SaldoAdiantamentoDevolver(Reg_Empresa.Cd_empresa.Trim(), Reg_Clifor_Vendedor.Cd_clifor.Trim(), "S", null);

                            if (Reg_Duplicata.Vl_documento_padrao > 0)
                            {
                                if (Reg_Duplicata.Vl_documento_padrao > vl_saldoadto)
                                {
                                    Reg_Duplicata.cVl_adiantamento = vl_saldoadto;
                                }
                                else
                                {
                                    Reg_Duplicata.cVl_adiantamento = Reg_Duplicata.Vl_documento_padrao;
                                }
                            }
                            else
                            {
                                Reg_Duplicata.cVl_adiantamento = 0;
                            }

                            Reg_Duplicata.Parcelas = TCN_LanDuplicata.calcularParcelas(Reg_Duplicata);
                        }
                        else
                        {
                            TFLanDuplicata fDuplicata = new TFLanDuplicata();

                            fDuplicata.vNr_pedido     = null;
                            fDuplicata.vSt_notafiscal = true;
                            fDuplicata.vCd_empresa    = Reg_Empresa.Cd_empresa.Trim();
                            fDuplicata.vNm_empresa    = Reg_Empresa.Nm_empresa.Trim();
                            fDuplicata.vCd_clifor     = Reg_Clifor_Vendedor.Cd_clifor.Trim();
                            fDuplicata.vNm_clifor     = Reg_Clifor_Vendedor.Nm_clifor.Trim();
                            fDuplicata.vCd_endereco   = Reg_Endereco.Cd_endereco.Trim();
                            fDuplicata.vDs_endereco   = Reg_Endereco.Ds_endereco.Trim();
                            if (List_Movimentacao.Count > 0)
                            {
                                fDuplicata.vCd_historico = List_Movimentacao[0].cd_historico;
                                fDuplicata.vDs_historico = List_Movimentacao[0].ds_historico;
                            }

                            fDuplicata.vTp_duplicata   = DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim();
                            fDuplicata.vDs_tpduplicata = DT_Pedido_Fiscal.Rows[0]["ds_tpduplicata"].ToString().Trim();
                            fDuplicata.vTp_mov         = DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "E" ? "P" :
                                                         DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "S" ? "R" : "";
                            fDuplicata.vTp_docto   = DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString().Trim();
                            fDuplicata.vDs_tpdocto = DT_Pedido_Fiscal.Rows[0]["ds_tpdocto"].ToString().Trim();
                            if (List_TPDuplicata[0].St_gerarboletoauto.Trim().ToUpper().Equals("S"))
                            {
                                TList_CadContaGer List_Conta = TCN_CadContaGer.Buscar(List_TPDuplicata[0].Cd_contager_boletoauto, "", null, "", "", "", "", 0, "", "", "", "", 0, null);

                                fDuplicata.vSt_gerarboletoauto = List_TPDuplicata[0].St_gerarboletoauto;
                                fDuplicata.vCd_contager        = List_TPDuplicata[0].Cd_contager_boletoauto;
                                fDuplicata.vDs_contager        = List_TPDuplicata[0].Ds_contager_boletoauto;
                            }
                            if (List_CondPagamento.Count > 0)
                            {
                                fDuplicata.vCd_condpgto   = List_CondPagamento[0].Cd_condpgto.Trim();
                                fDuplicata.vDs_condpgto   = List_CondPagamento[0].Ds_condpgto.Trim();
                                fDuplicata.vSt_comentrada = List_CondPagamento[0].St_comentrada.Trim();
                                fDuplicata.vCd_juro       = List_CondPagamento[0].Cd_juro.Trim();
                                fDuplicata.vDs_juro       = List_CondPagamento[0].Ds_juro.Trim();
                                fDuplicata.vTp_juro       = List_CondPagamento[0].Tp_juro.Trim();

                                fDuplicata.vCd_moeda = CD_Moeda;
                                // fDuplicata.vDs_moeda = List_Dados_Pedido[0].Ds_moeda;
                                // fDuplicata.vSigla_moeda = List_Dados_Pedido[0].Sigla;

                                fDuplicata.vQt_dias_desdobro     = List_CondPagamento[0].Qt_diasdesdobro;
                                fDuplicata.vQt_parcelas          = List_CondPagamento[0].Qt_parcelas;
                                fDuplicata.vPc_jurodiario_atrazo = List_CondPagamento[0].Pc_jurodiario_atrazo;
                                fDuplicata.vCd_portador          = List_CondPagamento[0].Cd_portador.Trim();
                                fDuplicata.vDs_portador          = List_CondPagamento[0].Ds_portador.Trim();
                                fDuplicata.vSt_solicitardtvencto = List_CondPagamento[0].St_solicitardtvenctobool;
                            }
                            fDuplicata.vNr_docto     = "0";
                            fDuplicata.vDt_emissao   = DateTime.Now.ToString();
                            fDuplicata.vVl_documento = Convert.ToDecimal(VL_Com_Liberada.Text);


                            if (fDuplicata.ShowDialog() == DialogResult.OK)
                            {
                                Reg_Duplicata = (fDuplicata.dsDuplicata[0] as TRegistro_LanDuplicata);
                            }
                            else
                            {
                                MessageBox.Show("Obrigatório informar financeiro para gravar aplicação.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return(null);
                            }
                        }

                        Duplicata.Add(Reg_Duplicata);
                        return(Duplicata);
                    }

                    return(Duplicata);
                }
            }

            return(Duplicata);
        }
Exemple #3
0
        private void InserirDespesas()
        {
            using (TFDespesasViagem fDesp = new TFDespesasViagem())
            {
                if (fDesp.ShowDialog() == DialogResult.OK)
                {
                    if (fDesp.rDespesas != null)
                    {
                        if (fDesp.rDespesas.Tp_pagamento.Trim().ToUpper().Equals("1"))
                        {
                            using (TFLanDuplicata fDup = new TFLanDuplicata())
                            {
                                fDup.vCd_empresa = (bsViagem.Current as CamadaDados.Financeiro.Viagem.TRegistro_Viagem).Cd_empresa;
                                fDup.vNm_empresa = (bsViagem.Current as CamadaDados.Financeiro.Viagem.TRegistro_Viagem).Nm_empresa;
                                fDup.vCd_clifor  = fDesp.vCD_Clifor;
                                fDup.vNm_clifor  = fDesp.rDespesas.Nm_fornecedor;

                                //Buscar Endereço
                                CamadaDados.Financeiro.Cadastros.TList_CadEndereco lEnd =
                                    new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().Select(
                                        new Utils.TpBusca[]
                                {
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "a.cd_clifor",
                                        vOperador = "=",
                                        vVL_Busca = "'" + fDesp.vCD_Clifor.Trim() + "'"
                                    }
                                }, 1, string.Empty);
                                if (lEnd.Count > 0)
                                {
                                    fDup.vCd_endereco = lEnd[0].Cd_endereco;
                                    fDup.vDs_endereco = lEnd[0].Ds_endereco;
                                }
                                //fDup.vTp_docto = lCfg[0].Tp_doctostr;
                                //fDup.vDs_tpdocto = lCfg[0].Ds_tpdocto;
                                //fDup.vTp_duplicata = lCfg[0].Tp_duplicata;
                                //fDup.vDs_tpduplicata = lCfg[0].Ds_tpduplicata;
                                fDup.vTp_mov = "P";
                                //fDup.vCd_historico = lCfg[0].Cd_historico;
                                //fDup.vDs_historico = lCfg[0].Ds_historico;
                                fDup.vDt_emissao       = fDesp.rDespesas.Dt_despesastr;
                                fDup.vVl_documento     = fDesp.rDespesas.Vl_subtotal;
                                fDup.vNr_docto         = fDesp.rDespesas.Nr_notafiscal;
                                fDup.vSt_finPed        = true;
                                fDup.St_bloquearccusto = true;//Centro Resultado sera lancado pela despesa da viagem
                                if (fDup.ShowDialog() == DialogResult.OK)
                                {
                                    if (fDup.dsDuplicata.Count > 0)
                                    {
                                        fDesp.rDespesas.rDup = fDup.dsDuplicata.Current as CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata;
                                    }
                                    else
                                    {
                                        MessageBox.Show("Obrigatório gerar duplicata para incluir despesa!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Obrigatório gerar duplicata para incluir despesa!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                            }
                        }
                        if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("CRESULTADO_EMPRESA",
                                                                                 (bsViagem.Current as CamadaDados.Financeiro.Viagem.TRegistro_Viagem).Cd_empresa,
                                                                                 null).Trim().ToUpper().Equals("S"))
                        {
                            using (TFRateioCResultado fRateio = new TFRateioCResultado())
                            {
                                fRateio.vVl_Documento = fDesp.rDespesas.Vl_subtotal;
                                fRateio.Tp_mov        = "P";
                                fRateio.Dt_movimento  = fDesp.rDespesas.Dt_despesa;
                                fRateio.ShowDialog();
                                fDesp.rDespesas.lCCusto = fRateio.lCResultado;
                            }
                        }
                        (bsViagem.Current as CamadaDados.Financeiro.Viagem.TRegistro_Viagem).lDespesas.Add(fDesp.rDespesas);
                        bsViagem.ResetCurrentItem();
                    }
                }
            }
        }