帆软报表打印时间记录

我想获取帆软报表的打印时间,就是按下确认打印的按钮的时间,然后把这个时间传到后台数据库,这个需要怎么做?

image.png

FineReport 帆软用户p9k8MX4NIW 发布于 2025-4-30 08:57 (编辑于 2025-4-30 09:03)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
iQianLv4初级互助
发布于2025-4-30 09:35(编辑于 2025-4-30 09:38)

根本就做不到,帆软的打印实际是 触发 浏览器的打印功能。你只能获取到 帆软里触发打印的时间。根本就获取不到实际打印时间。而且用户还不一定 就直接打印了,有可能取消打印,这些不属于帆软的范围,没法监控的。

  • Doctor_Wei Doctor_Wei 很透彻
    2025-04-30 10:03 
  • 帆软用户p9k8MX4NIW 帆软用户p9k8MX4NIW(提问者) 就是我图中按钮的点击时间呢?这个没办法获取吗?
    2025-04-30 10:35 
  • iQian iQian 回复 帆软用户p9k8MX4NIW(提问者) 取不到的,除非自己做一个按钮 能跳过预览,直接就调起打印机的打印操作。不过这好像不太可能。
    2025-04-30 17:51 
最佳回答
0
LTC朝Lv6高级互助
发布于2025-4-30 08:59(编辑于 2025-4-30 09:02)

自定义打印按钮,使用JS获取当前时间:

(1)JS 调用 FR 打印方法:https://help.fanruan.com/finereport/doc-view-1071.html

(2)js获取当前时间js:

Date.prototype.Format = function (fmt) { // author: meizz

  var o = {

    "M+": this.getMonth() + 1, // 月份

    "d+": this.getDate(), // 日

    "h+": this.getHours(), // 小时

    "m+": this.getMinutes(), // 分

    "s+": this.getSeconds(), // 秒

    "q+": Math.floor((this.getMonth() + 3) / 3), // 季度

    "S": this.getMilliseconds() // 毫秒

  };

  if (/(y+)/.test(fmt))

    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));

  for (var k in o)

    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));

      return fmt;

}

var a=new Date().Format("yyyy-MM-dd hh:mm:ss");//a就是当前时间

最佳回答
0
华莉星宸Lv7专家互助
发布于2025-4-30 09:07(编辑于 2025-4-30 09:08)

直接配置打印后事件

提交入库就行了

image.png

  • 帆软用户p9k8MX4NIW 帆软用户p9k8MX4NIW(提问者) 主键我设置的单元格组,当查询结果只有一行时,能正确获取打印时间,查询结果有多行的时候,就无法获取值了,你知道这个怎么解决吗?
    2025-04-30 11:08 
  • 4关注人数
  • 57浏览人数
  • 最后回答于:2025-4-30 09:38
    请选择关闭问题的原因
    确定 取消
    返回顶部