点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我绝对是Sap B1编程的初学者,我试图做一个附加程序,以业务伙伴主数据的形式创建一个按钮,并与一个查询相连,该查询为我带来了该BP的所有未清发票, 但我在创建任何项目时发现了此错误。 我已经将构建版本放在x86中。
System.InvalidCastException:无法将类型为" SAPbouiCOM.ItemClass"的Com对象转换为接口类型为" SAPbouiCOM.Button"。 此操作失败是因为由于以下错误而导致IID为'{AC835EFD-8213-4A07-9107-03EF82ED7F9}'的接口的COM组件上的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT的异常:0x80004002(E_NOINTERFACE)) 。 在BottoneQueryBP.Program.SBO_Application_ItemEvent(String FormUID,IteamEvent&pVal,Boolean&BubbleEvent)中位于C:\''directory''\ Program.cs:line 88
有人可以帮我吗?
这是我的Program.cs代码:
使用系统; 使用System.Collections.Generic; 使用SAPbouiCOM.Framework; 使用System.Data; 使用System.Text; 使用System.Data.SqlClient; 使用System.Text.RegularExpressions; 使用prova_query2; 命名空间BottoneQueryBP { 班级计划 { 公共静态SAPbobsCOM.Company SBO_Company; [STAThread] 静态void Main(string [] args) { 尝试 { 应用oApp = null; 如果(args.Length <1) { oApp = new Application(); } 其他 { oApp =新应用程序(args [0]); } 菜单MyMenu = new Menu(); MyMenu.AddMenuItems(); oApp.RegisterMenuEventHandler(MyMenu.SBO_Application_MenuEvent); Application.SBO_Application.AppEvent + =新的SAPbouiCOM._IApplicationEvents_AppEventEventHandler(SBO_Application_AppEvent); Application.SBO_Application.ItemEvent + =新的SAPbouiCOM._IApplicationEvents_ItemEventEventHandler(SBO_Application_ItemEvent); SBO_Company =新的SAPbobsCOM.Company(); SBO_Company =(SAPbobsCOM.Company)Application.SBO_Application.Company.GetDICompany(); SBO_Company.Connect(); VerificheIniziali Verifiche = new VerificheIniziali(); Verifiche.VerificaLicenza(); //Verifiche.VerificaCampi(); Application.SBO_Application.StatusBar.SetText("附加对象",SAPbouiCOM.BoMessageTime.bmt_Short,SAPbouiCOM.BoStatusBarMessageType.smt_Success); oApp.Run(); } 抓住(前例外) { System.Windows.Forms.MessageBox.Show(ex.Message); } } 静态无效SBO_Application_AppEvent(SAPbouiCOM.BoAppEventTypes EventType) { 开关(事件类型) { 案例SAPbouiCOM.BoAppEventTypes.aet_ShutDown: //退出附加组件 System.Windows.Forms.Application.Exit(); 打破; 案例SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged: 打破; 案例SAPbouiCOM.BoAppEventTypes.aet_FontChanged: 打破; 案例SAPbouiCOM.BoAppEventTypes.aet_LanguageChanged: 打破; 案例SAPbouiCOM.BoAppEventTypes.aet_ServerTerminition: 打破; 默认: 打破; } } 静态无效SBO_Application_ItemEvent(字符串FormUID,参考SAPbouiCOM.ItemEvent pVal,输出bool BubbleEvent) { BubbleEvent = true; 如果((pVal.FormType == 139 || pVal.FormType == 134)&& pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD &&!pVal.Before_Action) { 尝试 { Application.SBO_Application.MessageBox(" entrato",1,"确定"); SAPbouiCOM.Form Form139 = Application.SBO_Application.Forms.Item(pVal.FormUID); SAPbouiCOM.Button BTN =(SAPbouiCOM.Button)Form139.Items.Add(" btncast",SAPbouiCOM.BoFormItemTypes.it_BUTTON); SAPbouiCOM.Button BTN1 =(SAPbouiCOM.Button)Form139.Items.Item(" 1")。Specific; BTN1.Item.Top = BTN.Item.Top; BTN1.Item.Left = BTN.Item.Left-100; BTN1.Item.Width = BTN.Item.Width; BTN1.Item.Height = BTN.Item.Height; BTN.Caption =" PROVA"; } 抓住(前例外) { Application.SBO_Application.MessageBox(ex.ToString()); } } } } }
毛罗,你好
您无法将项目转换为按钮,请尝试使用
代替
嗨,先生。 谢尔盖·特拉夫金(Sergei Travkin),
感谢您的回答。 现在可以了。 :)
一周热门 更多>