Customize User Level Security Control

 

1、 Add QueryBuildRange  in ClassDeclare Section

public class FormRun extends ObjectRun

{

    QueryBuildRange qbRange;

}

2、 Add a Method in Form(or Write a Class Function)

Boolean ChkUserAss()

{

    Boolean ret = false;

    UserGroupList userlist;

    ;

    select firstonly userlist

    where userlist.UserId == curEmplId()

       && ( userlist.groupId == "PUR_PurLe"

        || userlist.groupId == "Admin");

    if (userlist)

    {

           ret = true;

    }

    return ret;

}

3Modified Datasource Method "Init"

public void init()

{

    super();

    qbRange = BS_PUR_TReceivingTBL_ds.query().dataSourceName("BS_PUR_TReceivingTBL").addRange(fieldnum(BS_PUR_TReceivingTBL, EmplId));

    if (curEmplId() == "Admin" || Element.ChkUserAss())

    {

        qbRange.value("");

    }

    else

    {

        qbRange.value(curEmplId());

    }

   

}

原文地址:https://www.cnblogs.com/lingdanglfw/p/1287326.html