网站首页博客首页 ┆欢迎光临 ERP顾问最热爱的网络——金蝶社区 登录注册帮助

日志

销售订单利润表

跟传统意义上的订单利润分析不同的,一般客户要求的是每张订单的成本都要不同,其实做出来就是分批次去计算成本,但是至少,在目前阶段,k3的成本模块还没办法做到尽善尽美,如果真的强行用分批认定去做,你会发现,很累很累。
 
调用方法:
查询分析工具,新增报表,输入:stkd_财务_销售订单利润表 '********','########'
 
程序如下:
CREATE proc stkd_财务_销售订单利润表
@begdate datetime,
@enddate datetime

as

set nocount on

create table #aa(
finterid 
int,
fentryid 
int,
fbillno 
varchar(50),
fcust 
varchar(80),
fcustnumber 
varchar(80),
fdate 
datetime,
fnumber 
varchar(80),
fname 
varchar(80),
fqty 
decimal(18,2default(0),
fstockqty 
decimal(18,2default(0),
fcost 
decimal(18,2default(0),
fsaqty 
decimal(18,2default(0),
famount 
decimal(18,2default(0),
flr 
decimal(18,2default(0),
frate 
decimal(18,2default(0)
)

insert into #aa(fdate,finterid,fentryid,fbillno,fnumber,fname,fqty,fcustnumber,fcust)
select se.fdate,se.finterid,see.fentryid,se.fbillno,ti.fnumber,ti.fname,see.fqty,tog.fnumber,tog.fname
from seorder se,seorderentry see,t_icitem ti,t_organization tog
where se.finterid=see.finterid and se.fdate>=@begdate and se.fdate<=@enddate
and ti.fitemid=see.fitemid and tog.fitemid=se.fcustid

update t1
set t1.fcost=t2.fcost,t1.famount=t2.famount,t1.fstockqty=t2.fqty,t1.fsaqty=t2.fqty1
from #aa t1,
(
select ice.forderinterid,ice.forderentryid,sum(ice.fqty) as fqty,sum(ice.famount) as fcost,
sum(ics.fqty) as fqty1,sum(ics.fstdamount) as famount
from icstockbillentry ice left join icsaleentry ics
on ics.fsourceinterid=ice.finterid and ics.fsourceentryid=ice.fentryid
where ice.finterid in (select finterid from icstockbill where ftrantype=21 AND fdate>=@begdate and fdate<=@enddate)
group by ice.forderinterid,ice.forderentryid
) t2
where t1.finterid=t2.forderinterid and t1.fentryid=t2.forderentryid


insert into #aa(fdate,fbillno,fqty,fcost,famount,fstockqty,fsaqty)
select fdate,fbillno+'合计',sum(fqty),sum(fcost),sum(famount),sum(fstockqty),sum(fsaqty)
from #aa
group by fdate,fbillno

update #aa set flr=famount-fcost
update #aa set frate=flr/famount*100 where famount<>0

select fdate as 日期,fbillno as 单据号,fcustnumber as 客户编码,fcust as 客户,
fentryid 
as 行号,fnumber as 物料编码,fname as 物料名称,fqty as 数量,fstockqty as 出库数量,
fcost 
as 成本,fsaqty as 开票数量,famount as 金额,flr as 利润,frate as 毛利率
from #aa 
order by fdate,fbillno,fentryid

drop table #aa

GO

图例:(点击放大)
 

作者: 爱心のfigo
所属归类:
avatar lwlghost 2007-10-29 11:34
好啊
avatar 好望角 2007-10-29 11:35
支持!
游客 2007-12-27 9:03
请教FIGO:我在笔记本(xp)上安装了中间层、客户端、服务器,导入帐套(本地服务器),正常使用没有问题。现在想通过本地中间层注册远程服务器上的帐套,可以注册成功,但是本地客户端登录该帐套(启动本地中间层),返回错误提示:“中间层事务失败”,我在SQL企业管理器看了,两个SQL数据库均启动,问过顾问,他说需要服务器上安装K3选择服务器部件什么的,但是我试过,除增加一个数据仓库配置外,还是不行啊,有什么解决办法啊?特此请教!(我想在单位用本地注册的远程服务器帐套,在家用本地帐套,又不想来回配置中间层来回切换)
avatar 爱心のfigo 2007-12-27 9:13

回楼上。你是在中间层注册帐套里面选择局域网内的其他服务器上的帐套吗?如果是这样,首先你的笔记本和另外的那台数据库服务器必须都安装k3的数据库端。如果还不行,则可能是系统问题。我在k3v10.3等版本都试过,有时候可以有时候不行,不过如果操作系统都是03sp1或者03sp2的话就都可以,如果不行就试着把系统的各种组件设置进行一下,或者把系统重新安装一下。

游客 2007-12-27 13:15
回FIGO,是在中间层注册帐套里面选择局域网内的其他服务器上的帐套,笔记本和服务器都装有数据库端(就是数据服务部件吧,都对自己没信心啦!),我系统是XPSP2,服务器系统是03的,在其他笔记本上测试也不行!系统(xp)重装也不行!想请教的是如何把系统组件重新设置,是DCOMCNFG,还是其他方法?
avatar 爱心のfigo 2007-12-27 17:21
尝试把笔记本装成03看看应该就可以
组件设置的地方太多了。控制面板——管理工具——组件服务,里面设置权限,并且启用网络dtc,把允许远程客户端下面的那些都选上。
还有,针对这个联不上的问题总部好像有2个注册表文件,我得找找在哪……太久了
avatar lihli7815 2007-12-27 18:05
收藏
游客 2007-12-28 19:50
谢谢FIGO !
请登录后再发表评论以赚取更多积分