示例#1
0
        public static void Gravar(List <TRegistro_AbastVeiculo> lista,
                                  CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup,
                                  BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_AbastVeiculo qtb_abast    = new TCD_AbastVeiculo();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_abast.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_abast.Banco_Dados = banco;
                }
                //Gravar duplicata
                if (rDup != null)
                {
                    TCN_LanDuplicata.GravarDuplicata(rDup, false, qtb_abast.Banco_Dados);
                }
                //Gravar abastecidas
                lista.ForEach(x =>
                {
                    Gravar(x, qtb_abast.Banco_Dados);
                    //Amarrar abast x duplicata
                    if (x.Tp_pagamento.Trim().ToUpper().Equals("E"))
                    {
                        TCN_Abast_X_Duplicata.Gravar(new TRegistro_Abast_X_Duplicata
                        {
                            Id_abastecimento = x.Id_abastecimento,
                            Cd_empresa       = rDup.Cd_empresa,
                            Nr_lancto        = rDup.Nr_lancto
                        }, qtb_abast.Banco_Dados);
                    }
                });
                if (st_transacao)
                {
                    qtb_abast.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_abast.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar abastecimentos: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_abast.deletarBanco_Dados();
                }
            }
        }
示例#2
0
        private void BB_Gravar_Click(object sender, EventArgs e)
        {
            if (bsExecDespesa.Current != null)
            {
                using (Financeiro.TFLanDuplicata dp = new Financeiro.TFLanDuplicata())
                {
                    dp.vVl_documento = (bsExecDespesa.Current as TRegistro_ExecDespesas).vl_executado;
                    dp.vCd_empresa   = (bsExecDespesa.Current as TRegistro_ExecDespesas).Cd_empresa;
                    //Buscar Moeda Padrao
                    CamadaDados.Financeiro.Cadastros.TList_Moeda tabela =
                        CamadaNegocio.ConfigGer.TCN_CadParamGer_X_Empresa.BuscarMoedaPadrao((bsExecDespesa.Current as TRegistro_ExecDespesas).Cd_empresa, null);
                    if (tabela != null)
                    {
                        if (tabela.Count > 0)
                        {
                            dp.vCd_moeda           = tabela[0].Cd_moeda;
                            dp.vDs_moeda           = tabela[0].Ds_moeda_singular;
                            dp.vSigla_moeda        = tabela[0].Sigla;
                            dp.vCd_moeda_padrao    = tabela[0].Cd_moeda;
                            dp.vDs_moeda_padrao    = tabela[0].Ds_moeda_singular;
                            dp.vSigla_moeda_padrao = tabela[0].Sigla;
                        }
                    }

                    dp.vDt_emissao = CamadaDados.UtilData.Data_Servidor().ToString("dd/MM/yyyy");
                    if (dp.ShowDialog() == DialogResult.OK)
                    {
                        CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = new CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata();
                        rDup = dp.dsDuplicata.Current as CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata;
                        (bsExecDespesa.Current as TRegistro_ExecDespesas).rDuplicata   = rDup;
                        (bsExecDespesa.Current as TRegistro_ExecDespesas).nr_lancto    = Convert.ToDecimal(dp.nr_lancto);
                        (bsExecDespesa.Current as TRegistro_ExecDespesas).Id_orcamento = rdespesa.Id_orcamento;
                        (bsExecDespesa.Current as TRegistro_ExecDespesas).Cd_empresa   = rdespesa.Cd_empresa;
                        (bsExecDespesa.Current as TRegistro_ExecDespesas).Nr_versao    = rdespesa.Nr_versao;
                        (bsExecDespesa.Current as TRegistro_ExecDespesas).id_despesa   = Convert.ToDecimal(rdespesa.Id_despesa);

                        TCN_ExecDespesas.Gravar(bsExecDespesa.Current as TRegistro_ExecDespesas, null);
                        this.DialogResult = DialogResult.OK;
                        MessageBox.Show("Duplicata gravada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }
示例#3
0
        private void bbBuscar_Click(object sender, EventArgs e)
        {
            if (bsDespesas.Current != null)
            {
                if (panelDados2.validarCampoObrigatorio())
                {
                    if (tp_pagamento.SelectedIndex.Equals(0) && string.IsNullOrWhiteSpace(cd_fornecedor.Text))
                    {
                        MessageBox.Show("Obrigatório informar fornecedor para tipo de pagamento selecionado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        cd_fornecedor.Focus();
                        return;
                    }
                    else if (tp_pagamento.SelectedIndex.Equals(1) && string.IsNullOrWhiteSpace(cd_funcionario.Text))
                    {
                        MessageBox.Show("Obrigatório informar funcionário para tipo de pagamento selecionado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        cd_funcionario.Focus();
                        return;
                    }
                    (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Cd_empresa      = vCd_Empresa;
                    (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Id_orcamentostr = vId_Orcamento;
                    (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Nr_versaostr    = vNr_Versao;

                    //Buscar config abast
                    CamadaDados.Empreendimento.Cadastro.TList_CadCFGEmpreendimento lCfg =
                        CamadaNegocio.Empreendimento.Cadastro.TCN_CadCFGEmpreendimento.Busca((bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Cd_empresa,
                                                                                             string.Empty,
                                                                                             null);

                    if (lCfg.Count > 0)
                    {
                        if (string.IsNullOrEmpty(lCfg[0].tp_dup))
                        {
                            MessageBox.Show("Não existe Tp.duplicata na CFG.empreendimento cadastrada!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Não existe CFG.empreendimento cadastrado para a empresa informada!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }

                    //Despesa de funcionário com abatimento de adiantamento
                    if (tp_pagamento.SelectedIndex.Equals(1))
                    {
                        //Buscar conf. adiantamento
                        CamadaDados.Financeiro.Cadastros.TList_ConfigAdto lCnfAdto = CamadaNegocio.Financeiro.Cadastros.TCN_CadConfigAdto.Buscar(vCd_Empresa, string.Empty, string.Empty, string.Empty, string.Empty, 0, string.Empty, null);
                        if (lCnfAdto.Count.Equals(0))
                        {
                            MessageBox.Show("Não existe CFG.adiantamento cadastrado para a empresa informada!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return;
                        }

                        CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = new CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata();
                        rDup.Cd_empresa = vCd_Empresa;
                        rDup.Cd_clifor  = cd_funcionario.Text;

                        object lEndClifor = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar(new Utils.TpBusca[] { new Utils.TpBusca()
                                                                                                                                       {
                                                                                                                                           vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + rDup.Cd_clifor.Trim() + "'"
                                                                                                                                       } }, "a.cd_endereco");
                        if (!lEndClifor.Equals(null))
                        {
                            rDup.Cd_endereco = lEndClifor.ToString().Trim();
                        }

                        rDup.Tp_docto     = 2; //Duplicata
                        rDup.Tp_duplicata = "01";
                        rDup.Tp_mov       = lCnfAdto[0].Tp_mov_ADTO_C;
                        rDup.Cd_historico = rDup.Cd_historico_Dup = vCd_Historico = lCnfAdto[0].Cd_historico_ADTO_C;
                        rDup.Cd_portador  = lCnfAdto[0].CD_Portador;
                        rDup.Dt_emissao   = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Dt_execucao;
                        rDup.Vl_documento = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).vl_executado;
                        rDup.Nr_docto     = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Nr_docto;
                        DataTable rCond = new CamadaDados.Financeiro.Cadastros.TCD_CadCondPgto().Buscar(null, 1);
                        rDup.Cd_condpgto = rCond.Rows[0].ItemArray[0].ToString();
                        rDup.Cd_moeda    = rCond.Rows[0].ItemArray[5].ToString();
                        rDup.Cd_juro     = rCond.Rows[0].ItemArray[9].ToString();
                        rDup.Qt_parcelas = 0;
                        DataTable cd_contager = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().Buscar(null, 1);
                        if (cd_contager != null)
                        {
                            rDup.Cd_contager = cd_contager.Rows[0].ItemArray[0].ToString();
                        }
                        rDup.Parcelas.Add(new CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela()
                        {
                            Vl_parcela = rDup.Vl_documento, Dt_vencto = rDup.Dt_emissao, Cd_parcela = 1
                        });
                        rDup.lCred.AddRange(CamadaNegocio.Financeiro.Adiantamento.TCN_LanAdiantamento.Buscar(string.Empty,
                                                                                                             rDup.Cd_empresa,
                                                                                                             rDup.Cd_clifor,
                                                                                                             string.Empty,
                                                                                                             "'C'",
                                                                                                             string.Empty,
                                                                                                             decimal.Zero,
                                                                                                             string.Empty,
                                                                                                             string.Empty,
                                                                                                             decimal.Zero,
                                                                                                             decimal.Zero,
                                                                                                             false,
                                                                                                             false,
                                                                                                             true,
                                                                                                             string.Empty,
                                                                                                             false,
                                                                                                             false,
                                                                                                             string.Empty,
                                                                                                             string.Empty,
                                                                                                             0,
                                                                                                             string.Empty,
                                                                                                             null));
                        if (rDup.lCred.Count.Equals(0))
                        {
                            MessageBox.Show("Funcionário não possui adiantamento quitado para efetuar o débito de saldo.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return;
                        }

                        //Validar saldo a devolver do funcionário
                        rDup.lCred.ForEach(p =>
                        {
                            if (rDup.Vl_documento <= p.Vl_total_devolver)
                            {
                                rDup.cVl_adiantamento = rDup.Vl_documento;
                            }
                        });
                        if (rDup.cVl_adiantamento.Equals(0))
                        {
                            MessageBox.Show("Crédito do funcionário é menor do que o valor da despesa."); return;
                        }

                        (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).rDuplicata = rDup;
                    }
                    else
                    {
                        //Procedimento para despesa da empresa
                        using (Financeiro.TFLanDuplicata fDup = new Financeiro.TFLanDuplicata())
                        {
                            fDup.vCd_empresa = vCd_Empresa;
                            fDup.vNm_empresa = vNm_empresa;
                            fDup.vCd_clifor  = tp_pagamento.SelectedIndex.Equals(1) ? cd_funcionario.Text : cd_fornecedor.Text;
                            fDup.vNm_clifor  = tp_pagamento.SelectedIndex.Equals(1) ? nm_funcionario.Text : nm_fornecedor.Text;
                            //Buscar endereco
                            CamadaDados.Financeiro.Cadastros.TList_CadEndereco lEnd =
                                CamadaNegocio.Financeiro.Cadastros.TCN_CadEndereco.Buscar(fDup.vCd_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)
                            {
                                fDup.vCd_endereco = lEnd[0].Cd_endereco;
                                fDup.vDs_endereco = lEnd[0].Ds_endereco;
                            }
                            if (lCfg.Count > 0)
                            {
                                if (string.IsNullOrEmpty(lCfg[0].tp_dup))
                                {
                                    MessageBox.Show("Não existe Tp.duplicata na CFG.empreendimento cadastrada!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                                fDup.vTp_docto         = lCfg[0].tp_docto;
                                fDup.vDs_tpdocto       = lCfg[0].ds_docto;
                                fDup.vTp_duplicata     = string.Empty;
                                fDup.vDs_tpduplicata   = string.Empty;
                                fDup.vTp_mov           = "P";
                                fDup.vDt_emissao       = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Dt_execucaostr;
                                fDup.vVl_documento     = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).vl_executado;
                                fDup.vNr_docto         = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Nr_docto;
                                fDup.St_bloquearccusto = true;
                                if (fDup.ShowDialog() == DialogResult.OK)
                                {
                                    if (fDup.dsDuplicata.Count > 0)
                                    {
                                        (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).rDuplicata = fDup.dsDuplicata.Current as CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata;
                                    }

                                    vCd_Historico = fDup.vCd_historico;
                                }
                            }
                            else
                            {
                                MessageBox.Show("Não existe configuração frota para lançar duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return;
                            }
                        }
                    }
                    if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("CRESULTADO_EMPRESA",
                                                                             vCd_Empresa,
                                                                             null).Trim().ToUpper().Equals("S"))
                    {
                        //Verificar se historico possui centro resultado cadastrado
                        object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadHistorico().BuscarEscalar(
                            new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.cd_historico",
                                vOperador = "=",
                                vVL_Busca = "'" + vCd_Historico.Trim() + "'"
                            }
                        }, "a.cd_centroresult");
                        if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString()))
                        {
                            (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).lCCusto.Add(
                                new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto()
                            {
                                Cd_empresa      = vCd_Empresa,
                                Cd_centroresult = obj.ToString(),
                                Vl_lancto       = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).vl_executado,
                                Dt_lancto       = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Dt_execucao,
                                Tp_registro     = "A"
                            });
                        }
                        else
                        {
                            using (Financeiro.TFRateioCResultado fRateio = new Financeiro.TFRateioCResultado())
                            {
                                fRateio.vVl_Documento = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).vl_executado;
                                fRateio.Tp_mov        = "P";
                                fRateio.Dt_movimento  = (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).Dt_execucao;
                                if (fRateio.ShowDialog() == DialogResult.OK)
                                {
                                    (bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas).lCCusto = fRateio.lCResultado;
                                }
                                else
                                {
                                    return;
                                }
                            }
                        }
                    }
                    try
                    {
                        CamadaNegocio.Empreendimento.TCN_ExecDespesas.Gravar(bsDespesas.Current as CamadaDados.Empreendimento.TRegistro_ExecDespesas, null);
                        MessageBox.Show("Despesa gravada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.DialogResult = DialogResult.OK;
                    }
                    catch (Exception ex)
                    { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                }
            }
        }
示例#4
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);
                }
            }
        }
示例#5
0
        public static string Gravar(TRegistro_CartaFrete val, TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_CartaFrete qtb_cf       = new TCD_CartaFrete();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_cf.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_cf.Banco_Dados = banco;
                }
                //Buscar config carta frete posto
                CamadaDados.PostoCombustivel.Cadastros.TList_CfgPosto lCfg =
                    CamadaNegocio.PostoCombustivel.Cadastros.TCN_CfgPosto.Buscar(val.Cd_empresa, qtb_cf.Banco_Dados);
                if (lCfg.Count.Equals(0))
                {
                    throw new Exception("Não existe configuração para a empresa " + val.Cd_empresa.Trim());
                }
                if (string.IsNullOrEmpty(lCfg[0].Tp_duplicata))
                {
                    throw new Exception("Não existe tipo duplicata configurado para a empresa " + val.Cd_empresa.Trim());
                }
                if (!lCfg[0].Tp_docto.HasValue)
                {
                    throw new Exception("Não existe tipo documento configurado para a empresa " + val.Cd_empresa.Trim());
                }
                //Buscar condicao 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,
                                                                              qtb_cf.Banco_Dados);
                if (lCond.Count.Equals(0))
                {
                    throw new Exception("Não existe condição pagamento cadastrado com quantidade parcela igual 1");
                }
                //Criar duplicata
                CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = new CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata();
                rDup.Cd_empresa           = val.Cd_empresa;
                rDup.Cd_historico         = lCfg[0].Cd_historico;
                rDup.Tp_docto             = lCfg[0].Tp_docto;
                rDup.Tp_duplicata         = lCfg[0].Tp_duplicata;
                rDup.Cd_clifor            = string.IsNullOrEmpty(val.Cd_unidpagadora) ? val.Cd_transportadora : val.Cd_unidpagadora;
                rDup.Cd_endereco          = string.IsNullOrEmpty(val.Cd_unidpagadora) ? val.Cd_enderecotransp : val.Cd_endunidpagadora;
                rDup.Cd_juro              = lCond[0].Cd_juro;
                rDup.Cd_moeda             = lCond[0].Cd_moeda;
                rDup.Cd_condpgto          = lCond[0].Cd_condpgto;
                rDup.Nr_docto             = "CARTAF" + val.Nr_cartafrete;
                rDup.Vl_documento         = val.Vl_documento;
                rDup.Vl_documento_padrao  = val.Vl_documento;
                rDup.Dt_emissao           = CamadaDados.UtilData.Data_Servidor();
                rDup.Qt_parcelas          = 1;
                rDup.Qt_dias_desdobro     = lCond[0].Qt_diasdesdobro;
                rDup.St_comentrada        = lCond[0].St_comentrada;
                rDup.Tp_juro              = lCond[0].Tp_juro;
                rDup.Pc_jurodiario_atrazo = lCond[0].Pc_jurodiario_atrazo;
                //Cotacao
                rDup.DupCotacao = new CamadaDados.Financeiro.Duplicata.TRegistro_DuplicataCotacao()
                {
                    Cd_moedaresult = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", rDup.Cd_empresa, qtb_cf.Banco_Dados)
                };
                //Parcela
                rDup.Parcelas.Add(new CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela()
                {
                    Cd_empresa        = val.Cd_empresa,
                    Cd_parcela        = 1,
                    Dt_vencto         = val.Dt_vencimento,
                    Vl_parcela        = val.Vl_documento,
                    Vl_parcela_padrao = val.Vl_documento
                });
                CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(rDup, false, qtb_cf.Banco_Dados);
                val.Nr_lancto        = rDup.Nr_lancto;
                val.Id_cartafretestr = CamadaDados.TDataQuery.getPubVariavel(qtb_cf.Gravar(val), "@P_ID_CARTAFRETE");
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.Commit_Tran();
                }
                return(val.Id_cartafretestr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar carta frete: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_cf.deletarBanco_Dados();
                }
            }
        }
示例#6
0
        public static void ProcessarPedido(List <TRegistro_OrdemCompra> val,
                                           string Cfg_pedido,
                                           CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup,
                                           byte[] anexo_pedido,
                                           BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_OrdemCompra qtb_oc       = new TCD_OrdemCompra();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_oc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_oc.Banco_Dados = banco;
                }
                //Verificar se existe configuracao para gerar pedido
                TRegistro_Requisicao rReq = TCN_Requisicao.Buscar(val[0].Id_requisicaostr,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  false,
                                                                  false,
                                                                  false,
                                                                  "'E'",
                                                                  false,
                                                                  qtb_oc.Banco_Dados)[0];
                CamadaDados.Compra.TList_CFGCompra lCfg =
                    TCN_CFGCompra.Buscar(rReq.Cd_empresa,
                                         string.Empty,
                                         string.Empty,
                                         string.Empty,
                                         string.Empty,
                                         0,
                                         string.Empty,
                                         qtb_oc.Banco_Dados);
                if (lCfg.Count < 1)
                {
                    throw new Exception("Não existe configuração do modulo de compras para a empresa " + rReq.Cd_empresa.Trim());
                }
                if ((!lCfg[0].St_utilizarmoedaocbool) && lCfg[0].Cd_moeda.Trim().Equals(string.Empty))
                {
                    throw new Exception("Não existe moeda configurada para gerar o pedido.");
                }
                //Gravar pedido
                string retorno = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Grava_Pedido(
                    new CamadaDados.Faturamento.Pedido.TRegistro_Pedido()
                {
                    CD_Empresa          = rReq.Cd_empresa,
                    CD_CondPGTO         = val[0].Cd_condpgto,
                    DT_Pedido           = DateTime.Now,
                    TP_Movimento        = "E",
                    CFG_Pedido          = string.IsNullOrEmpty(Cfg_pedido) ? lCfg[0].Cfg_pedidocompra : Cfg_pedido,
                    CD_Clifor           = val[0].Cd_fornecedor,
                    CD_Endereco         = val[0].Cd_endfornecedor,
                    ST_Pedido           = "F",
                    ST_Registro         = "A",
                    Cd_moeda            = lCfg[0].St_utilizarmoedaocbool ? val[0].Cd_moeda : lCfg[0].Cd_moeda,
                    CD_TRANSPORTADORA   = val[0].Cd_transportadora,
                    CD_ENDERECOTRANSP   = val[0].Cd_endtransportadora,
                    Tp_frete            = val[0].Tp_frete,
                    Vl_frete            = val.Sum(p => p.Vl_frete),
                    Cd_clifor_comprador = rReq.Cd_clifor_comprador,
                    Anexo_compra        = anexo_pedido
                }, qtb_oc.Banco_Dados);
                //grava duplicata
                object st_dup = new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedido().BuscarEscalar(
                    null, "a.st_gerarfin");
                if (st_dup != null && rDup != null)
                {
                    if (st_dup.Equals("S"))
                    {
                        rDup.Nr_pedido = Convert.ToDecimal(retorno.ToString());

                        rDup.Nr_docto = rDup.Nr_pedido.ToString();
                        string rtn = CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(rDup, false, qtb_oc.Banco_Dados);

                        CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_X_Duplicata reg = new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_X_Duplicata();
                        reg.Cd_empresa = lCfg[0].Cd_empresa;
                        reg.Nr_pedido  = rDup.Nr_pedido;
                        reg.Nr_lancto  = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(rtn, "@P_NR_LANCTO"));
                        CamadaNegocio.Faturamento.Pedido.TCN_LanPedido_X_Duplicata.Gravar(reg, qtb_oc.Banco_Dados);
                    }
                }

                //Gravar itens do pedido
                val.ForEach(p =>
                {
                    //Buscar unidade do produto para gravar no pedido
                    object obj = new CamadaDados.Estoque.Cadastros.TCD_CadProduto(qtb_oc.Banco_Dados).BuscarEscalar(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.cd_produto",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                        }
                    }, "a.cd_unidade");
                    if (obj == null)
                    {
                        throw new Exception("Não foi possivel localizar produto " + p.Cd_produto.Trim() + " no cadastro de produto.");
                    }
                    if (obj.ToString().Trim().Equals(string.Empty))
                    {
                        throw new Exception("Não existe unidade cadastrada para o produto " + p.Cd_produto.Trim() + ".");
                    }
                    string ret_item = CamadaNegocio.Faturamento.Pedido.TCN_LanPedido_Item.GravaPedido_Item(
                        new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item()
                    {
                        Cd_Empresa        = rReq.Cd_empresa,
                        Cd_local          = !string.IsNullOrEmpty(rReq.Cd_local) ? rReq.Cd_local : lCfg[0].Cd_local,
                        Cd_produto        = p.Cd_produto,
                        Nr_pedido         = Convert.ToDecimal(retorno),
                        Cd_unidade_est    = obj.ToString(),
                        Cd_unidade_valor  = obj.ToString(),
                        Quantidade        = p.Quantidade,
                        Vl_unitario       = p.Vl_unitConvertido,
                        Vl_subtotal       = p.Vl_Convertido,
                        Ds_observacaoitem = p.ObsRequisicao
                    }, qtb_oc.Banco_Dados);
                    //Alterar status da OC para F - Faturada
                    p.St_registro = "F";
                    TCN_OrdemCompra.Gravar(p, qtb_oc.Banco_Dados);
                    //Gravar OC X Pedido
                    TCN_OrdemCompra_X_PedItem.GravarOC_X_PedItem(
                        new TRegistro_OrdemCompra_X_PedItem()
                    {
                        Cd_produto    = p.Cd_produto,
                        Id_oc         = p.Id_oc,
                        Id_pedidoitem = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_item, "@P_ID_PEDIDOITEM")),
                        Nr_pedido     = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_item, "@P_NR_PEDIDO"))
                    }, qtb_oc.Banco_Dados);
                    p.Nr_pedido = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_item, "@P_NR_PEDIDO"));
                });
                if (st_transacao)
                {
                    qtb_oc.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_oc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro processar pedido: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_oc.deletarBanco_Dados();
                }
            }
        }
示例#7
0
 private void afterGrava()
 {
     if (bsAbastComposto.Count > 0)
     {
         CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = null;
         if ((bsAbastComposto.List as IEnumerable <CamadaDados.Frota.TRegistro_AbastVeiculo>).ToList().Exists(x => x.Tp_pagamento.Trim().ToUpper().Equals("E")))
         {
             using (Financeiro.TFLanDuplicata fDup = new Financeiro.TFLanDuplicata())
             {
                 fDup.vCd_empresa = (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_empresa;
                 fDup.vNm_empresa = (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Nm_empresa;
                 fDup.vCd_clifor  = (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_fornecedor;
                 fDup.vNm_clifor  = (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Nm_fornecedor;
                 //Buscar config abast
                 CamadaDados.Frota.Cadastros.TList_CfgFrota lCfg =
                     CamadaNegocio.Frota.Cadastros.TCN_CfgFrota.Buscar((bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_empresa,
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       null);
                 if (lCfg.Count > 0)
                 {
                     if (string.IsNullOrEmpty(lCfg[0].Tp_duplicata))
                     {
                         MessageBox.Show("Não existe Tp.duplicata na CFG.Frota cadastrada!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                     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          = CamadaDados.UtilData.Data_Servidor().ToString("dd/MM/yyyy");
                     fDup.vVl_documento        = (bsAbastComposto.List as IEnumerable <CamadaDados.Frota.TRegistro_AbastVeiculo>).ToList().Where(x => x.Tp_pagamento.Trim().ToUpper().Equals("E")).Sum(x => x.Vl_subtotal);
                     fDup.vNr_docto            = "AGPABAST";
                     fDup.vSt_ecf              = true;
                     fDup.St_bloquearccusto    = true; //Centro Resultado sera lancado pelo modulo frota
                     fDup.St_editardataemissao = true;
                     if (fDup.ShowDialog() == DialogResult.OK)
                     {
                         if (fDup.dsDuplicata.Count > 0)
                         {
                             rDup = fDup.dsDuplicata.Current as CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata;
                             rDup.Vl_documento_padrao           = (bsAbastComposto.List as IEnumerable <CamadaDados.Frota.TRegistro_AbastVeiculo>).ToList().Where(x => x.Tp_pagamento.Trim().ToUpper().Equals("E")).Sum(x => x.Vl_subtotal);
                             rDup.Parcelas[0].Vl_parcela_padrao = rDup.Parcelas[0].Vl_parcela;
                         }
                     }
                 }
                 else
                 {
                     MessageBox.Show("Não existe configuração frota para lançar duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
             }
         }
         try
         {
             CamadaNegocio.Frota.TCN_AbastVeiculo.Gravar((bsAbastComposto.List as IEnumerable <CamadaDados.Frota.TRegistro_AbastVeiculo>).ToList(), rDup, null);
             MessageBox.Show("Abastecimentos gravados com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             bb_novo_abastecimento.Enabled    = true;
             bb_alterar_abastecimento.Enabled = true;
             bb_gravar_abastecimento.Enabled  = false;
             bb_excluir_abastecimento.Enabled = true;
             bsAbastComposto.Clear();
             pAbastecimento.HabilitarControls(false, Utils.TTpModo.tm_Standby);
             pAbastecimento.LimparRegistro();
         }
         catch (Exception ex)
         { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
     }
 }
示例#8
0
 private void afterNovoC()
 {
     using (TFDespComposta fDesp = new TFDespComposta())
     {
         if (fDesp.ShowDialog() == DialogResult.OK)
         {
             if (fDesp.lManutencao != null)
             {
                 CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = null;
                 //Buscar config abast
                 CamadaDados.Frota.Cadastros.TList_CfgFrota lCfg =
                     CamadaNegocio.Frota.Cadastros.TCN_CfgFrota.Buscar(fDesp.lManutencao[0].Cd_empresa,
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       null);
                 using (Financeiro.TFLanDuplicata fDup = new Financeiro.TFLanDuplicata())
                 {
                     fDup.vCd_empresa = fDesp.lManutencao[0].Cd_empresa;
                     fDup.vNm_empresa = fDesp.lManutencao[0].Nm_empresa;
                     fDup.vCd_clifor  = fDesp.lManutencao[0].Cd_cliforOficina;
                     fDup.vNm_clifor  = fDesp.lManutencao[0].Nm_cliforOficina;
                     //Buscar endereco clifor oficina
                     CamadaDados.Financeiro.Cadastros.TList_CadEndereco lEnd =
                         CamadaNegocio.Financeiro.Cadastros.TCN_CadEndereco.Buscar(fDesp.lManutencao[0].Cd_cliforOficina,
                                                                                   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)
                     {
                         fDup.vCd_endereco = lEnd[0].Cd_endereco;
                         fDup.vDs_endereco = lEnd[0].Ds_endereco;
                     }
                     if (lCfg.Count > 0)
                     {
                         if (string.IsNullOrEmpty(lCfg[0].Tp_duplicata))
                         {
                             MessageBox.Show("Não existe Tp.duplicata na CFG.Frota cadastrada!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         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     = CamadaDados.UtilData.Data_Servidor().ToString("dd/MM/yyyy");
                         fDup.vVl_documento   = (fDesp.lManutencao as IEnumerable <CamadaDados.Frota.Cadastros.TRegistro_ManutencaoVeiculo>)
                                                .ToList().Sum(x => x.Vl_realizada);
                         fDup.vNr_docto         = "AGPDESP"; //agrupamento despesas
                         fDup.vSt_ecf           = true;
                         fDup.St_bloquearccusto = true;      //Centro Resultado sera lancado pelo modulo frota
                         if (fDup.ShowDialog() == DialogResult.OK)
                         {
                             if (fDup.dsDuplicata.Count > 0)
                             {
                                 rDup = fDup.dsDuplicata.Current as CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata;
                                 rDup.Vl_documento_padrao = (fDesp.lManutencao as IEnumerable <CamadaDados.Frota.Cadastros.TRegistro_ManutencaoVeiculo>)
                                                            .ToList().Sum(x => x.Vl_realizada);
                                 rDup.Parcelas[0].Vl_parcela_padrao = rDup.Parcelas[0].Vl_parcela;
                             }
                         }
                         else
                         {
                             return;
                         }
                     }
                     else
                     {
                         MessageBox.Show("Não existe configuração frota para lançar duplicata!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                 }
                 try
                 {
                     CamadaNegocio.Frota.Cadastros.TCN_ManutencaoVeiculo.Gravar(fDesp.lManutencao, rDup, null);
                     MessageBox.Show("Manutenção gravada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     this.LimparFiltros();
                     id_manutencao.Text = fDesp.lManutencao[0].Id_manutencaostr;
                     id_veiculo.Text    = fDesp.lManutencao[0].Id_veiculostr;
                     this.afterBusca();
                 }
                 catch (Exception ex)
                 { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
             }
         }
     }
 }