public static string Gravar(TRegistro_CadDespesa val, BancoDados.TObjetoBanco banco) { TCD_CadDespesa cd = new TCD_CadDespesa(); bool st_transacao = false; try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } //Buscar ultimo numero da ordem val.Id_despesastr = CamadaDados.TDataQuery.getPubVariavel(cd.Grava(val), "@P_ID_DESPESA"); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return(val.Id_despesastr); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar etapa: " + ex.Message.Trim()); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }