阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 2061|回复: 5

金蝶专业版DIY仓库授权

[复制链接]
  • TA的每日心情
    慵懒
    2022-3-16 21:30
  • 签到天数: 734 天

    [LV.9]以坛为家II

    发表于 2008-6-6 23:04:19 | 显示全部楼层 |阅读模式
    学习过程中偶遇一文,个人感觉蛮不错的,有启发,共发出给有兴趣的朋友参考或启发:

    【背景】:
    客户提出的一个关于各个店面销售授权的需求:因为每个店面都设立了一个仓库,所以就出现了A,B,C,D…..等仓库,但这些仓库信息是公开化的也就是在录销售单的时候店面可以随便选择,我是B店的销售员但我可以选择C店进行出库(如果店员素质好的话不会这么有意选错的)。一旦仓库信息选择出错后,仓库库存信息不准确,月底盘点盘盈盘亏随之而来。仓管开始翻单找原因,熟悉的人员还算快找一两下就知道什么原因了,不熟悉的人员只能干瞪眼,无从下手。
    【分析】:
    为了避免这种错误,可以通过SQL脚本来控制仓库授权,实现制单人必须在仓库指定的授权人名里面才可以出库要不然拒绝保存出库单。
    【处理】:
       
    第一步:
    1、备份账套
    2、打开查询分析器
    3、选择账套对应数据库
    4、输入以下SQL语句(然后按F5执行)
    --====================================================================
    ---向仓库表添加应“授权”字段
    Alter Table t_stock Add xiaolu varchar(255)
    go
    Insert into t_FieldDescription(FTableID,FFieldName,FFieldType,FDescription,FDescription_CHT,FDescription_EN,FSefDefSign)
    values(9,'xiaolu','string','授权','授权','授权',1)
    go
    insert into t_itempropdesc(fitemclassid,fpropid,fname,fsqlcolumnname,fdatatype,fprecision,fscale,factualtype,factualsize
    ,fbehavior,fbrno,fsearch,faction,fsaverule,fdefaultvalue,fviewmask,ffilterfield,fisshownlist)
    values(
    5,102,'授权','xiaolu',200,255,0,200,255,null,0,0,null,null,null,0,0,0)
    go
    ---添加完成
    --====================================================================






    5、执行完成后,效果图如下:





                    [按案例还没有进行详细的测试,如果存在什么异常请及时恢复备份账套.本案例不对数据后果负责]

    第二步:

    1、对仓库进行对应的授权,记住!仓库授权是空的话没有办法在销售单中使用。必须手工添加上去。

    2、进入用户管理,对需要控制的操作员进行基础资料授权,把他们修改基础资料的权限取消掉,要不然的话这个授权就起不到效果了。


    第三步:

    建立解发器

    1、打开查询分析器
    2、选择账套对应数据库
    3、把刚才查询分析器里面的语句清除
    4、输入以下SQL语句(然后按F5执行)
    --====================================================================
    create trigger icstockbill_xiaolu
    ON [dbo].[ICStockBill]
    for insert,update---在保存或修改时触发
    AS
    declare @fuhao varchar(255)
    declare @fitemid int
    declare @len int
    declare @d int
    declare @length int
    declare @fname varchar(255)
    declare @f102 varchar(255)
    declare @fDcstockid int
    declare @fbillerid int
    declare @quan int
    declare @ftrantype int
    select @f102=xiaolu,@fitemid=fitemid from t_stock where xiaolu is not null
    select @fDcstockid=fDcstockid,@fbillerid=fbillerid,@ftrantype=ftrantype from inserted
    set @fuhao='|'
    create table #
    (
    fitemid int,
    fuserid int,
    f_102 varchar(255)
    )
    while ( charindex(@fuhao,@f102)>0)
    begin
    set @length=charindex(@fuhao,@f102)
    insert into #
    select @fitemid,0,left(@f102,@length-1)
    set @f102=stuff(@f102,1,@length,null)
    end
    set @length=len(@f102)
    insert into #
    select @fitemid,0,left(@f102,@length)
    update # set fuserid=u.fuserid from # a,t_user u where a.f_102=u.fname
    --fbillerid 制单人 fdcstockid 仓库代码
    set @quan=(select u.fbillerid from inserted u where exists(select * from # a where u.fbillerid=a.fuserid and
    u.fDcstockid=a.fitemid))
    drop table #
    --判断销售单对应仓库如果没有该操作员记录则提示授权
    if (@quan is null) and (@ftrantype=21)
    begin

    rollback tran

    RAISERROR ('该仓库您的名字没有被授权,请重新选择仓库!或者联系管理员授权',18,18);
    End
    --====================================================================

    --执行完成
    效果图:


    评分

    参与人数 1阳光币 +2 收起 理由
    sjd81925 + 2 分享奖励~

    查看全部评分

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    慵懒
    2022-3-16 21:30
  • 签到天数: 734 天

    [LV.9]以坛为家II

     楼主| 发表于 2008-6-6 23:06:26 | 显示全部楼层
    来的时间不长,坛子里有些规矩还有待于学习,贴子质量好与不好,望大伙见谅!
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2012-7-10 09:49
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    发表于 2008-6-6 23:24:34 | 显示全部楼层
    原帖由 vovo58 于 2008-6-6 23:06 发表
    来的时间不长,坛子里有些规矩还有待于学习,贴子质量好与不好,望大伙见谅!


    朋友太客气了,只要不是恶意灌水,有意义的帖子,我们都欢迎的,尤其是原创作品!转贴切记不要转那些网络上泛滥的资料!期待朋友的下一篇佳作~
    本帖子由阳光论坛管理组成员答复[增加管理津贴2个]

    打造出国内一流的行业软件应用交流论坛--阳光网驿助力企业信息化
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    郁闷
    2014-11-20 10:46
  • 签到天数: 70 天

    [LV.6]常住居民II

    发表于 2008-6-7 15:26:39 | 显示全部楼层
    这个不错,还有解发器,刚刚学习SQL 还有是地方不太懂,测试过非常好
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2018-5-16 07:57
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    发表于 2009-2-23 22:17:41 | 显示全部楼层
    看上去有点试烦!!!!!
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2015-7-28 16:17
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2009-2-24 12:07:31 | 显示全部楼层
    确实非常使用,是兄台自己写的,不如开个存储过程开发专栏
    本帖子由阳光论坛管理组成员答复

    打造出国内一流的行业软件应用交流论坛--阳光网驿助力企业信息化
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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