public RecipientInfo createRecipientInfo( string NameTo = "", string UserCode = "", BoYesNoEnum SendInternal = BoYesNoEnum.tNO, BoMsgRcpTypes UserType = BoMsgRcpTypes.rt_InternalUser, BoYesNoEnum SendEmail = BoYesNoEnum.tNO, string EmailAddress = "", BoYesNoEnum SendFax = BoYesNoEnum.tNO, string FaxNumber = "", BoYesNoEnum SendSMS = BoYesNoEnum.tNO, string CellularNumber = "" ) { RecipientInfo rf; rf.CellularNumber = CellularNumber; rf.EmailAddress = EmailAddress; rf.FaxNumber = FaxNumber; rf.NameTo = NameTo; rf.SendEmail = SendEmail; rf.SendFax = SendFax; rf.SendInternal = SendInternal; rf.SendSMS = SendSMS; rf.UserCode = UserCode; rf.UserType = UserType; return(rf); }
/// <summary> /// Builds a B1Udo given its members information. /// </summary> /// <param name="code">Object Unique ID.</param> /// <param name="name">Object name that must include your namespace.</param> /// <param name="table">Name of the main User Table</param> /// <param name="children">Collection of Child User Tables names.</param> /// <param name="type">Valid value of BoUDOObjType type that specifies the object type.</param> /// <param name="canFind">Valid value of BoYesNoEnum type that specifies whether or not the user defined object can use the Find service.</param> /// <param name="canDelete">Valid value of BoYesNoEnum type that specifies whether or not the user defined object can use the Delete service.</param> /// <param name="canCancel">Valid value of BoYesNoEnum type that specifies whether or not the user defined object can use the Cancel service.</param> /// <param name="canClose">Valid value of BoYesNoEnum type that specifies whether or not the user defined object can use the Close service.</param> /// <param name="canYearTransfer">Valid value of BoYesNoEnum type that specifies whether or not the user defined object can use the Year Transfer service.</param> /// <param name="canLog">Valid value of BoYesNoEnum type that specifies whether or not the user defined object can use the History Log service.</param> /// <param name="manageSeries">Valid value of BoYesNoEnum type that specifies whether or not the user defined object can use the Manage Series service.</param> /// <param name="logTableName">Log table name.</param> /// <param name="findColumnsAlias">Collection of the fields alias to display in the Find Form.</param> /// <param name="findColumnsDesc">Collection of the fields description to display in the Find Form.</param> public B1Udo( string code, string name, string table, string[] children, BoUDOObjType type, BoYesNoEnum canFind, BoYesNoEnum canDelete, BoYesNoEnum canCancel, BoYesNoEnum canClose, BoYesNoEnum canYearTransfer, BoYesNoEnum canLog, BoYesNoEnum manageSeries, string logTableName, string[] findColumnsAlias, string[] findColumnsDesc) { this.Code = code; this.Name = name; this.Table = table; this.Children = children; this.Type = type; this.CanFind = canFind; this.CanDelete = canDelete; this.CanCancel = canCancel; this.CanClose = canClose; this.ManageSeries = manageSeries; this.CanYearTransfer = canYearTransfer; this.CanLog = canLog; this.LogTableName = logTableName; this.FindColumnsAlias = findColumnsAlias; this.FindColumnsDesc = findColumnsDesc; }
public void addUDO(Company oCompany, string sObjeto, string sCode, string sName, string sTableName, BoUDOObjType TipoObjeto, BoYesNoEnum CanFind, BoYesNoEnum CanDelete, BoYesNoEnum CanCancel, BoYesNoEnum CanYearTransfer, BoYesNoEnum CanLog, string sLogTableName) { UserObjectsMD oUserObjectMD = null; oUserObjectMD = (UserObjectsMD)oCompany.GetBusinessObject(BoObjectTypes.oUserObjectsMD); int lRetVal; string lErrMsg = string.Empty; System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserObjectMD); oUserObjectMD = null; GC.Collect(); oUserObjectMD = (UserObjectsMD)oCompany.GetBusinessObject(BoObjectTypes.oUserObjectsMD); if (oUserObjectMD.GetByKey(sObjeto) == false) { oUserObjectMD.Code = sCode; oUserObjectMD.Name = sName; oUserObjectMD.TableName = sTableName; oUserObjectMD.ObjectType = TipoObjeto; oUserObjectMD.CanFind = CanFind; oUserObjectMD.CanDelete = CanDelete; oUserObjectMD.CanCancel = CanCancel; oUserObjectMD.CanYearTransfer = CanYearTransfer; oUserObjectMD.CanLog = CanLog; oUserObjectMD.LogTableName = sLogTableName; lRetVal = oUserObjectMD.Add(); if (lRetVal != 0) { oCompany.GetLastError(out lRetVal, out lErrMsg); } } System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserObjectMD); oUserObjectMD = null; GC.Collect(); }
public UdoAttribute(string tableName, string name, string code, BoYesNoEnum cancel, BoYesNoEnum close, BoYesNoEnum createDefaultForm, BoYesNoEnum delete, BoYesNoEnum find, BoYesNoEnum yearTransfer, BoYesNoEnum manageSeries, BoUDOObjType objectType, string formulario, BoYesNoEnum enableEnhancedform, BoYesNoEnum rebuildEnhancedForm) { this.TableName = tableName; this.Name = name; this.Code = code; this.Cancel = cancel; this.Close = close; this.CreateDefaultForm = createDefaultForm; this.Delete = delete; this.Find = find; this.YearTransfer = yearTransfer; this.ManageSeries = manageSeries; this.ObjectType = objectType; this.Formulario = formulario; this.EnableEnhancedform = enableEnhancedform; this.RebuildEnhancedForm = rebuildEnhancedForm; }
/// <summary> /// Cria mas nao adiciona um Lancamento Manual. /// </summary> /// <param name="memo"></param> /// <param name="refDate"></param> /// <param name="dueDate"></param> /// <param name="taxDate"></param> /// <param name="autoVat"></param> /// <param name="ref1"></param> /// <param name="ref2"></param> /// <param name="ref3"></param> /// <returns></returns> public JournalEntries createJE(string memo, DateTime refDate, DateTime dueDate, DateTime taxDate , BoYesNoEnum autoVat, string ref1 = null, string ref2 = null, string ref3 = null) { JournalEntries je = null; try { je = connection.Company.GetBusinessObject(BoObjectTypes.oJournalEntries); je.ReferenceDate = refDate; je.DueDate = dueDate; je.TaxDate = taxDate; je.Memo = memo.Length > 50? memo.Substring(0, 50): memo; je.Reference = ref1; je.Reference2 = ref2; je.Reference3 = ref3; je.AutoVAT = autoVat; } catch (Exception e) { je = null; logger.log("Erro ao criar Lancamento Contabil Manual: " + e.Message, Logger.LogType.ERROR, e); } return(je); }
public static bool YesOrNo(BoYesNoEnum yon) { return(yon == BoYesNoEnum.tYES); }
public void Create() { //Variables SAPCLASS.UDO oUdo = new SAPCLASS.UDO(); BoYesNoEnum pYes = BoYesNoEnum.tYES; BoYesNoEnum pNo = BoYesNoEnum.tNO; List <FormColumnValues> pFormColumnList = new List <FormColumnValues>(); FormColumnValues pFormColumnListValue = new FormColumnValues(); List <FindColumnValues> pFindColumnList = new List <FindColumnValues>(); FindColumnValues pFindColumnListValue = new FindColumnValues(); List <ChildTableValues> pChildTableList = new List <ChildTableValues>(); ChildTableValues pChildTableListValue = new ChildTableValues(); List <EnhancedColumnValues> pEnhancedColumnList = new List <EnhancedColumnValues>(); EnhancedColumnValues pEnhancedColumnListValue = new EnhancedColumnValues(); //Basic Setting string pUdoCode = "BUDGET"; string pUdoName = "BUDGET"; BoUDOObjType pUdoType = BoUDOObjType.boud_Document; string pHeader = "BUDGET"; //Setting Services BoYesNoEnum pCanFind = pYes; BoYesNoEnum pCanDelete = pYes; BoYesNoEnum pCanCancel = pYes; BoYesNoEnum pCanClose = pYes; BoYesNoEnum pCanLog = pNo; BoYesNoEnum pManageSeries = pNo; BoYesNoEnum pYearTransfer = pNo; BoYesNoEnum pCanArchive = pNo; BoYesNoEnum pCanApprove = pNo; //UI Setting BoYesNoEnum pCreateDeafaultForm = pYes; BoYesNoEnum pIsEnhancedForm = pYes; BoYesNoEnum pIsMenuItem = pNo; string pMenuCaption = ""; int pFathermenuID = 0; int paramPosition = 0; string pMenuUId = ""; //Setting the fields for Find Column pFindColumnList.Add(new FindColumnValues { ColumnAlias = "DocEntry", ColumnDescription = "DocEntry" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "DocNum", ColumnDescription = "DocNum" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_Office", ColumnDescription = "Office" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_Year", ColumnDescription = "Year" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_PrepBy", ColumnDescription = "Prepared By" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_ReqBy", ColumnDescription = "Requested By" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_DocDate", ColumnDescription = "Document Date" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_Remark", ColumnDescription = "Remark" }); //Setting the fields for Form Column pFormColumnList.Add(new FormColumnValues { ColumnAlias = "DocEntry", ColumnDescription = "DocEntry" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "DocNum", ColumnDescription = "DocNum" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_TrType", ColumnDescription = "TrType" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_Office", ColumnDescription = "Office" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_Year", ColumnDescription = "Year" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_PrepBy", ColumnDescription = "Prepared By" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_ReqBy", ColumnDescription = "Requested By" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_DocDate", ColumnDescription = "Document Date" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_Remark", ColumnDescription = "Remark" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_EstBudget", ColumnDescription = "Total Estimated Budget" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_TotalUsed", ColumnDescription = "Total Used" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_Balance", ColumnDescription = "Balance" }); //Linking child user tables pChildTableList.Add(new ChildTableValues { ObjectName = "BUDGET1", TableName = "BUDGET1" }); pChildTableList.Add(new ChildTableValues { ObjectName = "BUDGET2", TableName = "BUDGET2" }); pChildTableList.Add(new ChildTableValues { ObjectName = "BUDGET3", TableName = "BUDGET3" }); //Setting the fields for Enhance Column //Budget Content pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Type", ColumnDescription = "Type", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Classification", ColumnDescription = "Classification", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_ItemDescription", ColumnDescription = "Budget Line Item", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_ItemCode", ColumnDescription = "Item Master Data", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_ItemDesc", ColumnDescription = "Description", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_EstBudgetQty", ColumnDescription = "Estimated Budget (Qty)", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_UoM", ColumnDescription = "UoM", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_EstBudgetAmnt", ColumnDescription = "Estimated Budget (Amount)", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_UsedBudgetQty", ColumnDescription = "Used Budget (Qty)", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_UsedBudgetAmnt", ColumnDescription = "Used Budget (Amount)", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_BalQty", ColumnDescription = "Balance (Qty)", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_BalAmnt", ColumnDescription = "Balance (Amount)", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_ModProc", ColumnDescription = "Mode of Procurement", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_StartDate", ColumnDescription = "Start Date", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_EndDate", ColumnDescription = "End Date", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_PpmpStat", ColumnDescription = "PPMP Budget Status", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_PpmpDate", ColumnDescription = "PPMP Approval Date", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_AppStat", ColumnDescription = "APP Budget Status", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_AppDate", ColumnDescription = "APP Approval Date", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_CobStat", ColumnDescription = "COB Budget Status", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_CobDate", ColumnDescription = "COB Approval Date", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_CreateDate", ColumnDescription = "Create Date", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_UpdateDate", ColumnDescription = "Last Update", ColumnIsUsed = pYes, Editable = pNo, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_PmoEndUser", ColumnDescription = "PMO/End-user", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_ModProc2", ColumnDescription = "Mode of Procurement", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Advertisement", ColumnDescription = "Advertisement/Posting of IB/REI", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Bids", ColumnDescription = "Submission/Opening of Bids", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Notice", ColumnDescription = "Notice of Award", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Contract", ColumnDescription = "Contract Signing", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Source", ColumnDescription = "Source of Funds", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Remarks", ColumnDescription = "Remarks", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_January", ColumnDescription = "January", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_February", ColumnDescription = "February", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_March", ColumnDescription = "March", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_April", ColumnDescription = "April", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_May", ColumnDescription = "May", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_June", ColumnDescription = "June", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_July", ColumnDescription = "July", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_August", ColumnDescription = "August", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_September", ColumnDescription = "September", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_October", ColumnDescription = "October", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_November", ColumnDescription = "November", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_December", ColumnDescription = "December", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_BudgetType", ColumnDescription = "Budget Type", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_EarlyProc", ColumnDescription = "Early Procurement", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 1 }); //Transactions pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Row", ColumnDescription = "Budget Row", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 2 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_DocNum", ColumnDescription = "No.", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 2 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Document", ColumnDescription = "Document", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 2 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_DocDate", ColumnDescription = "Date", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 2 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_DocTotal", ColumnDescription = "Total", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 2 }); //Attachments pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Path", ColumnDescription = "Path", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 3 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_FileName", ColumnDescription = "FileName", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 3 }); pEnhancedColumnList.Add(new Models.EnhancedColumnValues { ColumnAlias = "U_Date", ColumnDescription = "Date", ColumnIsUsed = pYes, Editable = pYes, ChildNumber = 3 }); //Set enhanced Column service value BoYesNoEnum pIsUniqueForm = pYes; oUdo.Create( //Basic Setting pUdoCode, pUdoName, pUdoType, pHeader, //Setting Services pCanFind, pCanDelete, pCanCancel, pCanClose, pCanLog, pManageSeries, pYearTransfer, pCanArchive, pCanApprove, //UI Setting pCreateDeafaultForm, pIsEnhancedForm, pIsMenuItem, pMenuCaption, pFathermenuID, paramPosition, pMenuUId, //Setting the Fields for the form columns pFormColumnList, //Setting the Fields for the find columns pFindColumnList, //Linking child user tables pChildTableList, //Setting the fields for Enhance Column pEnhancedColumnList, //Set enhanced Column service value pIsUniqueForm ); }
//Cria campo de usuario public void CreateField(string tableName, string tableField, string fieldDescr, BoFieldTypes type, int size, BoFldSubTypes subType = SAPbobsCOM.BoFldSubTypes.st_None, string defaultValue = "", string[] validValues = null, BoYesNoEnum mandatory = BoYesNoEnum.tNO) { int err = 0; string errMsg = ""; UserFieldsMD oUserFieldsMD = null; try { bool exist = UserFieldsExist(tableName, tableField); oUserFieldsMD = ((UserFieldsMD)(oConnection.Company.GetBusinessObject(BoObjectTypes.oUserFields))); //se o campo nao existe, cria if (!exist) { if (tableField.Length >= 20) { throw new Exception("Nome de campo maior que 19 caracteres: " + tableField + " Len: " + tableField.Length); } if (fieldDescr.Length >= 30) { throw new Exception("Descrição de campo maior que 29 caracteres: " + fieldDescr + " Len: " + fieldDescr.Length); } //Adiciona o campo oUserFieldsMD.TableName = tableName;//.Length >= 20 ? tableName.Substring(0, 20) : tableName; oUserFieldsMD.Name = tableField; oUserFieldsMD.Description = fieldDescr; oUserFieldsMD.Type = type; oUserFieldsMD.Size = size; oUserFieldsMD.EditSize = size; oUserFieldsMD.SubType = subType; oUserFieldsMD.DefaultValue = defaultValue; oUserFieldsMD.Mandatory = mandatory; if (validValues != null) { IValidValuesMD vals = oUserFieldsMD.ValidValues; for (int i = 0; i < validValues.Length; i++) { string[] dv = validValues[i].Trim().Split(new char[] { ',', '|', '=' }); vals.SetCurrentLine(i); vals.Value = dv[0]; vals.Description = dv[1]; vals.Add(); } System.Runtime.InteropServices.Marshal.ReleaseComObject(vals); vals = null; System.GC.Collect(); } if (oUserFieldsMD.Add() != 0) { oConnection.Company.GetLastError(out err, out errMsg); logMessage = "Erro ao criar Campo de Usuário: '" + tableField + "' em '" + tableName + "': " + errMsg + " : " + err; logger.log(logMessage, Logger.LogType.ERROR, null, false); } else { //mostra msg logMessage = "Criado campo de Usuário: '" + tableField + "' em '" + tableName; logger.log(logMessage, Logger.LogType.INFO); } System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD); oUserFieldsMD = null; System.GC.Collect(); } } catch (Exception e) { oConnection.Company.GetLastError(out err, out errMsg); logMessage = "Erro ao criar Campo de Usuário: '" + tableField + "' em '" + tableName + "': " + errMsg + " : " + err; logger.log(logMessage, Logger.LogType.ERROR, e); //SB1ControlException.SB1ControlException.Save(e); if (oUserFieldsMD != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD); } oUserFieldsMD = null; System.GC.Collect(); if (oUserFieldsMD != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD); } oUserFieldsMD = null; System.GC.Collect(); } }
/// <summary> /// Create Budget Maintenance UDO /// </summary> public void Create() { //Variables SAPCLASS.UDO oUdo = new SAPCLASS.UDO(); BoYesNoEnum pYes = BoYesNoEnum.tYES; BoYesNoEnum pNo = BoYesNoEnum.tNO; List <FormColumnValues> pFormColumnList = new List <FormColumnValues>(); FormColumnValues pFormColumnListValue = new FormColumnValues(); List <FindColumnValues> pFindColumnList = new List <FindColumnValues>(); FindColumnValues pFindColumnListValue = new FindColumnValues(); List <ChildTableValues> pChildTableList = new List <ChildTableValues>(); ChildTableValues pChildTableListValue = new ChildTableValues(); List <EnhancedColumnValues> pEnhancedColumnList = new List <EnhancedColumnValues>(); EnhancedColumnValues pEnhancedColumnListValue = new EnhancedColumnValues(); //Basic Setting string pUdoCode = "BUDGETMAIN"; string pUdoName = "Budget Maintenance"; BoUDOObjType pUdoType = BoUDOObjType.boud_Document; string pHeader = "BUDGETMAIN"; //Setting Services BoYesNoEnum pCanFind = pYes; BoYesNoEnum pCanDelete = pYes; BoYesNoEnum pCanCancel = pYes; BoYesNoEnum pCanClose = pYes; BoYesNoEnum pCanLog = pNo; BoYesNoEnum pManageSeries = pNo; BoYesNoEnum pYearTransfer = pNo; BoYesNoEnum pCanArchive = pNo; BoYesNoEnum pCanApprove = pNo; //UI Setting BoYesNoEnum pCreateDeafaultForm = pYes; BoYesNoEnum pIsEnhancedForm = pNo; BoYesNoEnum pIsMenuItem = pNo; string pMenuCaption = ""; int pFathermenuID = 0; int paramPosition = 0; string pMenuUId = ""; //Setting the fields for Find Column pFindColumnList.Add(new FindColumnValues { ColumnAlias = "DocEntry", ColumnDescription = "DocEntry" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "DocNum", ColumnDescription = "DocNum" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_BudgetCode", ColumnDescription = "Budget Code" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_BudgetDes", ColumnDescription = "Budget Description" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_NgasCode", ColumnDescription = "NGAS Code" }); pFindColumnList.Add(new FindColumnValues { ColumnAlias = "U_NgasDesc", ColumnDescription = "NGAS Description" }); //Setting the fields for Form Column pFormColumnList.Add(new FormColumnValues { ColumnAlias = "DocEntry", ColumnDescription = "DocEntry" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "DocNum", ColumnDescription = "DocNum" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_BudgetCode", ColumnDescription = "Budget Code" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_BudgetDes", ColumnDescription = "Budget Description" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_NgasCode", ColumnDescription = "NGAS Code" }); pFormColumnList.Add(new FormColumnValues { ColumnAlias = "U_NgasDesc", ColumnDescription = "NGAS Description" }); //Set enhanced Column service value BoYesNoEnum pIsUniqueForm = pYes; oUdo.Create( //Basic Setting pUdoCode, pUdoName, pUdoType, pHeader, //Setting Services pCanFind, pCanDelete, pCanCancel, pCanClose, pCanLog, pManageSeries, pYearTransfer, pCanArchive, pCanApprove, //UI Setting pCreateDeafaultForm, pIsEnhancedForm, pIsMenuItem, pMenuCaption, pFathermenuID, paramPosition, pMenuUId, //Setting the Fields for the form columns pFormColumnList, //Setting the Fields for the find columns pFindColumnList, //Linking child user tables pChildTableList, //Setting the fields for Enhance Column pEnhancedColumnList, //Set enhanced Column service value pIsUniqueForm ); }
private void CreateUDO(string udoName, string udoCode, BoUDOObjType udoType, string headerTableName, List <String> childTables, BoYesNoEnum isMenuItem, string menuCaption, int fatherMenuId, int menuPosition, BoYesNoEnum canCancel = BoYesNoEnum.tYES, BoYesNoEnum canClose = BoYesNoEnum.tNO, BoYesNoEnum canCreateDefaultForm = BoYesNoEnum.tYES, BoYesNoEnum canDelete = BoYesNoEnum.tYES, BoYesNoEnum canFind = BoYesNoEnum.tYES, BoYesNoEnum canLog = BoYesNoEnum.tYES, BoYesNoEnum canYearTransfer = BoYesNoEnum.tNO) { try { if (!(AddOnUtilities.UDOExist(udoName))) { UserObjectsMD UDO = (UserObjectsMD)AddOnUtilities.oCompany.GetBusinessObject(BoObjectTypes.oUserObjectsMD); //Set Services // TODO: use optional params for properties below UDO.CanCancel = canCancel; UDO.CanClose = canClose; UDO.CanCreateDefaultForm = canCreateDefaultForm; UDO.CanDelete = canDelete; UDO.CanFind = canFind; UDO.CanLog = canLog; UDO.CanYearTransfer = canYearTransfer; UDO.TableName = headerTableName; UDO.FormColumns.SonNumber = childTables.Count; UDO.EnableEnhancedForm = BoYesNoEnum.tYES; // To show Header Line Style UDO.Code = udoCode; UDO.Name = udoName; UDO.ObjectType = udoType; //Display columns UDO.FormColumns.FormColumnAlias = "Code"; UDO.FormColumns.FormColumnDescription = "Code"; UDO.FormColumns.Editable = BoYesNoEnum.tYES; UDO.FormColumns.Add(); UDO.FormColumns.FormColumnAlias = "U_User"; UDO.FormColumns.FormColumnDescription = "User"; UDO.FormColumns.Editable = BoYesNoEnum.tYES; UDO.FormColumns.Add(); //UDO.FormColumns.FormColumnAlias = "U_Dimension1"; //UDO.FormColumns.FormColumnDescription = "Dimension 1"; //UDO.FormColumns.Add(); //UDO.FormColumns.FormColumnAlias = "U_Dimension2"; //UDO.FormColumns.FormColumnDescription = "Dimension 2"; //UDO.FormColumns.Add(); //Columns to be used in find mode UDO.FindColumns.ColumnAlias = "Code"; UDO.FindColumns.ColumnDescription = "Code"; UDO.FindColumns.Add(); UDO.FindColumns.ColumnAlias = "U_User"; UDO.FindColumns.ColumnDescription = "User"; UDO.FindColumns.Add(); // Set UDO to have a menu UDO.MenuItem = isMenuItem; UDO.MenuCaption = menuCaption; // Set father and gnment of menu item. UDO.FatherMenuID = fatherMenuId; UDO.Position = 1; // Set UDO menu UID UDO.MenuUID = "UserDimension"; //Link with child tables. foreach (var childTable in childTables) { UDO.ChildTables.TableName = childTable; UDO.ChildTables.Add(); } int RetCode = UDO.Add(); if (RetCode != 0) { string errMsg = AddOnUtilities.oCompany.GetLastErrorDescription(); MessageBox.Show("Failed to add UDO"); } System.Runtime.InteropServices.Marshal.ReleaseComObject(UDO); } } catch (Exception ex) { AddOnUtilities.MsgBoxWrapper(ex.Message + " " + ex.StackTrace); SAPbouiCOM.EventForm e = null; } }
internal static int UpdateCampo(string nomeTabela, string nomeCampo, int tamanho, BoYesNoEnum mandatory, string descricaoCampo, string valorPadrao, List <ValoresValidos> valoresValidos) { int intRetCode = -1; SAPbobsCOM.UserFieldsMD objUserFieldsMD = null; //instancia objeto para alterar campo objUserFieldsMD = (UserFieldsMD)B1AppDomain.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); if (objUserFieldsMD.GetByKey(nomeTabela, idCampo(nomeCampo, nomeTabela))) { //seta propriedades objUserFieldsMD.EditSize = tamanho; objUserFieldsMD.Mandatory = mandatory; objUserFieldsMD.Description = descricaoCampo; objUserFieldsMD.DefaultValue = valorPadrao; objUserFieldsMD.AddValidValues(valoresValidos); //Atualiza Campos campo intRetCode = objUserFieldsMD.Update(); //verifica e retorna erro if (intRetCode != 0 && intRetCode != -2035) { B1Exception.throwException("MetaData.CriaCampos: ", new Exception(B1AppDomain.Company.GetLastErrorDescription())); } } //mata objeto para reutilizar senao trava Marshal.FinalReleaseComObject(objUserFieldsMD); objUserFieldsMD = null; GC.Collect(); return(intRetCode); }
internal static int AddCampo(string nomeCampo, string nomeTabela, BoFieldTypes tipoCampo, BoFldSubTypes subTipo, int tamanho, BoYesNoEnum mandatory, string descricao, string valorPadrao, List <ValoresValidos> valoresValidos, Tipos.TipoTabela tipoTabela, string nomeUdoReferencia = "", string nomeTabelaReferencia = "") { int intRetCode = -1; SAPbobsCOM.UserFieldsMD objUserFieldsMD = null; //instancia objeto para criar campo objUserFieldsMD = (UserFieldsMD)B1AppDomain.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); //seta propriedades objUserFieldsMD.Name = nomeCampo; objUserFieldsMD.TableName = tipoTabela == Tipos.TipoTabela.Usuario ? "@" + nomeTabela : nomeTabela; objUserFieldsMD.Type = tipoCampo; objUserFieldsMD.SubType = subTipo; objUserFieldsMD.EditSize = tamanho; objUserFieldsMD.Mandatory = (BoYesNoEnum)mandatory; objUserFieldsMD.Description = descricao; objUserFieldsMD.AddValidValues(valoresValidos); if (!string.IsNullOrEmpty(nomeUdoReferencia)) { objUserFieldsMD.LinkedUDO = nomeUdoReferencia; } if (!string.IsNullOrEmpty(nomeTabelaReferencia)) { objUserFieldsMD.LinkedTable = nomeTabelaReferencia; } objUserFieldsMD.DefaultValue = valorPadrao; //adiciona campo intRetCode = objUserFieldsMD.Add(); //verifica e retorna erro if (intRetCode != 0 && intRetCode != -2035) { B1Exception.throwException("MetaData.CriaCampos: ", new Exception(B1AppDomain.Company.GetLastErrorDescription())); } //mata objeto para reutilizar senao trava Marshal.FinalReleaseComObject(objUserFieldsMD); objUserFieldsMD = null; GC.Collect(); return(intRetCode); }
public void CriaCampo(Company oCompany, string sTabela, string sCampo, string sDescricao, BoFieldTypes Tipo, BoFldSubTypes SubTipo, int iComprimento, BoYesNoEnum Obrigatorio, bool bValorPadrao, string sValorPadrao, bool bValoresValidos, string[,] sValoresValidos, out string sMensagem) { sMensagem = string.Empty; try { if (!VerificaExistenciaCampo(oCompany, sTabela, sCampo)) { int lErrCode; string lErrStr; int lRetVal; UserFieldsMD oUserFieldMD = null; //Limpa a memória oUserFieldMD = (UserFieldsMD)oCompany.GetBusinessObject(BoObjectTypes.oUserFields); System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldMD); oUserFieldMD = null; GC.Collect(); oUserFieldMD = (UserFieldsMD)oCompany.GetBusinessObject(BoObjectTypes.oUserFields); oUserFieldMD.TableName = sTabela; oUserFieldMD.Name = sCampo; oUserFieldMD.Description = sDescricao; oUserFieldMD.Type = Tipo; oUserFieldMD.SubType = SubTipo; oUserFieldMD.Mandatory = Obrigatorio; if (bValoresValidos) { for (int i = 0; i < sValoresValidos.GetLength(0); i++) { oUserFieldMD.ValidValues.Value = sValoresValidos[i, 0]; oUserFieldMD.ValidValues.Description = sValoresValidos[i, 1]; oUserFieldMD.ValidValues.Add(); } } if (bValorPadrao) { oUserFieldMD.DefaultValue = sValorPadrao; } if (iComprimento > 0) { oUserFieldMD.Size = iComprimento; } lRetVal = oUserFieldMD.Add(); if (lRetVal != 0) { oCompany.GetLastError(out lErrCode, out lErrStr); sMensagem = string.Format("Falha! Descricao B1: {0} - Codigo Erro B1: {1}", lErrStr, lErrCode.ToString()); } else { sMensagem = string.Format("Campo {0} - {1}, criado com sucesso..", sCampo, sDescricao); } //Limpa a Memória System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldMD); oUserFieldMD = null; GC.Collect(); } } catch (Exception ex) { sMensagem = string.Format("Erro ao criar Tabela/Campos SAP, Erro: {0}", ex.Message); } }