环思产品论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[34513]管理物料

[复制链接]

72

主题

76

帖子

533

积分

高级会员

Rank: 4

积分
533
跳转到指定楼层
楼主
发表于 2016-4-8 21:00:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuyang 于 2016-5-30 13:28 编辑

概要:对物料进行分类管理,方便用户查看添加删除的功能。操作流程如图1-1所示该form是基于[34512]的一个子form这个界面用到的参照有一下几个:
Ref参照
一、【物料小类】:在[22031]管理物料小类里进行添加修改数据。

IF :iBomTypeId=0BEGIN
        SELECT iMaterialTypeId=iIden
        ,sMaterialTypeName
        FROM dbo.mmMaterialType A(NOLOCK)
        WHERE A.bUsable=1
        AND A.iMaterialCategoryId=:iMaterialCategoryId
        ORDER BY A.iOrder
END
ELSE
BEGIN
        SELECT iMaterialTypeId=iIden
        ,sMaterialTypeName
        FROM dbo.mmMaterialType A(NOLOCK)
        WHERE A.bUsable=1
        AND A.iMaterialCategoryId=:iMaterialCategoryId
        AND A.iBomTypeId=:iBomTypeId
        ORDER BY A.iOrder
END
二、销售单位】
IF :iMainUnitGroupId>0
BEGIN
        SELECT /*TOP*/ A.sUnitNo,sSaleUnit=A.sUnitName
        ,iSaleUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        JOIN dbo.pbUnitGroupDtl B(NOLOCK) ON B.iUnitId=A.iIden
        WHERE (/*Condition*/) AND A.bUsable=1
                AND B.iHdrId=:iMainUnitGroupId
END
ELSE
BEGIN
        SELECT /*TOP*/ A.sUnitNo,sSaleUnit=A.sUnitName
        ,iSaleUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        WHERE (/*Condition*/) AND A.bUsable=1
END
三、【标准单位
IF :iMainUnitGroupId>0
BEGIN
        SELECT /*TOP*/sStandardUnit=A.sUnitName,A.sUnitNo
,iStandardUnitType=A.iUnitType,iStandardUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        JOIN dbo.pbUnitGroupDtl B(NOLOCK) ON B.iUnitId=A.iIden
        WHERE (/*Condition*/) AND A.bUsable=1
                AND B.iHdrId=:iMainUnitGroupId
END
ELSE
BEGIN
        SELECT /*TOP*/ sStandardUnit=A.sUnitName,A.sUnitNo
,iStandardUnitType=A.iUnitType,iStandardUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        WHERE (/*Condition*/) AND A.bUsable=1
END
四、【库存汇总字段】:这是一个函数,只有选择了库存汇总字段,在库存管理的时候才可以按照你所勾选的来分类管理。
SELECT sName,sValue FROM dbo.fnpbGetStoreMaterialSumFieldList(:iMaterialCategoryId)
五、【主单位】IF :iMainUnitGroupId>0
BEGIN
        SELECT /*TOP*/ A.sUnitNo,sUnit=A.sUnitName
        ,iUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        JOIN dbo.pbUnitGroupDtl B(NOLOCK) ON B.iUnitId=A.iIden
        WHERE (/*Condition*/) AND A.bUsable=1
                AND B.iHdrId=:iMainUnitGroupId
END
ELSE
BEGIN
        SELECT /*TOP*/ A.sUnitNo,sUnit=A.sUnitName
        ,iUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        WHERE (/*Condition*/) AND A.bUsable=1
END
六、【计量方式】SELECT sConstValue,sConstName
FROM dbo.pbConstDtl A(NOLOCK)
WHERE A.iConstHdrId=469 AND A.bUsable=1
ORDER BY A.iOrder
七、【Bom类型】IF :iBomTypeId=0
BEGIN
        SELECT A.iIden,A.sBomType
        FROM dbo.tmBomType A(NOLOCK)
        WHERE iMaterialCategoryId=:iMaterialCategoryId
        ORDER BY A.iOrder
END
ELSE
BEGIN
        SELECT A.iIden,A.sBomType
        FROM dbo.tmBomType A(NOLOCK)
        WHERE iMaterialCategoryId=:iMaterialCategoryId
        AND A.iIden=:iBomTypeId
        ORDER BY A.iOrder
END
八、【采购单位】IF :iMainUnitGroupId>0
BEGIN
        SELECT /*TOP*/ A.sUnitNo,sPurchaseUnit=A.sUnitName
        ,iPurchaseUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        JOIN dbo.pbUnitGroupDtl B(NOLOCK) ON B.iUnitId=A.iIden
        WHERE (/*Condition*/) AND A.bUsable=1
                AND B.iHdrId=:iMainUnitGroupId
END
ELSE
BEGIN
        SELECT /*TOP*/ A.sUnitNo,sPurchaseUnit=A.sUnitName
        ,iPurchaseUnitId=A.iIden
        FROM dbo.pbUnit A(NOLOCK)
        WHERE (/*Condition*/) AND A.bUsable=1
END
九、【供应商】
SELECT /*TOP*/
sSupplierName=A.sCustomerName
,sSupplierNo=A.sCustomerNo
,iSupplierId=A.iIden
FROM dbo.pbCustomer A(NOLOCK)
WHERE /*Condition*/
AND A.iPurchaseMaterialType<>0 AND A.bUsable=1
AND A.iPurchaseMaterialType & :iMaterialCategoryId>0
ORDER BY A.sCustomerNo
十、【颜色】颜色的数据来源主要是[35039]管理色号库界面对颜色进行添加。
SELECT /*TOP*/ A.sColorNo,A.sColorName,iColorId=A.iIden FROM dbo.tmColor A(NOLOCK)
WHERE A.bUsable=1 AND /*Condition*/

图1-1

参数说明
1.【物料大类】下拉选择,用于区分物料类型。在菜单管理里面配置,代码如下:
SELECT iMaterialCategoryId=A.iIden,sMaterialCategoryName=A.sMaterialCategory
FROM [dbo].[mmMaterialMajorCategory] A(NOLOCK)
2.【BOM类型】下拉选择bom类型,进行分类管理,代码如下
SELECT iIden=0,sBomType='无'
UNION ALL
SELECT iIden,sBomType
FROM dbo.tmBomType A(NOLOCK)
WHERE bUsable=1
3.【隐藏动态工具栏按钮】按控件名称匹配,从FormConfig70项中排除控件
UI显示与控制
1.【物料编号】【物料名称】【bo类型】都是红色字体显示这边是在UI设计界面勾选UI非空来实现如图1-2所示
图1-2
2.几个复选框的作用

【是否单件管理】:单件的管理货物。

【是否按色号核算单价】【是否按物料批次核算单价】:为了方便在最后算物料的金额,就分为按色号、物料批次来分别

【是否允许负库存】:仓库是否能让它有负的库存量

【是否管理货龄】:在【货龄查询】的时候,勾选的物料就会有库龄天数

3.隐藏索引

a.在98项设计里面,bAllowHideIndex是否允许隐藏索引写上true,(默认=false,则按钮“隐藏索引”不显示



=true,则显示按钮“隐藏索引”,并可由用户自行控制是否隐藏索引)


隐藏索引时触发,打开界面即可出现左边的索引,

用到的actiom:IIF(:f[outParam.bShowIndexGroup]=1,HS.ShowIndex,HS.HideIndex)表 达 式 成 立 , 执 行HS.ShowIndex, 否 则 , 执 行HS.HideIndex

b.#备份当前ID,并定位到顶层节点

#实体写入字段值

Entity.SetFieldValue(outParam,iCurrMaterialTypeId,:f[indexEntitySet.iIden]);

#实体集定位

EntitySet.Locate(indexEntitySet,iIden,0);

#调用速查

DoQuickQuery();

单位换算界面单位换算值,在物料管理界面选中一条物料对该物料的单位值进行换算的功能。红色的字段是必填项。

从物料管理界面跳转到单位换算界面,从34513form选中这条物料的iIden传到单位换算这个form中,用到的action是Entity.SetFieldValue(outParam,iMaterialId,:f[mainEntitySet.iIden]),如图1-3所示

图1-3









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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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