找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 15628|回复: 58

[技巧] U6小经验跟大家分享

  [复制链接]
发表于 2008-3-30 23:13:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
这个坛子真是高手如云啊,雕虫小技实在不敢献丑,不过看到还是有很多想学和初学用友软件的朋友,还是抱着
抛砖引玉的态度总结一下今天自己解决一个客户问题的过程。希望对大家都帮助。

问题描述:
    应收明细账查询条件选择客户A,日期区间为3-3,查询后出现一条记录,日期为6月34日,收付两栏都有
金额。

问题分析:
    这类的报表都是用报表控件开发的,系统在tempdb库生成一个名为AP。。。。的临时表,然后报表控件把这个
临时表的数据读出,然后在前端进行小记和分组汇总等运算,最后展示出来。
    理解这一层了以后,就可以对问题的根源进行分析。
    首先打开这个报表,这时报表展现出来,错误的数据也包含在其中。
    然后进入企业管理器,在tempdb库中找到那个临时表,检查数据有没有问题。并没有发现iMonth字段为6iDay
字段为34的记录,那证明原始数据的生成时没有问题的,问题出在报表生成的过程中。我又看了一下报表展示的两栏
金额,发现这两个数据分别属于两条记录。并且这两条记录的月份都为3,日期分别为11和23。日月分别正好等于6-34
熟悉SQL语法的朋友自然就联想到了,是GROUP BY的后缀出了问题,日、月字段的分组汇总方式也不对,不应该是sum。
    现在是select sum(iMonth),sum(iDay),sum(AA)... from tempAp88888 ....group by AA...
导致当其他分组条件相同时,对iMonth,iDay进行了求和,那么只要不对他们求和就可以了。但是从sql语法可以知
道,不包含在聚合函数中的列是要放在group by之后的。报表分组运算是否把某列放到GroupBy后取决于报表格式设
置中的“分组”选项。
    基于以上理论基础,开始解决问题。

解决方案:
    进入报表的格式设置,第一眼就发现iMonth和iDay的备注都是Sum,显然不是我想要的,删掉备注的值。
    然后发现“分组”项都是不能分组,那意味着列不会被放到Group By之后,改成“分组”。
    关闭模块,重新查询,正确的结果已经出现。但是美中不足是在选择查询条件的时候月和日的分组汇总状
态是可选的,也就是说客户可能会自己改成不分组,遇到矫情的客户还不好解释,那就比较郁闷了。
    哈哈,这么解决。进入格式设置,设置iMonth和iDay的备注为GroupHold,顾名思义,就是分组状态锁
定了。客户想改也改不了,再问就告诉他,用友公司就是这么规定的,这个必选。就OK了。

    U6的自定义报表是个非常灵活的工具,大家要是有兴趣可以深入研究研究,一定会有意想不到的收获哦。

评分

参与人数 1金币 +20 魅力 +10 收起 理由
监守自盗 + 20 + 10 原创内容

查看全部评分

发表于 2008-5-5 16:22:07 | 显示全部楼层
不错  沙发  哈哈    和楼主学习
发表于 2008-5-5 16:39:56 | 显示全部楼层
能理解到这样也算不错拉
发表于 2008-5-9 11:36:53 | 显示全部楼层
不错    学习一下
发表于 2008-7-14 20:49:46 | 显示全部楼层

回复 1# xudong 的帖子

不错  沙发  哈哈    和楼主学习
发表于 2008-7-15 12:55:00 | 显示全部楼层
不错  向楼主学习
发表于 2008-7-16 14:47:58 | 显示全部楼层
不错! 很详细·······
发表于 2008-7-16 16:18:50 | 显示全部楼层
LZ厉害..学习学习..
发表于 2008-7-16 16:26:05 | 显示全部楼层

早就听说这儿卧虎藏龙,一来果然不假

早就听说这儿卧虎藏龙,一来果然不假
发表于 2008-7-17 16:32:38 | 显示全部楼层

急求帐套回复方法!!!!在线的朋友帮忙看看了

5月29号公司装了用友U6,装后我们一直在做06年和07年的帐,6月底06年结账,开始07年的,现在做到了9月份,今天因为电脑有点问题,我用ghost 恢复了C盘一下。(用友装在D盘)ghost备份时间是7月初,现在恢复后,06年帐套完好,登陆07年却提示没有数据库,但年度和帐套仍在,请问大家该怎么恢复07年的呢,用友设置了自动备份,每天都有备份的。
发表于 2008-7-17 19:19:44 | 显示全部楼层
谢谢,分享楼主资料
发表于 2008-7-30 20:48:27 | 显示全部楼层
逻辑清晰.很好.能把处理过程的思路说出来就好了
发表于 2008-7-31 10:38:57 | 显示全部楼层
楼主太厉害了,连存储过程都玩,可惜本人水平有限,是在不能看懂很多,但还是要谢谢了

原帖由 mapan2008 于 2008-7-17 16:32 发表
5月29号公司装了用友U6,装后我们一直在做06年和07年的帐,6月底06年结账,开始07年的,现在做到了9月份,今天因为电脑有点问题,我用ghost 恢复了C盘一下。(用友装在D盘)ghost备份时间是7月初,现在恢复后,06年帐 ...


应该是UFSYSTM被重写了导致不能识别以前的数据库,首先吧D盘里面的U6Soft\admin 里面的帐套实体数据库备份(ZT00?)备份到其他盘(这个备份十分重要),然后吧最近一次的备份导入,覆盖原来的帐套,最后停止SQL服务(包括用友服务),把刚刚备份的实体数据库文件覆盖回去(覆盖回D:\U6Soft\admin下面),重启电脑,应该可以的了
发表于 2008-7-31 15:55:05 | 显示全部楼层
学习学习~!!!!!
发表于 2008-8-1 14:37:25 | 显示全部楼层
LZ和13楼的都是高手,向你们学习
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-26 01:54 , Processed in 0.066359 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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