将VB表单连接到SAP B1客户端

2020-09-27 00:18发布

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

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


嗨,我是树汁b1的新手

我想知道如何在不使用SAP b1 studio的情况下将VB表单链接到sap b1客户端

使用配置工具在SAP B1客户端上在字段中创建表,但是我没有使用向导来创建表单。

使用 VB.net 中的工具制作的表单(到目前为止已知:使用" @_table name" 和" u_fieldname")

示例:

在SAP b1客户端上:已配置表和字段

VB.net 上:使用工具栏创建表单,例如字段的编辑文本, 添加按钮

我想知道如何在不使用SAP B1 Studio的情况下将VB Form编辑文本连接到SAP b1客户端表中的一个字段。

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

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


嗨,我是树汁b1的新手

我想知道如何在不使用SAP b1 studio的情况下将VB表单链接到sap b1客户端

使用配置工具在SAP B1客户端上在字段中创建表,但是我没有使用向导来创建表单。

使用 VB.net 中的工具制作的表单(到目前为止已知:使用" @_table name" 和" u_fieldname")

示例:

在SAP b1客户端上:已配置表和字段

VB.net 上:使用工具栏创建表单,例如字段的编辑文本, 添加按钮

我想知道如何在不使用SAP B1 Studio的情况下将VB Form编辑文本连接到SAP b1客户端表中的一个字段。

付费偷看设置
发送
3条回答
悻福寶寶
1楼 · 2020-09-27 01:07.采纳回答

Dipak,您好

1。 要使用SAP Business One SDK创建表,请执行以下操作:

 SAPbobsCOM.UserTablesMD oUserTablesMD =默认值(SAPbobsCOM.UserTablesMD);
 oUserTablesMD =(SAPbobsCOM.UserTablesMD)SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables);


 如果(!oUserTablesMD.GetByKey(TableName))
 {
     oUserTablesMD.TableType = TableType;
     oUserTablesMD.TableName = TableName;
     oUserTablesMD.TableDescription = TableDesc;
     lRetCode = oUserTablesMD.Add();
     如果(lRetCode!= 0)
     {
         SBO_Company.GetLastError(out lErrCode,out sErrMsg);
         Interaction.MsgBox(sErrMsg,MsgBoxStyle.Critical," ARECO");


         返回(false);
     }
     其他
     {
         ShowMessage(" Table:" + oUserTablesMD.TableName +"已成功添加",SAPbouiCOM.BoStatusBarMessageType.smt_Success);
         Marshal.ReleaseComObject(oUserTablesMD);
         return(true);
     }
 }
 其他
 {
     Marshal.ReleaseComObject(oUserTablesMD);
     return(true);
 }
 

2。 要在表中创建列/字段,您需要使用以下代码:

 SAPbobsCOM.UserFieldsMD oUserFieldsMD = null;
 oUserFieldsMD =(SAPbobsCOM.UserFieldsMD)SBO_Value.SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields);


 字符串表= null;
 如果(TableType!= 1)
 {
     Table =" @" + TableName;
 }
 其他
 {
     Table = TableName;
 }


 如果(!IsFieldExist(Table,FieldName))
 {
     oUserFieldsMD.TableName = TableName;
     oUserFieldsMD.Name = FieldName;
     oUserFieldsMD.Description = FieldDesc;
     oUserFieldsMD.Type = fieldType;
     oUserFieldsMD.SubType = fieldSubType;
     oUserFieldsMD.EditSize = fieldLength;
     oUserFieldsMD.LinkedTable = LinkedTable;
     如果(ValidValues!= null)
     {


         对于(int i = 0; i <= ValidValues.GetLength(0)-1; i ++)
         {
             如果(ValidValues [i,0]!= null)
             {
 oUserFieldsMD.ValidValues.Value = ValidValues [i,0];
 oUserFieldsMD.ValidValues.Description = ValidValues [i,1];
 oUserFieldsMD.ValidValues.Add();
             }
         }
     }


     lRetCode = oUserFieldsMD.Add();
     如果(lRetCode!= 0)
     {
         SBO_Value.SBO_Company.GetLastError(out lErrCode,out sErrMsg);
         Interaction.MsgBox(sErrMsg,MsgBoxStyle.Critical," ARECO");
         返回(false);
     }
     其他
     {
         ShowMessage(oUserFieldsMD.Description +"已在表中成功添加:" + oUserFieldsMD.TableName,SAPbouiCOM.BoStatusBarMessageType.smt_Success);
        //SBO_Value.SBO_Application.MetadataAutoRefresh = true;
         Marshal.ReleaseComObject(oUserFieldsMD);
         return(true);
     }
 }
 其他
 {
     Marshal.ReleaseComObject(oUserFieldsMD);


     return(true);
 }
 

希望有帮助!

亲切的问候,

ANKIT CHAUHAN

SAP SME支持

shere_lin
2楼-- · 2020-09-27 01:00

嗨,

请在您的问题中添加 SAP Business One SDK 标记,以获取更多答案。

此致

Johan

SAP浪
3楼-- · 2020-09-27 01:07

感谢您的回答:)并且也感谢您早先的回答,这也将对以后的我有所帮助:)

一周热门 更多>