阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 3106|回复: 5

[求助] 求通达工作流报表自定义公式的格式与写法?

[复制链接]
  • TA的每日心情
    开心
    2016-11-28 02:31
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2011-12-25 23:45:40 | 显示全部楼层 |阅读模式
    10阳光币
    我想知道系统管理---工作流设置----报表设置----编辑报表中若统计方式选择“按分组列出详情”在添加的字段中就有一项“自定义公式”,这个东西怎么使用,有哪些公式??比如我想把查询到的结果中的某一字段(字段名:金额)数值进行合计,能达到这个功能吗?具体公式怎么写?

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2016-11-28 02:31
  • 签到天数: 37 天

    [LV.5]常住居民I

     楼主| 发表于 2011-12-26 16:54:47 | 显示全部楼层
    自己顶自己一下吧,这么多高手难道没有一个人会这个吗?
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2016-12-8 09:43
  • 签到天数: 252 天

    [LV.8]以坛为家I

    发表于 2011-12-27 19:31:19 | 显示全部楼层
    /**
    *从这里开始编写脚本,脚本采用PHP语法:
    * 1、采用Unified ODBC系列函数访问数据源,连接字用[$数据源标志符]表示,例如$rlzy。
    * 2、报表数据引用方式为[@模版编号.表名.字段名],例如:@REP01.项目.单价。
    * 3、报表数据填充方式为[值]->[模版编号.表名.字段名],同记录不同字段用","分隔,
    * 不同记录用";"分隔,例如:a->REP01.项目.名称,4->REP01.项目.单价; b->REP01.项目.名称,
    * 7->REP01.项目.单价。
    */
    $sql="SELECT USER_ID,USER_NAME from user";
    $resid=exequery($connection, $sql);
    $res="RA";
    while($row = mysql_fetch_array($resid))
    {
    $res .= ";".$row["USER_ID"]."->本报表.test_xingming.用户ID".",".$row["USER_NAME"]."->本报表.test_xingming.姓名";
    }
    print($res);

    ?>

    主要看那个sql语句:"SELECT USER_ID,USER_NAME from user"
    如果你想引用本模板的已建好的表单,一定要确认这个数据是在数据库中哪个表中,一般为 模板中的表对应数据库里的表 crs_tabledata***,确定好后,再用一个where语句,唯一确定一行或多行:
    SELECT 字段1,字段2 from crs_tabledata*** where 字段3="张三"
    这样就出来数据了,再组合成规定格式,填充到本模板字段中。
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2016-12-8 09:43
  • 签到天数: 252 天

    [LV.8]以坛为家I

    发表于 2011-12-27 19:31:53 | 显示全部楼层
    /**
    *从这里开始编写脚本,脚本采用PHP语法:
    * 1、采用Unified ODBC系列函数访问数据源,连接字用[$数据源标志符]表示,例如$rlzy。
    * 2、报表数据引用方式为[@模版编号.表名.字段名],例如:@REP01.项目.单价。
    * 3、报表数据填充方式为[值]->[模版编号.表名.字段名],同记录不同字段用","分隔,
    * 不同记录用";"分隔,例如:a->REP01.项目.名称,4->REP01.项目.单价; b->REP01.项目.名称,
    * 7->REP01.项目.单价。
    */
    $sql="SELECT USER_ID,USER_NAME from user";
    $resid=exequery($connection, $sql);
    $res="RA";
    while($row = mysql_fetch_array($resid))
    {
    $res .= ";".$row["USER_ID"]."->本报表.test_xingming.用户ID".",".$row["USER_NAME"]."->本报表.test_xingming.姓名";
    }
    print($res);

    ?>


    1.先通过一个计算公式把当前用户放到一个单元格中,例如该字段为“用户名称”字段
    在自定义公式中,用 本报表.主表.用户名称 来引用
    2.无法刷新
    3.在报表中,模板中每个主表或明细表在数据库中都有对应的表,比如 crs_tabledata***
    先找到你的明细表对应的具体表,比如 crs_tabledata100
    那么在自定义公式中:
    $sql="SELECT * from crs_tabledata100";
    然后通过对结果进行遍历,构造结果 $res 并输出即可。
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2016-11-28 02:31
  • 签到天数: 37 天

    [LV.5]常住居民I

     楼主| 发表于 2011-12-30 09:31:27 | 显示全部楼层
    qiqiang 发表于 2011-12-27 19:31
    /**
    *从这里开始编写脚本,脚本采用PHP语法:
    * 1、采用Unified ODBC系列函数访问数据源,连接字用[$数据 ...

    能不能把详细说明书和教程发一下
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    难过
    2014-1-10 16:03
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2013-12-26 23:42:10 | 显示全部楼层
    能不能把详细说明书和教程发一下
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表