1/9用友股份-LE支持服务业务本部产品方案--《物资需求申请表头需求库存组织做默认值》建立日期:2013-12-03修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-CP-2013-09502/9文档控制创建记录适用范围审阅人日期审阅签字所属部门发布范围内部员工伙伴客户发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-12-03刘嘉亮产品支持部V1。0版本领域模块备注3/9目录物资需求申请表头需求库存组织做默认值............................................................4一、问题描述:........................................................................................................4二、问题分析:........................................................................................................4三、解决方案:........................................................................................................54/9物资需求申请表头需求库存组织做默认值一、问题描述:在“物资需求申请”处,在提交物资需求的时候,客户希望能默认一个库存组织。我在公司的“物资需求申请”的单据模板中,选择了默认的需求库存组织,但是在选择具体的物资后,系统自动把在单据模版中选择的库存组织给刷新没有。请集团专家指点一下,在“物资需求申请”的单据中,如何在创建物资需求申请单的时候,能进行默认需求库存组织设定。客户的计算机应用水平很低,采用默认值尽量能减少他们的操作。二、问题分析:测试发现在表头需求库存组织字段上做了默认值以后,新增单据的时候是可以带出来,但是在表体选择了存货之后,表体的需求库存组织字段并没有值。这样的话,表头的默认需求库存组织就做的没有意义。现在需要的是在表头做好了默认需求库存组织后,表体的相应字段可以继承表头的值。查询了一下存放物资需求申请单表头的表po_requireapp,发现根本没有需求库存组织字段,只有表体的表po_requireapp_b里有库存组织字段。这样的结构就表示,表头的需求库存组织字段只是并不作为存储,真正存储库存组织的是表体的字段。5/9这时考虑直接对表体的需求库存组织做默认值,测试结果是下次平衡库存组织等依赖需求库存组织的字段逻辑不能触发,放弃此方案。最终,观察表头的字段,发现模板上表头默认显示的需求库存组织字段主键是creqcalbodyname,从命名方式上可以看出这是一个存储名称的字段;同时,发现还有一个表头默认隐藏的需求库存组织字段,主键为creqcalbodyid,从命名上可以看出该字段为存货ID,也就是常说的PK的字段。至此,明白了为何之前在表头做默认值都没有生效。原来是由于之前的默认值都做在了主键为creqcalbodyname的需求库存组织字段上,该字段只作为显示用,并不影响表体。只有把默认值做在主键为creqcalbodyid的需求库存组织字段上,表体才能够继承表头的默认值。三、解决方案:1、对表头主键为creqcalbodyname的需求库存组织字段做默认值,选择相应的库存组织。6/92、在数据库中,查询一下第一步中选定的库存组织的主键是什么,即库存组织的PK是什么。7/93、将找到的库存组织PK,填入到默认隐藏的主键为creqcalbody的需求库存组织字段上。8/94、保存模板,分配。5、新增单据时,表头的需求库存组织字段带出了模板的默认值。9/9表体选择了存货后,表体的需求库存组织字段自动继承了表头相应字段的默认值,不需要再手工输入,满足了客户的需求,并且“下次平衡库存组织”等字段也正常赋值。