SAP B1系统表单修改

2020-09-01 21:53发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我想修改员工主数据。 为此,我将表格转至SAP Businees One Studio,添加了一个选项卡文件夹,项目并创建了一个.srf文件。

现在我想在SAP B1中显示修改后的系统表单。

公共静态无效createSystemFormStudio(string fileName)
         {
             System.Xml.XmlDocument oXMLDoc;


             oXMLDoc =新的System.Xml.XmlDocument();
             oXMLDoc.Load(" ../../" + fileName +" .srf");


             SAPbouiCOM.Framework.Application.SBO_Application.LoadBatchActions(oXMLDoc.InnerXml);
         }
  

我使用了这段代码,但这给了我一个错误

"其他信息:表单-保留/非法的表单唯一ID。表单唯一ID:'F_21'"。

我该如何解决此问题。

感谢您的帮助。

问候。

Ahmet

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我想修改员工主数据。 为此,我将表格转至SAP Businees One Studio,添加了一个选项卡文件夹,项目并创建了一个.srf文件。

现在我想在SAP B1中显示修改后的系统表单。

公共静态无效createSystemFormStudio(string fileName)
         {
             System.Xml.XmlDocument oXMLDoc;


             oXMLDoc =新的System.Xml.XmlDocument();
             oXMLDoc.Load(" ../../" + fileName +" .srf");


             SAPbouiCOM.Framework.Application.SBO_Application.LoadBatchActions(oXMLDoc.InnerXml);
         }
  

我使用了这段代码,但这给了我一个错误

"其他信息:表单-保留/非法的表单唯一ID。表单唯一ID:'F_21'"。

我该如何解决此问题。

感谢您的帮助。

问候。

Ahmet

付费偷看设置
发送
4条回答
何必丶何苦呢
1楼 · 2020-09-01 22:30.采纳回答

嗨艾哈迈德,

您可以执行以下操作:

在B1 Studio中编辑系统表单。

然后将您的更改导出为更新部件。

此后,您可以在加载项中使用此新的xml部分,其代码如下:(仅作为示例)

 private void SBO_Application_ItemEvent(字符串FormUID,请参阅SAPbouiCOM.ItemEvent pVal,请参见bool BubbleEvent)
 {
 BubbleEvent = true;
            
         如果(pVal.FormType == 60100&pVal.EventType!= SAPbouiCOM.BoEventTypes.et_FORM_UNLOAD && pVal.Before_Action == true)
         {
         oOrderForm = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType,pVal.FormTypeCount);
 
                 如果(pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD && pVal.Before_Action == true)
                 {
                     UpdateFormByXML(" yourPartXml.xml",pVal.FormUID);
                 }
 }
 }
 
 私有无效UpdateFormByXML(字符串sFileName,字符串sFormUID)
 {
 尝试
 {
                 字符串sXPath =" Application//forms//action//form//@ uid";
                 字符串sPath = System.Environment.CurrentDirectory +" \\";
 
                 XmlDocument xDoc =新的XmlDocument();
 
                 xDoc.Load(sPath + sFileName);
 
                 XmlNode xNode = xDoc.SelectSingleNode(sXPath);
                 xNode.InnerText = sFormUID;
 
                 字符串sXML = xDoc.InnerXml.ToString();
 
                 SBO_Application.LoadBatchActions(ref sXML);
 }
 抓住(前例外)
 {
 SBO_Application.SetStatusBarMessage(ex.Message,SAPbouiCOM.BoMessageTime.bmt_Short,true);
 }
 }
 

PS:以上代码由Owen Slater在以下主题中提供: https://archive。 sap.com/discussions/thread/827583

希望有帮助。

亲切的问候,

迭戈兄弟

三十六小时_GS
2楼-- · 2020-09-01 22:34

你是最好的。

nice_wp
3楼-- · 2020-09-01 22:23

嗨迭戈,

我提出了您的建议,我创建了一个按钮,选项卡文件夹以及名为" Bordro"的选项卡项目。

当我运行addOn时

显示按钮,但不显示选项卡文件夹。

如何以系统形式显示我的Tab文件夹。

感谢您的帮助。

问候。

Ahmet

浮生未央
4楼-- · 2020-09-01 22:47

啊!

我解决了:)

我只是将GroupWith函数放到了我的选项卡文件夹中。

感谢您对迭戈的帮助。

致谢

Ahmet

一周热门 更多>