public static void AplicarContaReferencial(TRegistro_CadPlanoContas rConta, TRegistro_PlanoReferencial rRef, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadPlanoContas qtb_plano = new TCD_CadPlanoContas(); try { if (banco == null) { st_transacao = qtb_plano.CriarBanco_Dados(true); } else { qtb_plano.Banco_Dados = banco; } //Buscar Contas Contabeis qtb_plano.Select(new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_classificacao", vOperador = "like", vVL_Busca = "'" + rConta.Cd_classificacao.Trim() + "%'" }, new TpBusca() { vNM_Campo = "a.tp_conta", vOperador = "=", vVL_Busca = "'A'" } }, 0, string.Empty, string.Empty).ForEach(p => { p.Tp_contasped = rRef.Natureza.FormatStringEsquerda(2, '0'); p.Cd_referencia = rRef.Cd_referencia; qtb_plano.Grava(p); }); if (st_transacao) { qtb_plano.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_plano.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_plano.deletarBanco_Dados(); } } }
private void OrganizarContas(TRegistro_CadPlanoContas val) { if (BS_CadPlanoContas.Current != null) { if (val != null) { if (val.Tp_conta.Equals("S")) { List <TRegistro_CadPlanoContas> lContas = CamadaNegocio.Contabil.Cadastro.TCN_PlanoContas.Buscar(string.Empty, string.Empty, string.Empty, val.Cd_conta_ctbstr, null).OrderBy(x => x.Ds_contactb).ToList(); if (!lContas.Exists(x => x.Tp_conta.Equals("S"))) { for (int i = 0; lContas.Count > i; i++) { string sequencia = (i + 1).ToString().PadLeft(3, '0'); lContas[i].Cd_classificacao = val.Cd_classificacao.ToString().Trim() + "." + sequencia; CamadaNegocio.Contabil.Cadastro.TCN_PlanoContas.MoverRegistros(lContas[i], lContas[i], null); } this.BuscarContaCtb(); } } } else { (BS_CadPlanoContas.DataSource as TList_CadPlanoContas).ForEach(p => { if (p.Tp_conta.Equals("S")) { List <TRegistro_CadPlanoContas> lContas = CamadaNegocio.Contabil.Cadastro.TCN_PlanoContas.Buscar(string.Empty, string.Empty, string.Empty, p.Cd_conta_ctbstr, null).OrderBy(x => x.Ds_contactb).ToList(); if (!lContas.Exists(x => x.Tp_conta.Equals("S"))) { for (int i = 0; lContas.Count > i; i++) { string sequencia = (i + 1).ToString().PadLeft(3, '0'); lContas[i].Cd_classificacao = p.Cd_classificacao.ToString().Trim() + "." + sequencia; CamadaNegocio.Contabil.Cadastro.TCN_PlanoContas.MoverRegistros(lContas[i], lContas[i], null); } this.BuscarContaCtb(); } } }); } } }
public static string Excluir(TRegistro_CadPlanoContas val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadPlanoContas qtb_plan = new TCD_CadPlanoContas(); try { if (banco == null) { st_transacao = qtb_plan.CriarBanco_Dados(true); } else { qtb_plan.Banco_Dados = banco; } //Verificar se conta possui movimentação if (new CamadaDados.Contabil.TCD_LanctosCTB(qtb_plan.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca { vNM_Campo = "a.cd_conta_ctb", vOperador = "like", vVL_Busca = "'" + val.Cd_conta_ctbstr + "%'" } }, "1") != null) { throw new Exception("Não é permitido excluir conta contabil com movimento."); } qtb_plan.Deleta(val); if (st_transacao) { qtb_plan.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_plan.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_plan.deletarBanco_Dados(); } } }
private void afterGrava() { if (BS_CadPlanoContas.Current != null) { if ((BS_CadPlanoContas.Current as TRegistro_CadPlanoContas).Tp_conta.ToUpper().Equals("S")) { MessageBox.Show("Não é permitido selecionar conta SINTÉTICA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } rConta = BS_CadPlanoContas.Current as TRegistro_CadPlanoContas; this.DialogResult = DialogResult.OK; } }
public static void MoverRegistros(TRegistro_CadPlanoContas rOrig, TRegistro_CadPlanoContas rDest, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadPlanoContas qtb_itens = new TCD_CadPlanoContas(); try { if (banco == null) { st_transacao = qtb_itens.CriarBanco_Dados(true); } else { qtb_itens.Banco_Dados = banco; } qtb_itens.executarSql("update tb_ctb_planocontas set cd_classificacao = '" + rDest.Cd_classificacao.Trim() + "' " + ",dt_alt = getdate() where cd_conta_ctb = " + rOrig.Cd_conta_ctbstr + "\r\n" + "update tb_ctb_planocontas set cd_classificacao = '" + rOrig.Cd_classificacao.Trim() + "' " + ",dt_alt = getdate() where cd_conta_ctb = " + rDest.Cd_conta_ctbstr, null); if (st_transacao) { qtb_itens.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_itens.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro mover registros: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_itens.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_CadPlanoContas val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadPlanoContas qtb_plan = new TCD_CadPlanoContas(); try { if (banco == null) { st_transacao = qtb_plan.CriarBanco_Dados(true); } else { qtb_plan.Banco_Dados = banco; } string retorno = qtb_plan.Grava(val); if (st_transacao) { qtb_plan.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_plan.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_plan.deletarBanco_Dados(); } } }
private void MoverCima() { if (BS_CadPlanoContas.Current != null) { if ((BS_CadPlanoContas.Current as TRegistro_CadPlanoContas).Tp_conta.Trim().ToUpper().Equals("S")) { MessageBox.Show("Não é permitido mover conta SINTÉTICA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if ((BS_CadPlanoContas[BS_CadPlanoContas.Position - 1] as TRegistro_CadPlanoContas).Tp_conta.Trim().ToUpper().Equals("S")) { MessageBox.Show("Não é permitido mover primeiro registro do grupo para CIMA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } try { TRegistro_CadPlanoContas rItem = CamadaNegocio.Contabil.Cadastro.TCN_PlanoContas.Buscar((BS_CadPlanoContas.Current as TRegistro_CadPlanoContas).Cd_conta_ctbstr, string.Empty, string.Empty, string.Empty, null)[0]; TRegistro_CadPlanoContas rItemAnt = CamadaNegocio.Contabil.Cadastro.TCN_PlanoContas.Buscar((BS_CadPlanoContas[BS_CadPlanoContas.Position - 1] as TRegistro_CadPlanoContas).Cd_conta_ctbstr, string.Empty, string.Empty, string.Empty, null)[0]; CamadaNegocio.Contabil.Cadastro.TCN_PlanoContas.MoverRegistros(rItem, rItemAnt, null); this.BuscarContaCtb(); BS_CadPlanoContas.MovePrevious(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }