C# 如何使用c打开SAP Business One报表查看器#
我正在创建一个插件,它将从BP Master打开一个Crystal报告,将有一个按钮打开该报告。但我无法调用默认的SAP B1 Report viewrr。有人能告诉我吗?你试过C# 如何使用c打开SAP Business One报表查看器#,c#,crystal-reports,sapb1,C#,Crystal Reports,Sapb1,我正在创建一个插件,它将从BP Master打开一个Crystal报告,将有一个按钮打开该报告。但我无法调用默认的SAP B1 Report viewrr。有人能告诉我吗?你试过Application.SBO\u Application.ActivateMenuItem(“519”)
Application.SBO\u Application.ActivateMenuItem(“519”)在按钮上单击事件?是,但如何传递参数?尝试获取活动表单Application.SBO_Application.Forms.ActiveForm
,并完成编辑文本。当参数窗体打开时,它们的ID将始终相同,然后单击(
)按钮((将按钮
分配给Ok按钮后,其ID也将永远不会更改)以接受参数。这不是一项漂亮的任务,但这是我现在采取的一段时间的方法。对于9.3,我还没有在UI方面找到更漂亮的东西。你能将示例代码标记为正确的答案吗(即使是你的,这也是正确的方法)当然我会标记&谢谢你的帮助
public static bool Layout_Preview(string ReportName, string First_Parameter)
{
Recordset oRS = (Recordset)SBOC_SAP.G_DI_Company.GetBusinessObject(BoObjectTypes.BoRecordset);
oRS.DoQuery("SELECT MenuUID FROM OCMN WHERE Name = '" + ReportName + "' AND Type = 'C'");
SAPbouiCOM.Form form = null;
if (oRS.RecordCount > 0)
{
string MenuID = oRS.Fields.Item(0).Value.ToString();
SBOC_SAP.G_UI_Application.ActivateMenuItem(MenuID);
form = SBOC_SAP.G_UI_Application.Forms.ActiveForm;
((EditText)form.Items.Item("1000003").Specific).String = First_Parameter;
form.Items.Item("1").Click(BoCellClickType.ct_Regular);
return true;
}
else
{
SBOC_SAP.G_UI_Application.MessageBox("Report layout 'ReportName' not found.", 0, "OK", null, null);
return false;
}
}