SAP B1 Addon 调用系统标准水晶报表 打印

阅读量:1054 2022-02-12 SAP B1 Addon 调用系统标准水晶报表 打印

知识分享不易,转载请标注来源:http://www.blenderkou.top/contents/10/6328.html
版权申明:欢迎转载,但请注明出处。
一些博文中的参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。


// Addon 水晶报表 打印

 

Demo为:C#

 

//1、创建 打印Type   SDK  :ReportTypesService Object ,该步骤是往 RTYP 表 中插入数据 Addon 打印的Code 自动从A001编号

 

SAPbobsCOM.ReportTypesService rptTypeService = (SAPbobsCOM.ReportTypesService)_company.GetCompanyService().GetBusinessService(SAPbobsCOM.ServiceTypes.ReportTypesService);
SAPbobsCOM.ReportType newType = (SAPbobsCOM.ReportType)rptTypeService.GetDataInterface(SAPbobsCOM.ReportTypesServiceDataInterfaces.rtsReportType);
newType.TypeName = "test4";
newType.AddonName = "Addon";
newType.AddonFormType = "UDO_FT_BL_OWOR";
newType.MenuID = "435200001";
SAPbobsCOM.ReportTypeParams newTypeParam = rptTypeService.AddReportType(newType);

 

注意:如上代码只能在初始化时执行,否则会创建多个打印对象

也可以使用如下SQL语句直接往数据库中插入:

INSERT INTO  [RTYP]
               ([CODE]
               ,[NAME]
               ,[DEFLT_REP]
               ,[ADD_NAME]
               ,[FRM_TYPE]
               ,[MNU_ID]
               ,[IS_SYS]
               ,[DEFLT_SEQ]
               ,[TYPE])
     VALUES
               (
    	        'A001'
    		,N'Addon-质检'
    		,NULL
    		,'AddonShow'
    		,'2100011100'
    		,'10010020600'
    		,'N'
    		,NULL
    		,'L'
               )

//2、窗体初始化时 设置 Form 的 ReportType ,注意:ReportType的值需要与上一步创建 的RTYP中的 Code 值一致

 

public override void OnInitializeComponent()
     
{
       this.UIAPIRawForm.ReportType = "A006";
           
            this.OnCustomInitialize();
}

 

 

//3、监控打印事件,并给打印模板传参数 SDK : LayoutKeyEvent Event

 

 

SBO_Application.LayoutKeyEvent += new SAPbouiCOM._IApplicationEvents_LayoutKeyEventEventHandler(SBO_Application_LayoutKeyEvent);
 
public void SBO_Application_LayoutKeyEvent(ref SAPbouiCOM.LayoutKeyInfo eventInfo, out bool BubbleEvent)
        {
            BubbleEvent = false;
            string ReportTemplateStr=eventInfo.ReportTemplate.ToString().Substring(0,4); //实测,ReportTemplate的值是 RTYP中的 Code + 流水号,所以取前4位
 
            if (ReportTemplateStr == "A006")
            {
                eventInfo.LayoutKey = "1"; //传入打印模板的参数,该字段的值应该动态回去当前单据的主键值,如:DocEntry 或   Code
            }
            BubbleEvent = true;
        }

 

效果:

注意:预览/打印前必须设置默认打印格式!!!!!

099a9bf642f8bb7022b19218a6fa84b.png


6aef0bac180036fb73ca32a96a41195.png

7bf093351a2ef07f7c24a65e930ce4c.png


更多好文:

SAPB1-开发成果-4 DelBOMAddOn[批量删除BOM]

SAP B1 库存明细表:批次、序列、库位 [HANA & SQL 通用] 

SAP B1 SQL Server 版的 Fiori 主题
SAP Business One 10.0 发布了!
SAP B1 查询管理器条件参数

SAP B1邮件通知 —— 让申请者第一时间获取采购进度

SAP Business One RFQ (联机报价单)
SAP HANA学院 视频汇总与分类
SAP B1业务流程展现方案[仪表盘]
SAP B1在线试用

SAP B1 各版本官方包下载

SAP B1 移动端配置教程


前往www.blenderkou.top 获取更多内容。


关注.png

扫描二维码,关注我的公众号,第一时间获取文章!


知识分享不易,转载请标注来源:http://www.blenderkou.top/contents/10/6328.html
版权申明:欢迎转载,但请注明出处。
一些博文中的参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。

上一篇
Addon Show 2.0 SAP Business One 报表增强插件

下一篇
SAP B1 Addon 的 {632F4591-AA62-4219-8FB6-22BCF5F60090} 错误