MRP计算提前期与展望期问题总结
(以下内容是本人在项目实施与知识学习过程中的一些体会,并非绝对完整、正确,若有问题,欢迎亲爱的金蝶兄弟姐妹们指正,大家一起交流,一起探讨,一起提升,谢谢!)
一.需求时间范围的确定:(计划展望期:是一个时间段,决定参与计算的需求单据的时间范围和产生计划订单的时间范围。)
T1 T2 T3 T4
T2: 系统日期。
T3: 计划展望期的开始日期(通常情况下T2与T3为同一天)。
T4: 计划展望期的结束日期。
T1: 计算拖期《销售订单》后的开始日期。(受控于参数预计量有效期提前[ ]个月。)
二、MRP计算需求来源
(1)、需求来源为“销售订单”时,对应为已审核其行关闭状态为未关闭的“销售订单”分录中的“建议交货日期”位于T1—T4之间的物料。说明:若关闭为手工或销售出库促成的,其不能作为MRP的需求来源再参与MRP计算,而对于已执行MRP计算的销售订单,如果需修改销售订单的数量或交货日期等信息,在已执行MRP计算的销售订单不能反审核的情况,可通过“变更订单”来进行修改。
(2)、需求来源为“产品预测单”时,应为已审核其行关闭状态为未关闭的“销售预测单”分录中的“预测开始日期”位于T3—T4之间的物料。
三、MRP计算提前的概念及应用
(1)、提前期偏置:对于生产周期较长的产品,其所耗用的物料在实际生产过程中往往是陆续投入,而非在产品开工之日一次性投入,为了更加精确地计算确定每一物料的需要日期,在BOM中增加提前期偏置的设置,表示子项物料需求日期相对于父项物料的投产日期的滞后天数,可以录入正数,也可录入负数(正数表示该物料在父项开始生产后调达,负数表示该物料提前调达)。
(2)、固定提前期:指采购、生产在不受批量调整影响下的采购订单下达前的准备及生产前的产品设计、生产准备等必须花费的时间。
(3)、变动提前期:指生产在受到需求批量影响下的变动时间。
(4)、变动提前期批量:指的是和变动提前期联合使用的一个参数。
(5)、MRP计算的提前期:指的是在固定提前期、变动提前期、变动提前期批量及需求数
量相互影响下的累计提前期,其值=固定提前期+变动提前期*(建议订单量/变动提前期批量)。
(6)、在MRP计算的过程中,系统会自动根据其在BOM、物料等资料中设置的相关数据及计划展望期来进计算行,从而计算出物料的采购/生产开始日期、采购/生产结束日期等信息。
(7)、若计算出来的物料采购/生产开始日期在计划展望期开始日期之前,则系统将计划展望期的开始计算日期作为物料的采购/生产开始日期;若计算出来的物料采购/生产开始日期在计划展望期开始日期之后,则系统将根据采购或生产提前期计算出来的日期作为物料的采购/生产开始日期。
第二篇:php网站设计与部署问题总结
php网站设计与部署问题总结
作者:网站建设 发布时间:20xx-12-18
本文是本来在部署一套服装类网站时遇到的问题,这些问题涉及到了php程序设计问题和php各个版本之间的差别引起的问题。特此做了个总结,希望能够对比人有所帮助,避免不必要的为问题。
1.矩阵网络遇到的第一个问题是session问题。一不细心真会让人掉入陷阱里,摸索个老半天。
矩阵网络写了个my_session_start($lifetime),除了启动一个会话外,它还完成了两个功能,一个是设定生存时间,也就是函数引入的lifetime变量;另一个是设定一个会话id,我们知道
session_start()已经可以自动恢复旧的会话id了,但如果一个一个用户的cookie删除了,会话就无法恢复了,本文里是通过会员数据库里保存的session_id重新恢复到当前会话里。
问题就出在了保存my_session_start($lifetime)这个公共函数的文件里。本人的服务器上是没有php编辑器的,由于测试过程中要修改一个参数,直接使用了记事本修改这个文件。修改完之后原先没有什么问题的程序,突然一直报错了,数值改回去仍然报错,图片如下(另外再模拟的一个文件):
而且通过输出session_id(),会发现session_id不断的更改。cookie的值一都为空。PHPSESSID值无法送到客户端。我们知道session_start();这个函数在启动一个会话前会操作cookie的读取或写入,当发现cookie里保存有PHPSESSID(本人的session_name,视个人配置有所不同),就读取并恢复,如果没有,就新建一个会话id然后传送到cookie保存。图片的错误信息很明确,就是说session_start()执行前,已经有输出内容了,导致无法输出phpsessid到cookie里。但我仔细查看了
my_session_start($lifetime)函数所在文件,无任何空行,无任何输出,到底是怎么回事呢。网络上找了老半天,试了很多方法都不行,最找到原因了。原来是编码搞的鬼。utf-8编码格式有分 无BOM 和 带BOM信息的,而PHP是不识别BOM头得,utf-8的bom信息是为了兼容utf-16等之后的版本的,微软自带的记事本是支持bom头得,当我用记事本修改该php文件的时候,php文件自动就添加了bom头信息,这个头信息是隐藏的,所以程序才一直提示会话启动时无法发送cookie到客户端。使用uedit将该文件转换为utf-8(无BOM)格式后问题解决。一切都是BOM头惹的祸啊。
2.跟php版本相关的问题
本人的服务器php版本是5.2版本,本人实际写程序的时候使用的是5.4版本,归根结底太追时髦了,有不认真研究php各个版本之间的差别。
首先是__DIR__常量,本人碰到的错误如下图所示,
本人的程序很多地方都有所使用这个常量,以绝对路径引用一个文件,有时候只有这样才能满足要求,本人习惯于使用这个常量,偏偏这次碰见一个php5.2的服务器,经查__DIR__魔术常量是php5.3版本才引入的,其实还有其他很多方法可以取代它,如
dirname()/$_SERVER[DOCUMENT_ROOT]等等,没则只能是一个个的重改喽。
其次,session_status(),php5.4才引入的,1 代表
session_write_close()调用过,代表关闭session写入,这在带框架的页面有时可以提高加载速度。
总结这次问题,php版本上不可太追时髦,尽量使用主流的版本和功能。很多时候,服务器不是我们能控制的;另外不要随便使用记事本来修改php程序。
文章转自:http://www.idctime.com/ArticleShow.asp?ArtID=2267