Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
 private void afterGrava()
 {
     if (vl_contrato.Value == decimal.Zero)
     {
         MessageBox.Show("Obrigatório informar valor do contrato!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     if (bsParcelas.Count == 0)
     {
         MessageBox.Show("Não existe parcelas no Contrato!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     if ((bsContratoFin.Current as CamadaDados.Financeiro.Contrato.TRegistro_ContratoFin).Nr_lancto == null)
     {
         try
         {
             if (string.IsNullOrEmpty(cd_historico.Text))
             {
                 MessageBox.Show("Obrigatório informar Historico para Gerar Duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             if (string.IsNullOrEmpty(tp_duplicata.Text))
             {
                 MessageBox.Show("Obrigatório informar tipo de duplicata para Gerar Duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             if (string.IsNullOrEmpty(tp_docto.Text))
             {
                 MessageBox.Show("Obrigatório informar tipo de documento para Gerar Duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             TRegistro_LanDuplicata rDup = new TRegistro_LanDuplicata();
             rDup.Cd_empresa     = cd_empresa.Text;
             rDup.Cd_historico   = cd_historico.Text;
             rDup.Tp_doctostring = tp_docto.Text;
             rDup.Tp_duplicata   = tp_duplicata.Text;
             rDup.Cd_clifor      = CD_Clifor.Text;
             rDup.Cd_endereco    = CD_Endereco.Text;
             rDup.Cd_juro        = cd_juro.Text;
             //Buscar Moeda Padrao
             TList_Moeda tabela = CamadaNegocio.ConfigGer.TCN_CadParamGer_X_Empresa.BuscarMoedaPadrao((bsContratoFin.Current as CamadaDados.Financeiro.Contrato.TRegistro_ContratoFin).Cd_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.Cd_condpgto         = cd_condpgto.Text;
             rDup.Nr_docto            = NR_ContratoOrigem.Text;
             rDup.Vl_documento        = (bsContratoFin.Current as CamadaDados.Financeiro.Contrato.TRegistro_ContratoFin).lParc.Sum(p => p.Vl_parcProvisao);
             rDup.Vl_documento_padrao = vl_contrato.Value;
             rDup.Dt_emissao          = CamadaDados.UtilData.Data_Servidor();
             rDup.Qt_parcelas         = bsParcelas.Count;
             decimal cd_parcela = 1;
             (bsContratoFin.Current as CamadaDados.Financeiro.Contrato.TRegistro_ContratoFin).lParc.ForEach(v =>
                                                                                                            rDup.Parcelas.Add(new TRegistro_LanParcela()
             {
                 Cd_parcela        = cd_parcela++,
                 Dt_vencto         = v.Dt_venctoProvisao,
                 Vl_parcela        = v.Vl_parcProvisao,
                 Vl_parcela_padrao = v.Vl_parcProvisao
             }));
             (bsContratoFin.Current as CamadaDados.Financeiro.Contrato.TRegistro_ContratoFin).lDup.Add(rDup);
         }
         catch (Exception ex)
         { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
     }
     this.DialogResult = DialogResult.OK;
 }