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