技术文章
About Us

解决之道

首页 >>技术文章 >>解决之道

13

>

13.3 应用举例:库存明细帐

 

为什么要让两个不同的模版对应到同一个数据表上呢?没有硬性规定一定要这样做。事实上,您在《成品入库单》模版上定义数据库“入库单”,在《发货单》模版上定义数据表“出库单”,它们互不相关,也完全可以。让不同模版对应到相同的数据表,只是一种设计上的选择。某些情况下这样做会带来便利。看下面一个例子:

       假设我们要定义一个模版,显示某种产品从任意时间开始直到目前为止的出入库明细帐,格式如下:

 

这是一份时序帐,需要把某段时间内所有的出、入库操作按发生的顺序从上到下依次显示。我们可以定义表间公式,把《成品入库单》和《发货单》的信息提取过来。假如入库单和发货单存放在不同的数据表中,我们只好定义两条表间公式,一条用来提取入库单的数据,一条用来提取出库单的数据。两条公式连续应用,可以做到把一段时间内所有的入库、出库数据全部查询出来,但只能是先显示若干条入库信息,接着(往下)显示若干条出库信息,结果就是(例如):

11日入库 5

15日入库 10

18日入库 3

12日出库 2

15日出库 8

 

无法让入库和出库“混杂”在一起。也就不成其为“时序帐”,“结存”也变得无意义。

 

如果入库信息和出库信息存放在同一个数据表中,情况就不同了。我们可以用一条表间公式,一次查出所有的入库和出库信息,并且按时间顺序显示。

 

下文具体讲解《库存明细账》模版的设计。

 

创建《库存明细账》模版

新建模版《库存明细账》,信息如下:

项目

内容

报表编号

 

报表名称

库存明细账

初始填报权限

部门:阳光乳业、储运部

角色:Administrators、仓库保管员

最终查阅权限

部门:无

角色:无

(注,因为此模版的主要用途是查询,不需要把已有的数据重复保存一边,所定义的数据表也不创建,所以不需要任何人有查阅权限)

其它

接受默认值

表样:

如上图所示

Excel公式:

单元地址

公式

E2

=H2-DAY(H2)+1

使起始日期等于截止日期所在月份的第一天。

D6

=IF(L6=1,M6,0),并复制到D7:D25

E6

=IF(L6=1,N6,0),并复制到E7:E25

F6

=IF(L6=1,O6,0),并复制到F7:F25

G6

=IF(L6=-1,M6,0),并复制到G7:G25

H6

=IF(L6=-1,N6,0),并复制到H7:H25

I6

=IF(L6=-1,O6,0),并复制到I7:I26

J6

=J5+D6-G6,并复制到J7:J25

K6

=K5+F6-I6,并复制到K7:K25

 

定义数据表

表名

库存明细帐_主表

所在工作表

Sheet1

样式

单一数据项

是否创建

主键

区域

字段名

数据类型

必填

填写规范

其它

 

C2

物料名称

名称或地址

 

产品列表

 

 

E2:F2

起始日期

日期

 

 

 

 

J5

期初数量

小数

 

 

 

 

K5

期初金额

金额

 

 

 

 

H2:I2

截止日期

日期

 

当前日期

 

 

表名

库存明细帐_明细

所在工作表

Sheet1

样式

重复数据项,按行,可扩展

是否创建

主键

区域

字段名

数据类型

必填

填写规范

其它

 

B6:B25

日期

日期

 

 

 

 

C6:C25

摘要

文字(100字以内)

 

 

 

 

L6:L25

出入标志

整数

 

 

 

 

M6:M25

数量

小数

 

 

 

 

N6:N25

单价

价格

 

 

 

 

O6:O25

金额

金额

 

 

 

 

定义表间公式

公式名称:期初库存

应用方式:筛选条件改变后自动执行

公式内容:

提取<出入库单_明细,出入库单_主表>中满足下列条件的数据:

    <数据筛选:出入库单_主表.日期 < 本报表.Sheet1:起始日期

           并且出入库单_明细.物料名称 = 本报表.Sheet1:物料名称>

按以下方式填入<库存明细帐_主表>:

合计(出入库单_主表.出入标志 *出入库单_明细.数量 )  --->(填入值期初数量

合计(出入库单_主表.出入标志 *出入库单_明细.金额 )  --->(填入值期初金额

 

 

公式名称:出入库明细

应用方式:筛选条件改变后自动执行

公式内容:

提取<出入库单_主表,出入库单_明细>中满足下列条件的数据:

    <数据筛选:出入库单_主表.日期 >= 本报表.Sheet1:起始日期

           并且出入库单_主表.日期 <= 本报表.Sheet1:截止日期

           并且出入库单_明细.物料名称 = 本报表.Sheet1:物料名称>

按以下方式填入<库存明细帐_明细>:

出入库单_主表.日期  --->(填入值日期

出入库单_主表.单据类型 & '--' & 出入库单_主表.来源去向  --->(填入值摘要

出入库单_主表.出入标志  --->(填入值出入标志

出入库单_明细.数量  --->(填入值数量

出入库单_明细.单价  --->(填入值单价

出入库单_明细.金额  --->(填入值金额

 

查询库存明细账

填报《库存明细账》,可看到截止日期默认为当前日期,起始日期默认为截止日期所在月份的第一天。修改截止日期,从下拉列表中选择一种产品名称,自动查询出该产品指定时段的出入库明细账,如下图示例:

 

 Excel服务器学习和下载