套打常见问题汇总
一.不能设置打印批次
套打新增加了批次功能,按批次取打印数据,以提升打印性能,如果批次数据比总数据小,这时没有计算总页数,所以不能选择页码打印。可以把批 次改大,就可以选择页码范围。在套打设置,参数设置中设置批次,默认值是80,如果打印时超过80也就不能设置页面范围。
二.条码打印有锯齿
解决方案:
1.打印机选项里面(混色)设置成(无色)
2.打印图片选项调成最高分辨率(右键打印机选择打印机首选项),
3.选项里面抖动设置为无,
设置打印机的首选项 另外,调整条码控件的宽度【增加或减少】可以提高扫码器的识别率 |
英文版.webp (12.94 KB, 下载次数: 9)
中文版.webp (13.63 KB, 下载次数: 10)
三.凭证打印提示100页限制
网页版打印的时候做了限制,预览界面的页面设置里可以设置最大可选记录数为10000,单次控制打印页数是100页,是指预览的页数不能超过100页。
这个限制意义在于,避免在IE端做超大数据量的打印。IE对于内存的管理有一定限制,如果数据量太大,会导致IE本身的性能严重下降。
建议:这种大数据的打印最好先导出到Excel文件,下载到本地磁盘编辑后进行选择性打印。或者使用GUI客户端打印。
解决方法:
网页版打印的时候做了限制,预览界面的页面设置里可以设置最大可选记录数为10000,单次控制打印页数是100页,是指预览的页数不能超过100页。
这个限制意义在于,避免在IE端做超大数据量的打印。IE对于内存的管理有一定限制,如果数据量太大,会导致IE本身的性能严重下降。
建议:这种大数据的打印最好先导出到Excel文件,下载到本地磁盘编辑后进行选择性打印。或者使用GUI客户端打印。
四.如何在A4纸张上打印两张凭证
解决方法:
【操作步骤】
1、登录k/3Cloud,点击首页右上方用户名,从下载中心中进入BOS套打设计器,进入后打开【总账】,在右边项目列表中找到【凭证】并选中相应套打模板,点击鼠标右键选择【复制】打开凭证模板编辑界面,点击菜单栏中【页面设置】进行如下操作:(如图-1)
1)纸张选择“A4”,
2)方向选择“纵向”,
3)勾选“纵向节纸打印”,
4)根据需要适当调整上下左右页边距,
5)页{设计区域}高度调整为A4纸高度,点击【确定】后再点击【保存】,模板设置完成; (注:【页面设置】中需勾选“节纸打印按单计算页码”,例如,选择10张凭证,每张凭证只有1页,则勾选此参数后每页页码为1/1,若不勾选则为1/10、2/10······)
图-1 BOS凭证套打模板设置
2、登录k/3Cloud,进入【总账】→【凭证查询】,点击菜单栏【选项】→【套打设置】,在【默认】页签下选择上一步设置的套打模板,并且在【高级】页签下再选择上一步设置的模板,勾选【启用】和【节纸打印】,点击【确定】;(如图-2)
图-2 套打设置
【说明】
1、BOS凭证模板【页面设置】中,“纵向节纸打印”后面的“纵向间距”可以调整A4纸上两张凭证的间距 ;
2、除了在BOS凭证模板【页面设置】中需要勾选“纵向节纸打印”,还需要在凭证查询界面【选项】下【套打设置】高级页签里勾选“启用”和“节纸打印”,此时模板才能生效。
3、如果在凭证查询页面点击【连续套打预览所选单据】弹出对话框要求重新选择套打模板(如图-3),是因为勾选了【选项】下的参数“套打显示选择模板界面”(如图-4),此时若重新选择了模板,可能会使节纸打印不生效,导致一张A4纸只能打印一张凭证,取消勾选此参数即可。
图-3 套打模板选择
图-4 选项参数
五. 表格设置了边框但是部分边框不显示
表格设置边框后,在拖入文本、图片时候,这时文本、图片会覆盖表格的边框,这种情况可以对文本和图片设置边框即可。
六.如何通过插件来对打印数据进行处理
在未发布的cloud 5.0中,我们完善了套打的插件处理接口,应一些客户的要求,3.0的下一个补丁(6.24日)中将会包含此功能。这里我先写两个场景的处理,有此需要的同学请关注。
注意: 如果需要在列表打印时生效,就要写在列表插件(继承自AbstractListPlugin)里面; 单据打印生效就写在单据插件(AbstractBillPlugin)里面, 建议都写,保持一致
/// <summary>
/// 通过重载此方法实现对查询参数的修改
/// 需求: 仅打印数量大于 100 的分录
/// </summary>
/// <param name="e"></param>
public override void OnPrepareNotePrintQueryParam(Core.DynamicForm.PlugIn.Args.PrepareNotePrintQueryParamEventArgs e)
{
if (e.DataSourceId.Equals("单据体Key", StringComparison.OrdinalIgnoreCase))
{
QueryBuilderParemeter parameter = e.QueryParameter;
parameter.FilterClauseWihtKey = "FQty > 100";
}
base.OnPrepareNotePrintQueryParam(e);
}
/// <summary>
/// 需求:合并套打时,将单据编号合并显示,并用’,‘分隔
/// </summary>
/// <param name="e"></param>
public override void OnPrepareNotePrintData(Core.DynamicForm.PlugIn.Args.PreparePrintDataEventArgs e)
{
if (e.DataSourceId.Equals("单据头Key", StringComparison.OrdinalIgnoreCase))
{
if (e.IsMergedPrint)
{
DynamicObject[] qureyObjs = e.DataObjects;
foreach (var obj in qureyObjs)
{
obj["BillNo"] = string.Join(",", e.BillIds);
}
}
}
base.OnPrepareNotePrintData(e);
}
需求: 完全不需要系统取数,插件中自己来构建数据包。
/// <summary>
/// e.QueryParameter = null
/// 表示不需要系统进行查询,数据包由插件提供
/// </summary>
/// <param name="e"></param>
public override void OnPrepareNotePrintQueryParam(Core.DynamicForm.PlugIn.Args.PrepareNotePrintQueryParamEventArgs e)
{
e.QueryParameter = null;
base.OnPrepareNotePrintQueryParam(e);
}
public override void OnPrepareNotePrintData(Core.DynamicForm.PlugIn.Args.PreparePrintDataEventArgs e)
{
//构建新数据包并提供给系统
if (e.DataSourceId.Equals("单据头Key", StringComparison.OrdinalIgnoreCase))
{
e.DataObjects = 新数据包;
e.DynamicObjectType = 新数据包的DynamicObjectType;
}
if (e.DataSourceId.Equals("单据体Key", StringComparison.OrdinalIgnoreCase))
{
e.DataObjects = 新数据包;
e.DynamicObjectType = 新数据包的DynamicObjectType;
}
base.OnPrepareNotePrintData(e);
}
套打常见问题汇总
本文2024-09-23 04:13:58发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-163984.html