首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SAP Business one中创建UDO

在SAP Business one中创建UDO
EN

Stack Overflow用户
提问于 2014-03-20 16:30:58
回答 2查看 5.4K关注 0票数 0

我在SAP Business one中使用SDK创建了UDO,但当我运行该项目时,我找不到默认的表单。

有人能帮我吗?有什么问题吗?

我的代码是:

代码语言:javascript
复制
SAPbobsCOM.UserObjectsMD UDO = 
(SAPbobsCOM.UserObjectsMD)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserObjectsMD);

UDO.Code = "STCONS";
UDO.Name = "StConsignment";
UDO.ObjectType = SAPbobsCOM.BoUDOObjType.boud_Document;
UDO.TableName = "OCONS";
UDO.ChildTables.TableName = "CONS1";
UDO.ChildTables.Add();

// Set UDO to have a form
UDO.CanCreateDefaultForm = SAPbobsCOM.BoYesNoEnum.tYES;
// Set UDO to have a menu 
UDO.MenuItem = SAPbobsCOM.BoYesNoEnum.tYES;
UDO.MenuCaption = "st Consignment";
// Set father and gnment of menu item. 
UDO.FatherMenuID = 2304; 
UDO.Position = 1;
// Set UDO menu UID 
UDO.MenuUID = "st_Cons";



//Set Services
UDO.CanCancel = SAPbobsCOM.BoYesNoEnum.tYES;
UDO.CanClose = SAPbobsCOM.BoYesNoEnum.tYES;
UDO.CanCreateDefaultForm = SAPbobsCOM.BoYesNoEnum.tYES;
UDO.CanDelete = SAPbobsCOM.BoYesNoEnum.tYES;
UDO.CanFind = SAPbobsCOM.BoYesNoEnum.tYES;
UDO.CanLog = SAPbobsCOM.BoYesNoEnum.tNO;
UDO.CanYearTransfer = SAPbobsCOM.BoYesNoEnum.tNO;
UDO.FindColumns.ColumnAlias = "CountDate";
UDO.FindColumns.ColumnDescription = "Count Date";
UDO.FindColumns.Add();
UDO.FindColumns.ColumnAlias = "CardCode";
UDO.FindColumns.ColumnDescription = "CardCode";
UDO.FindColumns.Add();
UDO.FindColumns.ColumnAlias = "WhsCode";
UDO.FindColumns.ColumnDescription = "WhsCode";
UDO.FindColumns.Add();

if (UDO.Add() != 0)
{
    MessageBox.Show("Failed to add UDO");                   
}
EN

回答 2

Stack Overflow用户

发布于 2014-04-16 23:36:38

我刚才也遇到了同样的问题。在关闭并重新启动SAP后,我可以看到新的菜单项。这是版本9,补丁级别7。

还测试了在不重新启动的情况下再次登录。模块>管理>选择公司。再次登录后,菜单项就在那里。

票数 0
EN

Stack Overflow用户

发布于 2014-12-22 03:18:43

在SAP支持的帮助下,这是一个可行的解决方案: SAPbobsCOM.UserObjectsMD oudo = (SAPbobsCOM.UserObjectsMD )(SwissAddonFramework.B1Connector.GetB1Connector().Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserObjectsMD ));if (oudo.GetByKey("Verhuur")==false) { oudo.EnableEnhancedForm = SAPbobsCOM.BoYesNoEnum.tYES;oudo.CanCreateDefaultForm = SAPbobsCOM.BoYesNoEnum.tYES;oudo.CanFind = SAPbobsCOM.BoYesNoEnum.tYES;oudo.ManageSeries = SAPbobsCOM.BoYesNoEnum.tYES;

代码语言:javascript
复制
            oudo.Code = "Verhuur"; 
            oudo.Name = "Verhuur"; 
            oudo.ObjectType = SAPbobsCOM.BoUDOObjType.boud_Document; 
            oudo.TableName = "Verhuur_Kop"; 

            oudo.FatherMenuID = 2048; 
            oudo.MenuCaption = "verhuur"; 
            oudo.MenuUID = "verhuur"; 
            oudo.MenuItem = SAPbobsCOM.BoYesNoEnum.tYES; 

            //For Header 
            oudo.FormColumns.FormColumnAlias = "DocEntry"; 
            oudo.FormColumns.FormColumnDescription = "DocEntry";
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "DocNum";
            oudo.FormColumns.FormColumnDescription = "DocNum";
            //oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FindColumns.ColumnAlias = "DocNum";
            oudo.FindColumns.ColumnDescription = "DocNum";
            oudo.FindColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_DocDate";
            oudo.FormColumns.FormColumnDescription = "DocDate";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_DelDate";
            oudo.FormColumns.FormColumnDescription = "DelDate";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_DocStatus";
            oudo.FormColumns.FormColumnDescription = "DocStatus";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_CardCode"; 
            oudo.FormColumns.FormColumnDescription = "CardCode";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_CardName";
            oudo.FormColumns.FormColumnDescription = "CardName";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_ShipTo";
            oudo.FormColumns.FormColumnDescription = "ShipTo";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_BillTo";
            oudo.FormColumns.FormColumnDescription = "BillTo";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_NumAtCard";
            oudo.FormColumns.FormColumnDescription = "NumAtCard";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_Contact";
            oudo.FormColumns.FormColumnDescription = "Contact";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_PayTerm";
            oudo.FormColumns.FormColumnDescription = "PayTerm";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_PayType";
            oudo.FormColumns.FormColumnDescription = "PayType";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_RentType";
            oudo.FormColumns.FormColumnDescription = "RentType";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_SubTotal";
            oudo.FormColumns.FormColumnDescription = "SubTotal";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_Vat";
            oudo.FormColumns.FormColumnDescription = "Vat";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            oudo.FormColumns.FormColumnAlias = "U_Total";
            oudo.FormColumns.FormColumnDescription = "Total";
            oudo.FormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.FormColumns.Add();

            //For Details 
            oudo.ChildTables.TableName = "Verhuur_Regel";

            oudo.EnhancedFormColumns.ColumnAlias = "U_LineStatus";
            oudo.EnhancedFormColumns.ColumnDescription = "LineStatus";
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.ChildNumber = 1;
            oudo.EnhancedFormColumns.Add(); 

            oudo.EnhancedFormColumns.ColumnAlias = "U_LineType"; 
            oudo.EnhancedFormColumns.ColumnDescription = "LineType"; 
            oudo.EnhancedFormColumns.ColumnIsUsed =SAPbobsCOM.BoYesNoEnum.tYES; 
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES; 
            oudo.EnhancedFormColumns.ChildNumber = 1; 
            oudo.EnhancedFormColumns.Add(); 

            oudo.EnhancedFormColumns.ColumnAlias = "U_ItemCode"; 
            oudo.EnhancedFormColumns.ColumnDescription = "ItemCode"; 
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES; 
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES; 
            oudo.EnhancedFormColumns.ChildNumber = 1; 
            oudo.EnhancedFormColumns.Add(); 

            oudo.EnhancedFormColumns.ColumnAlias = "U_ItemName"; 
            oudo.EnhancedFormColumns.ColumnDescription = "ItemName"; 
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES; 
            oudo.EnhancedFormColumns.Editable= SAPbobsCOM.BoYesNoEnum.tYES; 
            oudo.EnhancedFormColumns.ChildNumber = 1; 
            oudo.EnhancedFormColumns.Add();

            oudo.EnhancedFormColumns.ColumnAlias = "U_Quantity";
            oudo.EnhancedFormColumns.ColumnDescription = "Quantity";
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.ChildNumber = 1;
            oudo.EnhancedFormColumns.Add();

            oudo.EnhancedFormColumns.ColumnAlias = "U_Price";
            oudo.EnhancedFormColumns.ColumnDescription = "Price";
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.ChildNumber = 1;
            oudo.EnhancedFormColumns.Add();

            oudo.EnhancedFormColumns.ColumnAlias = "U_Discount";
            oudo.EnhancedFormColumns.ColumnDescription = "Discount";
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.ChildNumber = 1;
            oudo.EnhancedFormColumns.Add();

            oudo.EnhancedFormColumns.ColumnAlias = "U_VatCode";
            oudo.EnhancedFormColumns.ColumnDescription = "VatCode";
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.ChildNumber = 1;
            oudo.EnhancedFormColumns.Add();

            oudo.EnhancedFormColumns.ColumnAlias = "U_LineTotal";
            oudo.EnhancedFormColumns.ColumnDescription = "LineTotal";
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.ChildNumber = 1;
            oudo.EnhancedFormColumns.Add();

            oudo.EnhancedFormColumns.ColumnAlias = "U_RetDate";
            oudo.EnhancedFormColumns.ColumnDescription = "RetDate";
            oudo.EnhancedFormColumns.ColumnIsUsed = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.Editable = SAPbobsCOM.BoYesNoEnum.tYES;
            oudo.EnhancedFormColumns.ChildNumber = 1;
            oudo.EnhancedFormColumns.Add();


            if (oudo.Add() != 0)
                TextError("error");
            else
                TextOK("ok");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22527346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档