//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);
            }
        }
Пример #2
0
 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);
            }
        }
Пример #5
0
 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
            {
            }
        }
Пример #8
0
 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)
 {
 }