//Excluir tabela de usuário
        public bool fExcluirTabela(string cTable)
        {
            GC.Collect();
            //SBO_Application.StatusBar.SetText("Removendo tabela [" + cTable + "]", SAPbouiCOM.BoMessageTime.bmt_Medium, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
            SAPbobsCOM.UserTablesMD objUserTablesMD;
            objUserTablesMD           = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables);
            objUserTablesMD.TableName = cTable;
            objUserTablesMD.GetByKey(cTable);

            CodErroDB = objUserTablesMD.Remove();
            if (CodErroDB != 0)
            {
                oCompany.GetLastError(out CodErroDB, out string MsgErroDB);
                //SBO_Application.MessageBox("Erro ao remover tabela [" + cTable + "]. Motivo: " + MsgErroDB + "....");
                System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserTablesMD);
                objUserTablesMD = null;
                return(false);
            }
            else
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(objUserTablesMD);
                objUserTablesMD = null;
                return(true);
            }
        }
Esempio n. 2
0
        internal static int DeleteTabela(string nomeTabela)
        {
            int intRetCode = -1;

            SAPbobsCOM.UserTablesMD objUserTablesMD = null;

            try
            {
                //instancia objeto para deletar tabela
                objUserTablesMD = (UserTablesMD)B1AppDomain.Company.GetBusinessObject(BoObjectTypes.oUserTables);
                if (objUserTablesMD.GetByKey(nomeTabela))
                {
                    //deleta tabela
                    intRetCode = objUserTablesMD.Remove();
                    //verifica e retorna erro
                    if (intRetCode != 0 && intRetCode != -2035)
                    {
                        B1Exception.throwException("MetaData.CriaCampos: ", new Exception(B1AppDomain.Company.GetLastErrorDescription()));
                    }
                }
                else
                {
                    B1AppDomain.Application.SetStatusBarMessage("Tabela não localizada no sistema :: " + nomeTabela, BoMessageTime.bmt_Short, true);
                }
            }
            catch (Exception ex)
            {
                B1Exception.throwException("Erro ao Deletar Tabela :: " + nomeTabela + " - ", ex);
            }



            return(intRetCode);
        }
        public void CreateUserTable(string UserTableName, string UserTableDesc, SAPbobsCOM.BoUTBTableType UserTableType)
        {
            FindColumns        = new GenericModel();
            FindColumns.Fields = new Dictionary <string, object>();
            Log.AppendLine();
            Log.AppendLine(UserTableName);
            Log.AppendFormat("Criação/Atualização da tabela de usuário {0}: ", UserTableName);

            SAPbobsCOM.UserTablesMD oUserTableMD = (SAPbobsCOM.UserTablesMD)SBOApp.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables);
            // Remove a arroba do usertable Name
            UserTableName = UserTableName.Replace("@", "");

            bool bUpdate = oUserTableMD.GetByKey(UserTableName);

            oUserTableMD.TableName        = UserTableName;
            oUserTableMD.TableDescription = UserTableDesc;
            oUserTableMD.TableType        = UserTableType;

            if (bUpdate)
            {
                //CodErro = oUserTableMD.Update();
                CodErro = 0;
            }
            else
            {
                CodErro = oUserTableMD.Add();
            }
            this.ValidateAction();

            Marshal.ReleaseComObject(oUserTableMD);
            oUserTableMD = null;
        }
        public void RemoveUserTable(string UserTableName)
        {
            Log.AppendFormat("Remoção da tabela de usuário {0}: ", UserTableName);
            SAPbobsCOM.UserTablesMD oUserTableMD = (SAPbobsCOM.UserTablesMD)SBOApp.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables);

            // Remove a arroba do usertable Name
            UserTableName = UserTableName.Replace("@", "");

            if (oUserTableMD.GetByKey(UserTableName))
            {
                CodErro = oUserTableMD.Remove();
                this.ValidateAction();
            }
            else
            {
                CodErro = 0;
                MsgErro = "";
                Log.AppendLine("OK");
            }
            Marshal.ReleaseComObject(oUserTableMD);
            oUserTableMD = null;
        }
Esempio n. 5
0
        public bool TableExists(string TableName)
        {
            bool outResult = false;

            try
            {
                SAPbobsCOM.UserTablesMD oTables = default(SAPbobsCOM.UserTablesMD);
                bool oFlag = false;

                oTables = (SAPbobsCOM.UserTablesMD)oDiCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables);
                oFlag   = oTables.GetByKey(TableName);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oTables);
                outResult = oFlag;
                return(oFlag);
            }
            catch (Exception ex)
            {
                throw new Exception("Failed to Table Exists : " + ex.Message);
            }
            finally
            {
            }
            return(outResult);
        }