新建一个类,继承自动态表单抽象插件类AbstractBillPlugIn,重写PreOpenForm。

/// <summary>
/// 销售订单 单据维护界面插件
/// </summary>
public class SaleOrderEdit : AbstractBillPlugIn
{
//
// Summary:
// 动态表单打开前事件
//
// Parameters:
// e:
// 动态表单打开前事件参数
public override void PreOpenForm(BOS.Core.DynamicForm.PlugIn.Args.PreOpenFormEventArgs e)
{
if (e.OpenParameter.Status == OperationStatus.ADDNEW)
{
long orgId = e.Context.CurrentOrganizationInfo.ID;
Object objEqualSaler = CommonServiceHelper.GetSystemProfile(e.Context, orgId, Kingdee.K3.Core.SCM.SCMFormIdConst.SAL_SystemParameter, SCMConst.PARAM_SELLEREQUALCREATOR, false);
para_EqualSaler = objEqualSaler == null ? false : Convert.ToBoolean(objEqualSaler);
if (para_EqualSaler)
{
long sellerId = SaleServiceHelper.GetSellerIdFromUserId(e.Context, orgId, e.Context.UserId);
if (sellerId == 0)
{
e.Cancel = true;
e.CancelMessage = Kingdee.BOS.Resource.ResManager.LoadKDString("当前用户不是销售员,不能录入订单!", "004019030003349", Kingdee.BOS.Resource.SubSystemType.SCM);
}
}
}
}
}

[K/3Cloud]在插件中根据条件取消表单打开过程的更多相关文章

  1. [K/3Cloud] 在插件中为辅助资料赋值

    因为辅助资料其实是一种特殊的基础资料,其赋值方法跟基础资料类似 this.Model.SetItemValueByNumber("FAssistant1", "Ameri ...

  2. [K/3Cloud] 动态表单打开时传递一个自定义参数并在插件中获取

    插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. /// <summary> /// 库存查询 /// </ ...

  3. [K/3Cloud] 如何代码中动态设置当前活动页签

    this.GetControl<TabControl>(key).SelectedIndex=目标Index Ps:如下方式隐藏页签: this.View.GetControl(" ...

  4. java中继承条件下构造方法的执行过程

    继承条件下构造方法的调用规则如下: 情况1:如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法.在这种 ...

  5. [K/3Cloud] 如何从被调用的动态表单界面返回数据

    在需要返回数据的地方调用表单返回方法完成数据返回 this.View.ReturnToParentWindow(retData); 在调用界面的回调函数中取出返回结果的ReturnData即可使用. ...

  6. [K/3Cloud] 在设计时复制已有表单菜单或菜单项快速建立菜单

    1.打开已有表单XML,找到FormAppearance的Menu节点,按Ctrl+C复制 <Appearances> <FormAppearance ElementType=&qu ...

  7. [K/3Cloud]调用动态表单时,传递自定义参数

    插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. private void ShowMaterialStock() { obj ...

  8. jqgrid 表格中筛选条件的多选下拉,树形下拉 ;文本框清除插件;高级查询多条件动态筛选插件[自主开发]

    /** * @@desc 文本框清除按钮,如果isAutoWrap为false当前文本框父级必须是relative定位,boostrap参考input-group * @@author Bear.Ti ...

  9. [K/3Cloud] 创建一个业务单据表单插件

    概念 创建一个业务单据插件,处理单据的相关控制逻辑. 示例 新建一个类,继承自单据插件基类Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn. using ...

随机推荐

  1. Liunx中虚拟机远程复制文件SCP命令

    1.首先在虚拟机中新建 CentOSA .CentOSB 从远处复制文件到本地目录 scp -r root@192.168.1.24:/root/aa ./ 从CentosB虚拟机器上的/root/a ...

  2. 乐搏讲自动化测试- Python环境搭建(7)

    Python的下载和安装 Python可应用于多平台包括 Linux 和 Mac OS X.你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Py ...

  3. view 的继承关系

    view 的继承关系 如果一个view 有多个子view. 甚至是多成次的 子view. 只需要把第一级别的view(父view) 授权给用户,就可以访问view了,子view 不需要授权.

  4. .Net实战之反射操作篇

    1.上一讲中描述了反射中常见的类,仅仅是描述类与反射之间的关系.   但是实际是对数据的操作,  在反射中,数据如何操作? [MyTable("T_UserInfo")] publ ...

  5. P2P 网络核心技术:Gossip 协议

    背景 Gossip protocol 也叫 Epidemic Protocol (流行病协议),实际上它还有很多别名,比如:“流言算法”.“疫情传播算法”等. 这个协议的作用就像其名字表示的意思一样, ...

  6. [ CERC 2014 ] Vocabulary

    \(\\\) \(Description\) 给出三个长度分别为 \(lenA,lenB,lenC\) 的三个字符串 \(A,B,C\) ,其中字符集只包括所有小写字母以及 \(?\) 号. 现在将所 ...

  7. React Native组件的结构和生命周期

    React Native组件的结构和生命周期 一.组件的结构 1.导入引用 可以理解为C++编程中的头文件. 导入引用包括导入react native定义的组件.API,以及自定义的组件. 1.1 导 ...

  8. [转]MapReduce浅析

    本文转自http://edisonchou.cnblogs.com/ 一.什么是MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大 ...

  9. Android yuv转Bitmap

      YuvImage image = new YuvImage(data, ImageFormat.NV21, size.width, size.height, null); if(image!=nu ...

  10. Farseer.net轻量级开源框架 入门篇:删除数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...