环思产品论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2220|回复: 0
打印 上一主题 下一主题

[48865]库存管理

[复制链接]

72

主题

76

帖子

533

积分

高级会员

Rank: 4

积分
533
跳转到指定楼层
楼主
发表于 2016-4-8 21:07:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuyang 于 2016-6-14 15:10 编辑

概要:这是一个单表查询的界面,主要是从[32825]出入库界面的物料入库物料审核过后到库存里的信息表变化,还包括库存留位申领等信息都会在该页面体现出来。
参数说明:
【物料类型】用于筛选收付中心
【仓库ID】多个仓库ID串联用于筛选收付中心若为空,则不做任何筛选若有值,则仅显示这些指定的收付中心下的库存信息
【允许修改字段】:为空则所有字段允许修改若指定,则指定字段只读
【隐藏动态工具栏按钮】按控件名称匹配,从FormConfig70项中排除控件,这里用到的'转库'UNION ALL'目的仓库'UNION ALL'仓库名称'。
根据参数区分,分为库存转库管理,库存属性修改管理,库存架位管理
REF参照:
【仓库】:从收付中心选择根据参数所选的物料大类和仓库id来进行判断选择

【目的仓库】从收付中心表读取数据,并且筛选出除本仓库外的其他仓库
【架位】不同的仓库,仓库架位也会不同,在这边从架位表里读取数据,加了筛选仓库架位的条件,根据选择的仓库不同下拉选择该仓库的架位也会随之改变
【物料等级】在[49338]物料等级管理界面读取数据,根据物料大类来筛选
单点功能说明和业务逻辑
【转库】:物料从一个仓库转到另外一个的过程,相当于本仓库出库了这些数量,目标仓库入了这些数量。
1.转库这边用到的Grad选中行数据转 XMLaction:GridView.GetSelectedRowsXML(grvData,[sFixField1+sFixField2...],[outParam.sXML],[sNotCopyFields],[bAllRows=false]);
参数5(可选): bAllRows,默认=false,=true则为当前实体的所有行
2.showmessage(:f[outParam.sXML]);
3.ExecSql(34550,outParam);
EXEC dbo.sppbArchiveOperate_45_Change_Allocation
业务逻辑:
1.插入 出库单头
2.插入 出库单明细
3.插入 入库单头(从出库单头生成)
4.插入 入库单明细
最后再调用,新增单张入库单 sppbBillOperate_36_NewBill
业务逻辑:
1.查询用户编号
2.计算sBillNo
3.计算sInOutTypeName
4.计算sDirectOutTypeName
5.计算sAccountItemName、sDirectAccountItemName、sCurrencyName、iExchangeMode、nExchangeRate、
6.币种为空则为本币
7.计算sCreditBillNo
8.处理明细表数据
9.计算行号、sMaterialNo、sMaterialName、sColorNo、sColorName、sSize、sUnit、sExtendUnit、sPackageUnit、sCustomerName、sPuOrderNo、sPuOrderRowNo、sOsOrderNo、sOsOrderRowNo
10./*数据处理完成,插入到DB*/
11.插入 入库单头表
12.插入入库单明细表
13.调用sppbBillOperate_AfterSave
14.自动提交,调用sppbBillOperate_36_SendToAudit
15.自动审核,调用sppbBillOperate_36_Audit
4.ShowMessage(转库成功)
整个转库过程就结束!
库存转库管理:1,把物料从一个仓库转到另外一个的过程,比如物料从A仓到B仓就是做一个A仓的出库,B仓的入库如图1-1所示:
图1-1
2,转完库后可以在该仓库的出库查询里面看到这条转库的记录如图1-2所示:
图1-2
库存架位管理:
对库存物料的架位进行修改,在菜单管理里参数可以可以设置个别字段可修改,架位修改就直接修改物料的架位
库存属性管理:
对物料属性的修改,不同物料要求要修改成同一属性物料(比如都要改成A等级),为了方便用户操作,复制一个物料的属性可以多行粘贴到其他的物料上(修改的字段要在菜单里配置,为空则所有字段允许修改若指定,则指定字段只读),物料要从A等级变为B等级,相当于该物料做了一个A等级的出库再做了一个B等级的入库操作,更新库存数量(库存物料不变化,仅修改数量,生成一条差异入库)。如图1-3所示
图1-3
具体业务逻辑:
一、 全局批量保存(sppbBillOperate_45_GlobalBatchSave)

1.获取仓库Id

2.更新iType字段(1为修改物料属性,2为修改物料数量)

3.判断是修改物料属性时,执行更改库存物料属性的过程(sppbArchiveOperate_45_Change_StoreMaterial ),删除临时表中修改字段是物料属性的记录

4.判断修改是数量时,执行更改库存数量的过程(sppbArchiveOperate_45_Change_Qty),删除临时表中修改字段是数量的记录

5.数据保存到表(临时表作为参数传入)

二、修改库存物料属性(转库存物料)(sppbArchiveOperate_45_Change_StoreMaterial

1.判断传入临时表结构#imStock_Param

2.将数据插入临时表#Stock_15373

3.插入 入库单头

4.生成 红字入库明细 (从库存中取值)

5.生成 入库明细 (从XML中取,没有的则从原库存中取值)

6.生成入库单,调用sppbBillOperate_36_NewBill

三、更新库存数量(库存物料不变化,仅修改数量,生成一条差异入库


1.判断临时表结构#imStockChangQty_Param(sppbCheckTempTableSchema )

2.将数据插入到临时表#Stock_15372中

3.修改的库存,若有未审核的红字入库单,则不允许修改,前库存存在未审核的红字入库单,不能调整库存数量

4.修改的库存,若有未审核的出库单,则不允许修改

5.插入 入库单头,插入 入库单明细

6.生成入库单,调用sppbBillOperate_36_NewBill

四、校验收付库存是否平衡(库存、可用库存)

1.校验SKU库存是否平衡(fnimQueryUnBalancedStock)

2.检验SKU可用库存是否平衡(fnimQueryUnBalancedAvaiableStock)

3.校验SPU库存是否平衡(fnimQueryUnBalancedStockSPU)

4.检验SPU可用库存是否平衡(fnimQueryUnBalancedAvaiableStockSPU)

注:回写可用库存量(预出库量、预出库留位量)可用库存的目的,是为了确保每笔待审单,都能正常审核所以允许负库存时,可用库存无意义,不正数的入库、负数的出库,不添加可用库存蓝字出库、红字入库单,在送审、取消送审时调用此过程






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|上海环思 ( 沪ICP备11022428号 )

GMT+8, 2024-9-19 11:08 , Processed in 0.129677 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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