壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 617|回复: 1

关于自定义报表的开发

[复制链接]
发表于 2012/9/21 15:34:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

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

x


在我们的事实过程中,报表的开发是很常见的,本人接触用友不久,也没有研究过用友的开发工具,最近实施一个U8的客户,发现客户的一些要求在U8里面做不到,而且这些要求我觉得对于客户的行业来说,并不是很过分,于是就通过EXCEL+SQL2000开发了一个报表,现在客户也觉得比较的好用,所以在这里希望能和各位实施顾问分享下我的经验:

客户是做吊顶产品,代理商遍及全国各地,销售文员的主要工作是接代理商的电话,然后接订单,在接订单的过程中需要随时掌握库存的情况,以便和代理商及时沟通,如遇到产品没有货的时候,让代理商考虑是否换产品等。
1)想知道目前的库存量是多少
2)想知道订单已录入未审核的产品数量有多少
3)想知道订单已审核未发货的产品数量有多少
4)想知道产品预计入库的数量是多少
这些数据最好在一张表上显示,具体的操作是:
一、创建视图
1、未审核销售订单情况
CREATE VIEW dbo.dm_so_nocheck
AS
SELECT TOP 100 PERCENT dbo.SaleOrderQ.csocode AS 销售订单号,
      dbo.SaleOrderQ.ddate AS 订单日期, dbo.SaleOrderQ.ccusabbname AS 客户简称,
      dbo.SaleOrderSQ.cinvcode AS 产品编码, dbo.SaleOrderSQ.cinvname AS 产品名称,
      dbo.SaleOrderSQ.iquantity AS 订单数量
FROM dbo.SaleOrderQ INNER JOIN
      dbo.SaleOrderSQ ON dbo.SaleOrderQ.id = dbo.SaleOrderSQ.id
WHERE (dbo.SaleOrderQ.istatus = 0) OR
      (dbo.SaleOrderQ.istatus IS NULL)
ORDER BY dbo.SaleOrderQ.csocode
2、订单已审核未发货情况
CREATE VIEW dbo.dm_so_checked
AS
SELECT TOP 100 PERCENT dbo.SaleOrderQ.csocode AS 销售订单号,
      dbo.SaleOrderQ.ddate AS 订单日期, dbo.SaleOrderQ.ccusabbname AS 客户简称,
      dbo.SaleOrderSQ.cinvcode AS 产品编码, dbo.SaleOrderSQ.cinvname AS 产品名称,
      dbo.SaleOrderSQ.iquantity AS 订单数量
FROM dbo.SaleOrderQ INNER JOIN
      dbo.SaleOrderSQ ON dbo.SaleOrderQ.id = dbo.SaleOrderSQ.id
WHERE (dbo.SaleOrderQ.istatus = 1) AND
      (dbo.SaleOrderSQ.iquantity - ISNULL(dbo.SaleOrderSQ.ifhquantity, 0) > 0)
ORDER BY dbo.SaleOrderQ.csocode, dbo.SaleOrderSQ.cinvcode
3、成品库存情况表
CREATE VIEW dbo.dm_cp_stock
AS
SELECT TOP 100 PERCENT dbo.Inventory.cInvCode AS 存货编码,
      dbo.Inventory.cInvName AS 存货名称,
      dbo.V_CurrentStock.iQuantity AS 现存数量
FROM dbo.Inventory LEFT OUTER JOIN
      dbo.V_CurrentStock ON
      dbo.Inventory.cInvCode = dbo.V_CurrentStock.cInvCode
WHERE (dbo.Inventory.cInvCode  LIKE '7%')
ORDER BY dbo.Inventory.cInvCode
--注:客户的成品编码首位为7
4、产品预计入库情况:
    这部分由于生产系统还未启动,暂时这里也不公开了,熟悉数据库的朋友应该也知道怎么写;

二、导入数据
1、打开EXCEL
2、打开菜单 数据--导入外部数据--新建数据库查询
   如果是首次连接数据库的话,你需要创建新数据源:
   1)输入数据源名称;
   2)数据库类型驱动选择SQL SERVER;
   3)连接的地方选择服务器和登录ID:sa,有密码需要输入密码,然后选择默认数据库;
   4)选择默认表
3、然后利用查询向导把数据取出来就可以了,三个查询放在EXCEL表中的三个页面。
   (我这边三个页面的名称是:库存量,订单未审核,订单审核)

三、EXCEL公式处理
    在订单未审核的列中输入公式:=SUMIF(订单未审核!$D$320000,A3,订单未审核!$F$3:F$20000)
    在订单已审核未发货的列中输入公式:=SUMIF(订单审核!$D$320000,库存量!A3,订单审核!$F$3:F$20000)
然后再利用EXCEL自带的公式就加加减减就好了。

这样,客户所需要的功能就简单的实现了,开发时间也就需要2-3个小时。

该贴已经同步到 chenchenjie的微博
发表于 2013/7/19 23:12:58 | 显示全部楼层
谢谢楼主,支持!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 06:01 , Processed in 0.012460 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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