环思产品论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[32825]管理出入库

[复制链接]

72

主题

76

帖子

533

积分

高级会员

Rank: 4

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

概要:管理物品出入库的数量变化情况,方便员工管理仓库物料。让用户对收货中心,仓库的收付类型一目了然。
(1)【收付中心】【收付类型】:收付中心、收付类型都是在【菜单管理】里面进行配置。如图1-1~1-3 图1-1 图1-2 图1-3
(2)【导入类型】:点击【导入】按钮(如图1-4)所示,没有数据的情况下,在【收付中心导入配置】里面对不同仓库的不同【出入库的类型】所对应的【导入类型】进行添加,在这边选好后,也可以再到菜单管理里面【导入类型列表】进行筛选配置,菜单管理里不配置默认你在【收付中心导入配置】选择的所有导入类型。【核算项目名称】主要看出入库类型,比如【采购入】核算项目就是【供应商】、【销售出】的核算项目就是【客户】、【本厂生产领料入,本厂生产领料出】的核算项目就是【工作中心车间】、【盘盈亏】的核算项目就是【收付中心】本身。在[34640]收付路线管理里可以进行添加修改。
图1-4
(3)操作流程:打开form,选择【收付中心】,【收付类型】进入页面,【新建】选择【核算项目名称】【申领人】后,选择【导入】导入相对应的导入类型,填写【数量】【单价】还有其他的物料属性信息。【保存】后【送审】、【审核】后,即可在库存管理界面看到相对应的物料信息。如图1-5所示:
图1-5
(4)具体业务流程
【入库】
一、保存
1.保存前查找入库单信息
2.生成单据号
        IF @iUpdateStatus=1
        BEGIN
                SELECT TOP 1 @sStoreNo=A.sStoreNo
                FROM dbo.imStore A(NOLOCK)
                WHERE A.iIden IN (SELECT iStoreId FROM #imInHdr_17698)
               
                EXEC dbo.sppbNewBillNo @iFormulaId=33,@sNewBillNo=@sBillNo OUTPUT
                    ,@sParamNameList='sStoreNo',@p1=@sStoreNo
                    
                UPDATE #imInHdr_17698
                SET sBillNo=@sBillNo
        END
3.更新iDirection(蓝字入库、红字出库为进项=1,红字入库、蓝字出库为销项=-1)
        UPDATE A
        SET iDirection=CASE WHEN A.nQty>0.0 THEN 1 ELSE -1 END
        FROM #imInDtl_17698 A
        WHERE A.[_iUpdateStatus] IN (1,2)
4.保存后,辅料,扩展数量=0的,通过出库数量自动换算成扩展单位
5.红冲单,所有明细一定为负
        IF @bCredit=1 AND @sModifiedField LIKE '%bCredit%'
        BEGIN
                UPDATE A
                SET nQty=ABS(A.nQty)*-1          ---含税单价
                ,nAmount=ABS(A.nAmount)*-1 ---含税金额
                ,nAmountNoTax=ABS(A.nAmountNoTax)*-1 --不含税金额,不含税单价
                ,nAmountTax=ABS(A.nAmountTax)*-1
                FROM dbo.imInDtl A
                WHERE A.iHdrId=@iBillId
        END
6.生成库存物料
二、送审:
1.查找单据头信息
2.查询入库明细数据
3.根据币种查找会计区间汇率及换算方式
4.规范税率(1-100之间)
5.重新计算本币单价金额
   含税单价=含税金额/数量
   不含税金额=含税金额/(1+税率/100)(2位小数)
   不含税单价=含税单价/(1+税率/100)
   税额=含税金额-无税金额(2位小数)
   计算本币单价、金额
6.重新计算标准数量nQtyStd
7.计算bSingleTon、iDirection
8.若需要管理物料货龄,则自动生成为当前日期
9.生成库存物料
        EXEC dbo.sppbBillOperate_211_New_ByInOut @iBillId=@iBillId,@iDirection=1
        ,@bCredit=@bCredit,@iMaterialCategoryId=@iMaterialCategoryId,@iCompanyId=@iCompanyId
10.红字入库量与库存量差异<0.001时,入库量=库存量
11.更新库存架位信息
        IF @bCredit=0 AND @iSPUStyle=0
        BEGIN
                UPDATE A
                SET A.sLocation=ISNULL(B.sLocation,'''')
                FROM dbo.imStock A
                JOIN #Dtl_2147483634 B ON B.iStoreMaterialId=A.iStoreMaterialId
12.红字入库单,需要更新可用库存
        IF @iSPUStyle=0 AND EXISTS(SELECT TOP 1 1 FROM #Dtl_2147483634 A WHERE A.nQty<0)
        BEGIN
                EXEC dbo.sppbBillOperate_45_CalcAvaibleQty @iBillId=@iBillId,@iDirection=1,@iUserId=@iUserId
        END
        ELSE IF @iSPUStyle>0 AND EXISTS(SELECT TOP 1 1 FROM dbo.imInDtlSPU A(NOLOCK)
                                                                        WHERE A.iHdrId=@iBillId AND A.iTotalBox<0)
        BEGIN
                EXEC dbo.sppbBillOperate_45_CalcAvaibleQty_SPU @iBillId=@iBillId,@iDirection=1
        END
13.送审后校验  库存物料是否生成
                        14.MD5是否为空
                       15.校验入库单位是否正确
16.单件管理下的出库,必须整个的出,不能出一部分(系统调整单除外)
17.采购入库,入库量不得大于采购订单溢装量
18.外协入库,入库量不得大于外协订单量的120%
19.按到货单入库,入库量不得大于采购到货量的120%
20.校验库存
        IF @bValidateStock=1
        BEGIN
                EXEC dbo.sppbBillOperate_45_ValidateStock @iStoreId=@iStoreId,@iBillTypeId=36,@iBillId=@iBillId
        END
21.调用Ex
        IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[sppbBillOperate_36_SendToAuditEx]')
                                AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
        BEGIN
                EXEC dbo.sppbBillOperate_36_SendToAuditEx @iBillId = @iBillId, -- int
                    @sBillNo = @sBillNo, -- nvarchar(20)
                    @iUserId = @iUserId, -- int
                    @sUserNo = @sUserNo, -- nvarchar(20)
                    @iBillTableId = @iBillTableId, -- int
                    @bValidateStock = @bValidateStock, -- bit
                    @iAuditType = @iAuditType -- int               
        END
三、取消送审:
1.红字入库 更新可用库存
2.SPU仓,删除入库明细imInDtl
3.校验库存        IF @bValidateStock=1
        BEGIN
                EXEC dbo.sppbBillOperate_45_ValidateStock @iStoreId=@iStoreId,@iBillTypeId=36,@iBillId=@iBillId
        END
四、审核:
1.查找单据头信息
2.检测入库日期,是否已关帐
3.若是采购入库,对应的采购订单明细不能已关闭
4.若是委外加工成品入库,对应的外协订单明细不能已关闭
5.入库标准单位<>库存标准单位的,向库存标准单位看齐
6.写库存(全部写库存,含直入直出,因为写库存时,还会触发一些更新属性一类的动作)
7.写存货核算单(入库金额)        EXEC dbo.sppbBillOperate_38_New @iBillId=@iBillId,@iUserId=@iUserId
8.回写入库明细的iInOutAmountDtlId
        UPDATE A
        SET iInOutAmountDtlId=B.iIden
        FROM dbo.imInDtl A
        JOIN dbo.fiInAmountDtl B(NOLOCK) ON B.sPriceMD5=A.sPriceMD5
        WHERE A.iHdrId=@iBillId AND B.iHdrid=@iBillId
9.回写引用单据
10.入库审核扩展
11.校验库存
        EXEC dbo.sppbBillOperate_45_ValidateStock @iStoreId=@iStoreId,@iBillTypeId=36,@iBillId=@iBillId
12.直入直出,入库单审核完成后,直接生成出库单,并调用出库审核
                EXEC dbo.sppbBillOperate_37_New_DirectOut @iBillId=@iBillId,@iUserId=@iUserId
                        ,@iNewBillId=@iDirectBillId OUTPUT
        END
        ELSE IF @bCredit=1 AND @bSystemAdjust=0
        BEGIN
13.红字入库单,根据配置生成自动接收的入库单
                EXEC dbo.sppbBillOperate_36_New_AutoReceive @iBillId=@iBillId,@iUserId=@iUserId
                        ,@iNewBillId=@iDirectBillId OUTPUT
14.回写直入直出单ID
        IF @iDirectBillId>0
        BEGIN
                UPDATE A
                SET iDirectBillId=@iDirectBillId
                FROM dbo.imInHdr A
                WHERE A.iIden=@iBillId
        END
五、取消审核
1.查找待取消审核单信息
2.检测入库日期,是否已关帐
3.采购入库,对应的采购订单明细不能已关闭
4.委外加工成品入库,对应的外协订单明细不能已关闭
5.若是直入直出单,则自动删除直出的出库单
6.先取消直出出库单审核
7.再删除直出出库单(明细级联删除)
8.红字入库=出库,判断是否有自动接收入库,有且状态未变化的,自动撤回
9.判断自动接收的单,配置的默认单据类型
10.查找自动接收的入库单号、状态
11.入库单状态变更过,则不允许取消审核
12.取消审核自动接收的入库单
13.作废自动接收的入库单(草稿单)
14.写库存(含直入直出)        BEGIN
                EXEC dbo.sppbBillOperate_45_ReCalcStock @iBillId=@iBillId,@iDirection=1
                ,@iOperateType=-1,@iUserId=@iUserId
        END
15.清空入库明细的iInOutAmountDtlId
16.删除存货核算单(入库金额,明细级联删除)
17.回写引用单据
EXEC dbo.sppbBillOperate_36_37_Audit_WriteBack @iBillId=@iBillId,@iDirection=1        ,@bCredit=@bCredit,@iOperateType=-1,@iInOutTypeId=@iInOutTypeId,@iUserId=@iUserId
        ,@sOperator=@sUserNo,@iRefBillTypeId=@iRefBillTypeId
18.入库 取消审核扩展
        IF EXISTS(SELECT TOP 1 1 FROM dbo.dvProcedures WHERE sName='sppbBillOperate_36_UnAuditEx')        
        BEGIN
                EXEC dbo.sppbBillOperate_36_UnAuditEx @iBillId=@iBillId,@sBillNo=@sBillNo,@sUserNo=@sUserNo
        END
19.SPU仓,删除入库明细imInDtl
20.校验库存
        EXEC dbo.sppbBillOperate_45_ValidateStock @iStoreId=@iStoreId,@iBillTypeId=36,@iBillId=@iBillIdUI显示与控制

1.【核算项目名称】:调用fnimQueryAccountItemByInOutType(:iStoreId,:iInOutTypeId,:iCompanyId)函数,根据出入库类型查找主核算项目

2.【仓管员】从收付中心人员表读取数据(imStoreWorker)

3.【单据日期】日期下拉框

4.【单据状态】292常量值,分为草稿提交,已审核,作废,关闭,

5.【收付历史查看】:调用fnimQueryInOutHistory(:iStoreMaterialId)函数



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-19 11:11 , Processed in 0.101961 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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