套打.二开案例.动态显示总页码

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

套打.二开案例.动态显示总页码

【场景】同一个模板,有时候不需要总页码,有时候又需要; 历史是指导客户使用多个模板处理的,但是当模板数较多时不好处理 【案例】采购合同打印时,按需显示总页码 <0>增加套打单据头动态字段(用作数据包增加一个项,也可以直接写插件) ![Image_20230222180136.webp](/download/01000fb52a262f7744a981c7248191b2e7bc.webp) <1>套打插件,按需给动态字段赋值,为页面占位符 ```csharp using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using System; namespace DynamicFormPlugIn.Test { [Kingdee.BOS.Util.HotUpdate] [System.ComponentModel.Description("测试插件")] public class TestBillFormPlugIn : AbstractBillPlugIn { private bool ShowPageTotal = false; public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); ShowPageTotal = false; if (!string.Equals(e.BarItemKey, "BHR_tbButton_3", StringComparison.OrdinalIgnoreCase)) { ShowPageTotal = true; } } public override void OnPrepareNotePrintData(PreparePrintDataEventArgs e) { base.OnPrepareNotePrintData(e); if (!string.Equals(e.DataSourceId, "FBillHead", StringComparison.OrdinalIgnoreCase)) return; if (e.DataObjects == null || e.DataObjects.Length <= 0) return; if (!ShowPageTotal) return; for (int i = 0; i < e.DataObjects.Length; ++i) { var billObj = e.DataObjects[i]; if (billObj == null) continue; if (!billObj.DynamicObjectType.Properties.ContainsKey("kd_page")) continue; billObj["kd_page"] = "第GetPageNumber()页,共GetPageTotal()页"; } } } } ``` 【效果】 ![63f5e6c889e87100013f6c9c.webp](/download/0100a1ef4526ccae488b949ad1a9dbef4e58.webp) ![63f5e6fa867c7d0001af10cc.webp](/download/01000ae8dea8e08d4d33b1b2d60816ddd08b.webp)

套打.二开案例.动态显示总页码

【场景】同一个模板,有时候不需要总页码,有时候又需要;历史是指导客户使用多个模板处理的,但是当模板数较多时不好处理【案例】采购合同...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息