套打.二开案例.动态显示总页码
【场景】同一个模板,有时候不需要总页码,有时候又需要;
历史是指导客户使用多个模板处理的,但是当模板数较多时不好处理
【案例】采购合同打印时,按需显示总页码
<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)
套打.二开案例.动态显示总页码
【场景】同一个模板,有时候不需要总页码,有时候又需要;历史是指导客户使用多个模板处理的,但是当模板数较多时不好处理【案例】采购合同...
点击下载文档
上一篇:单据转换.常见问题.较小的小数的处理下一篇:如何校验物料分组编码固定长度
本文2024-09-16 18:32:25发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22807.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章