public static string CreateUdo(string udoCode, string udoDescription, string headerTable, string chidlTable, int position, int fatherMenuId) { SAPbobsCOM.UserObjectsMD udo = (SAPbobsCOM.UserObjectsMD)DiManager.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserObjectsMD); bool updateFlag = udo.GetByKey(udoCode); udo.Code = udoCode; udo.Name = udoDescription; udo.ObjectType = BoUDOObjType.boud_Document; udo.TableName = headerTable; udo.ChildTables.TableName = chidlTable; udo.ChildTables.Add(); udo.CanCancel = BoYesNoEnum.tNO; udo.CanClose = BoYesNoEnum.tYES; udo.CanDelete = BoYesNoEnum.tNO; udo.CanFind = BoYesNoEnum.tYES; udo.MenuCaption = udoDescription; udo.CanCreateDefaultForm = BoYesNoEnum.tYES; udo.EnableEnhancedForm = BoYesNoEnum.tYES; udo.MenuItem = BoYesNoEnum.tYES; udo.Position = position; udo.FatherMenuID = fatherMenuId; udo.MenuUID = udoCode; udo.FormColumns.FormColumnAlias = "DocEntry"; udo.FormColumns.FormColumnDescription = "DocEntry"; udo.FormColumns.Add(); return(updateFlag ? udo.Update() != 0 ? Company.GetLastErrorDescription() : string.Empty : udo.Add() != 0 ? Company.GetLastErrorDescription() : string.Empty); }
public void AddChildTableToUserObject(string ObjectName, string ChildTableName) { // se não preenchido um table name separado, usa o mesmo do objeto Log.AppendFormat("Inserção de tabela filha ({0}) ao objeto {1}: ", ChildTableName, ObjectName); SAPbobsCOM.UserObjectsMD UserObjectsMD = (SAPbobsCOM.UserObjectsMD)SBOApp.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserObjectsMD); // Remove a arroba do usertable Name ChildTableName = ChildTableName.Replace("@", ""); bool bUpdate = UserObjectsMD.GetByKey(ObjectName); bool JaAdicionada = false; for (int i = 0; i < UserObjectsMD.ChildTables.Count; i++) { UserObjectsMD.ChildTables.SetCurrentLine(i); if (ChildTableName == UserObjectsMD.ChildTables.TableName) { JaAdicionada = true; break; } } if (!JaAdicionada) { UserObjectsMD.ChildTables.Add(); UserObjectsMD.ChildTables.TableName = ChildTableName; } CodErro = UserObjectsMD.Update(); this.ValidateAction(); Marshal.ReleaseComObject(UserObjectsMD); UserObjectsMD = null; }