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); } }
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); }
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(); } } } }