//Aplica valor padrão a campo de usuário public bool fSetaValorPadrao(string cTabela, string cCampo, string Valor, TipoTabela cTipoTabela) { string cTabelaAux = null; //TipoTabela: 0=user, 1=SAPB1 if (cTipoTabela == TipoTabela.tUSER) { cTabelaAux = "@" + cTabela; } else { cTabelaAux = cTabela; } bool valorExiste = false; int campoID = fFieldId(cTabelaAux, cCampo); if (fExisteValorValido(cTabelaAux, campoID, Valor)) { valorExiste = true; } //se existe esse valor válido if (valorExiste && (fExisteValorDefaultSet(cTabelaAux, campoID.ToString(), Valor)) == false) { GC.Collect(); SAPbobsCOM.UserFieldsMD objUserFieldsMD; objUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); if (objUserFieldsMD.GetByKey(cTabelaAux, campoID)) { objUserFieldsMD.DefaultValue = Valor; } CodErroDB = objUserFieldsMD.Update(); if (CodErroDB != 0) { objUserFieldsMD = null; oCompany.GetLastError(out int CodErroDB, out string MsgErroDB); // SBO_Application.StatusBar.SetText("Valor padrão para o campo: [" + cCampo + "] da tabela [" + cTabela + "] reportado com erro! " + CodErroDB.ToString() + " - " + MsgErroDB, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); return(false); } else { objUserFieldsMD = null; // SBO_Application.StatusBar.SetText("Valor padrão para o campo: [" + cCampo + "] da tabela [" + cTabela + "] setado com sucesso!", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); return(true); } } else { return(false); } }
public custUserField(string sNomeTabela, string sNomeCampo, string sDescricao, TipoCampo tTipo, int iTamanho, TipoTabela tTipoTabela, bool sObrigatorio = false, string sValoresValidos = "", string valorPadrao = "", string sTabelaLigada = "") { NomeTabela = sNomeTabela; NomeCampo = sNomeCampo; Descricao = sDescricao; Tipo = tTipo; Tamanho = iTamanho; TipoTabela = tTipoTabela; Obrigatorio = sObrigatorio; ValoresValidos = sValoresValidos; TabelaLigada = sTabelaLigada; ValorPadrao = valorPadrao; }
//Remoção de campos de usuários em tabelas de usuário ou em tabela do Sistema SAP public bool fExcluiCampo(string cTabela, string cCampo, TipoTabela cTipoTabela) { string cTabelaAux = null; //TipoTabela: 0=user, 1=SAPB1 if (cTipoTabela == TipoTabela.tUSER) { cTabelaAux = "@" + cTabela; } else if (cTipoTabela == TipoTabela.tSBO) { cTabelaAux = cTabela; } try { int FieldId = fFieldId(cTabelaAux, cCampo); SAPbobsCOM.UserFieldsMD oUserFieldsMD; GC.Collect(); oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); if (oUserFieldsMD.GetByKey(cTabelaAux, FieldId) == false) { System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserFieldsMD); return(false); } else { //removendo campo de tabela CodErroDB = oUserFieldsMD.Remove(); if (CodErroDB != 0) { oCompany.GetLastError(out int CodErroDB, out string MsgErroDB); // SBO_Application.StatusBar.SetText("Campo: [" + cCampo + "] da tabela [" + cTabela + "] com erro em sua remoção! Codigo: " + CodErroDB.ToString() + " - Mensagem: " + MsgErroDB, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserFieldsMD); return(false); } else { // SBO_Application.StatusBar.SetText("Campo: [" + cCampo + "] da tabela [" + cTabela + "] excluído com sucesso!", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserFieldsMD); return(true); } } } catch (Exception ex) { // SBO_Application.MessageBox("Erro de sistema: " + ex.Message); System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserFieldsMD); return(false); } }
//Aplica campo como obrigatorio public bool fSetaCampoObrigatorio(string cTabela, string cCampo, TipoTabela cTipoTabela) { string cTabelaAux = null; //'TipoTabela: 0=user, 1=SAPB1 if (cTipoTabela == TipoTabela.tUSER) { cTabelaAux = "@" + cTabela; } else { cTabelaAux = cTabela; } int campoID = fFieldId(cTabelaAux, cCampo); SAPbobsCOM.UserFieldsMD objUserFieldsMD; GC.Collect(); objUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); if (objUserFieldsMD.GetByKey(cTabelaAux, campoID)) { objUserFieldsMD.Mandatory = SAPbobsCOM.BoYesNoEnum.tYES; CodErroDB = objUserFieldsMD.Update(); } if (CodErroDB != 0) { oCompany.GetLastError(out int CodErroDB, out string MsgErroDB); // SBO_Application.StatusBar.SetText("Obrigatoriedade para o campo: [" + cCampo + "] da tabela [" + cTabela + "] reportado com sucesso! " + CodErroDB.ToString() + " - " + MsgErroDB, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); return(false); } else { // SBO_Application.StatusBar.SetText("Obrigatoriedade para o campo: [" + cCampo + "] da tabela [" + cTabela + "] setada com sucesso!", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); return(true); } }
public static Specification <Material> EhTipoTabela(TipoTabela tipoTabela) { return(new DirectSpecification <Material>(l => l.TipoTabela == tipoTabela)); }
//Adiciona valor valido a campo de usuário public void fAdicionaValorValido(string cTabela, string cCampo, string Valor, string Descricao, TipoTabela cTipoTabela) { //TipoTabela: 0=user, 1=SAPB1 string cTabelaAux = null; if (cTipoTabela == TipoTabela.tUSER) { cTabelaAux = "@" + cTabela; } else { cTabelaAux = cTabela; } bool valorExiste = false; int campoID = fFieldId(cTabelaAux, cCampo); if (fExisteValorValido(cTabelaAux, campoID, Valor)) { valorExiste = true; } else { GC.Collect(); SAPbobsCOM.UserFieldsMD objUserFieldsMD; objUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); objUserFieldsMD.GetByKey(cTabelaAux, campoID); SAPbobsCOM.ValidValuesMD oValidValues; oValidValues = objUserFieldsMD.ValidValues; if (!valorExiste) { if (oValidValues.Value != "") { oValidValues.Add(); oValidValues.SetCurrentLine(oValidValues.Count - 1); oValidValues.Value = Valor; oValidValues.Description = Descricao; CodErroDB = objUserFieldsMD.Update(); } else { oValidValues.SetCurrentLine(oValidValues.Count - 1); oValidValues.Value = Valor; oValidValues.Description = Descricao; CodErroDB = objUserFieldsMD.Update(); } if (CodErroDB != 0) { oCompany.GetLastError(out int CodErroDB, out string MsgErroDB); // SBO_Application.StatusBar.SetText("Valor válido para o campo: [" + cCampo + "] da tabela [" + cTabela + "] reportado com erro! " + CodErroDB + " - " + MsgErroDB, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } else { // SBO_Application.StatusBar.SetText("Valor válido para o campo: [" + cCampo + "] da tabela [" + cTabela + "] criado com sucesso!", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } } else { CodErroDB = objUserFieldsMD.Update(); if (CodErroDB != 0) { oCompany.GetLastError(out int CodErroDB, out string MsgErroDB); // SBO_Application.StatusBar.SetText("Valor válido para o campo: [" + cCampo + "] da tabela [" + cTabela + "] reportado com erro! " + CodErroDB.ToString() + " - " + MsgErroDB, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } else { // SBO_Application.StatusBar.SetText("Valor válido para o campo: [" + cCampo + "] da tabela [" + cTabela + "] atualziado com sucesso!", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } } } }
//Criação de campos de usuários em tabela de usuário ou em tabela do Sistema SAP public void fCriaCampo(string cTabela, string cCampo, string cDescricao, TipoCampo cTipo, short nsize, TipoTabela cTipoTabela) { string cTabelaAux; cTabelaAux = ""; //TipoTabela: 0=user, 1=SAPB1 if (cTipoTabela == 0) { cTabelaAux = "@" + cTabela; } else if (cTipoTabela == TipoTabela.tSBO) { cTabelaAux = cTabela; } if (!fExiteCampo(cTabelaAux, cCampo)) { GC.Collect(); objUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); objUserFieldsMD.TableName = cTabela; objUserFieldsMD.Name = cCampo; objUserFieldsMD.Description = cDescricao; if (cTipo == TipoCampo.tPrice) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Float; objUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_Price; } else if (cTipo == TipoCampo.tPercent) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Float; objUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_Percentage; } else if (cTipo == TipoCampo.tSum) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Float; objUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_Sum; } else if (cTipo == TipoCampo.tALPHA) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha; } else if (cTipo == TipoCampo.tDATE) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Date; } else if (cTipo == TipoCampo.tTime) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Date; objUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_Time; } else if (cTipo == TipoCampo.tNUMBER) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Numeric; } else if (cTipo == TipoCampo.tMEMO) { objUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Memo; } objUserFieldsMD.EditSize = nsize; // Adding the Field to the Table CodErroDB = objUserFieldsMD.Add(); // Check for errors if (CodErroDB != 0) { oCompany.GetLastError(out int CodErroDB, out string MsgErroDB); // SBO_Application.MessageBox("Erro na Criação do Campo: " + cCampo + " " + CodErroDB.ToString() + " - " + MsgErroDB); System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserFieldsMD); objUserFieldsMD = null; } else { // SBO_Application.StatusBar.SetText("Campo: [" + cCampo + "] da tabela [" + cTabela + "] criado com sucesso!", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserFieldsMD); objUserFieldsMD = null; } } else { } }
public custUserField(string sNomeTabela, string sNomeCampo, string sDescricao, TipoCampo tTipo, int iTamanho, TipoTabela tTipoTabela, string sValoresValidos, string sObrigatorio = "", string sTabelaLigada = "") : this(sNomeTabela, sNomeCampo, sDescricao, tTipo, iTamanho, tTipoTabela, string.IsNullOrEmpty(sObrigatorio) ? false : true, sValoresValidos, sObrigatorio, sTabelaLigada) { }