if (IsSalerChecked == true) {
EnumItem item = newEnumItem();
item.Caption = newLocaleValue(\销售员\, Context.CurrentThread.CurrentCulture.LCID); item.EnumId = \; item.Seq = 2;
item.Value = \; listSubItems.Add(item); }
if (IsSaleGroupChecked == true) {
EnumItem item = newEnumItem();
item.Caption = newLocaleValue(\销售组\, Context.CurrentThread.CurrentCulture.LCID); item.EnumId = \; item.Seq = 3;
item.Value = \; listSubItems.Add(item); }
if (IsDeptChecked == true) {
EnumItem item = newEnumItem();
item.Caption = newLocaleValue(\销售部门\, Context.CurrentThread.CurrentCulture.LCID); item.EnumId = \; item.Seq = 4;
item.Value = \; listSubItems.Add(item); }
if (IsOrgChecked == true) {
EnumItem item = newEnumItem();
item.Caption = newLocaleValue(\销售组织\, Context.CurrentThread.CurrentCulture.LCID); item.EnumId = \; item.Seq = 5;
item.Value = \; listSubItems.Add(item); }
combox.SetComboItems(listSubItems); } } }
Context
上下文对象。
语法
属性定义 C# Context Context { get; } 备注
本对象记录了与数据中心的连接,在调用各种K/3 Cloud提供的服务时,均需要传入本对象;
另外,还记录了当前用户、语言等信息。
常用作服务参数;
常用属性
名称 ClientType ComputerName ContextId CurrentOrganizationInfo DatabaseType DataCenterName IpAddress IsMultiOrg LoginName UserId UserName 描述 客户端类型,如SL客户端,WPF客户端 客户端机器名 上下文Id,唯一标识 当前组织信息 数据库类型,如SQL Server、Oracle 数据中心名称 客户端机器IP地址 是否启用了多组织 登录用户名 登录用户内码 登录用户名
案例–销售员列表新增,验证用户权限
代码来源
Kingdee.K3.SCM.Business.PlugIn.OperatorF8List
需求背景
在”销售员”、”仓管员”列表上,用户点击新增时,需要验证用户对”操作员”的新增权限,如果无权,禁止用户新增;
此需求的难点,需要在一种单据(A)列表上,验证另外一种单据(B)的权限,无法通过BOS设计器的操作定义,配置权限项,必须使用插件实现;
实现方案 捕获销售员、仓管员列表的菜单单击时间,如果点击的菜单是”新增”菜单,则调用验权服务,进行验权,如果验权不通过,给出提示,禁止操作;否则,调出操作员新增界面;
对于默认的新增操作,则直接取消,不再显示销售员的新增界面;
关键字
调用验权服务验权显示单据新增界面取消菜单操作 示例代码 C#
using System;
using System.Collections.Generic; using System.Linq; using System.Text;
using System.ComponentModel;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.Permission; using Kingdee.BOS.ServiceHelper;
using Kingdee.K3.Core.SCM;
namespace Kingdee.K3.SCM.Business.PlugIn {
[Description(\销售员,仓管员F8列表上的特殊处理\)] publicclassOperatorF8List : AbstractListPlugIn {
publicoverridevoid BarItemClick(BarItemClickEventArgs e) {
base.BarItemClick(e);
switch (e.BarItemKey.ToUpperInvariant()) { case\: case\:
e.Cancel = true;
PermissionAuthResult perAuthResult = PermissionServiceHelper.FuncPermissionAuth( this.Model.Context, newBusinessObject() { Id = SCMFormIdConst.BD_Operator },
PermissionConst.New);
if (perAuthResult.Passed) {
BillShowParameter showParameter = newBillShowParameter();
showParameter.FormId = SCMFormIdConst.BD_Operator; showParameter.ParentPageId = this.View.PageId; showParameter.Status = OperationStatus.ADDNEW; this.View.ShowForm(showParameter); } else
{
this.View.ShowMessage(\您没有业务员的新增权限!\); } break; default: break; } }
publicoverridevoid BeforeDoOperation(BeforeDoOperationEventArgs e) {
base.BeforeDoOperation(e);
switch (e.Operation.FormOperation.Operation.ToUpperInvariant()) { case\:
e.Cancel = true; break; default: break; } } } }

