​通过代码脚本实现设置字段为必录原创
金蝶云社区-╄秋メ凋零
╄秋メ凋零
36人赞赏了该文章 1069次浏览 未经作者许可,禁止转载编辑于2022年04月25日 18:18:08

本文引用并参考了以下两位大佬的文章


符勇

https://vip.kingdee.com/article/26091?productLineId=1


林荫大道cc

https://vip.kingdee.com/article/65471624647921408?productLineId=1


#Python小贴士,在Python插件中换行需要进行缩进对齐,对齐需要是4个空格或者一个Tab,否则代码无效。

#使用True False必须是大驼峰。

#Python插件代码如下:
#AfterBindData事件,修改状态,触发

def AfterBindData(e):
    #设置备注字段为必录
    this.View.GetControl("FNote").SetCustomPropertyValue("MustInput",True);  

    #此方法只能针对单据头字段,不支持单具体明细字段,已提单确认过。

        
    this.View.UpdateView("FNote");

    #刷新备注字段

image.png

C# 插件示例如下:

注:

1、如果你使用的Visual Studio 2022或者Visual Studio 2019时,在创建项目时需要选择.NET Standard 2.0。

image.png

image.png

image.png

image.png

2、注意引用Kingdee.BOS.Core.Dll 与 Kingdee.BOS.Dll 类库。

image.png

image.png

image.png

3、生成后将你制作好的插件放置到服务端的安装目中的bin目录内,示例路径如下:


D:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin


image.png

4、登录金蝶云星空集成开发平台,在需要使用插件的单据注册你的插件至此完毕。

image.png

image.png

image.png

image.png

5、最后祝你成功!


C# 插件示例代码如下:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

//引用插件,不管什么情况,先把这2个引用

using Kingdee.BOS.Core.Bill.PlugIn;

using Kingdee.BOS;

//热启动,不用重启IIS

using System.ComponentModel;


namespace kingdee.MX.CGSQ.MustInputPlug

{

    public class Class1

    {

    }

    //插件名字

    [Description("表单插件,表单常用方法")]


    //热启动,不用重启IIS

    [Kingdee.BOS.Util.HotUpdate]



    //继承表单插件

    public class ClassName : AbstractBillPlugIn

    {

        //重写按钮点击事件

        public override void BarItemClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)

        {

            base.BarItemClick(e);



            //条件判断,当点击tbSplitSave  保存单据 按钮时候触发

            if (e.BarItemKey == "tbSplitSave")

            {

                //点击按钮,备注字段锁定,变成灰色

                this.View.GetControl("FNote").Enabled = false;

                //点击按钮,备注字段赋值555555555

                this.Model.SetValue("FNote","555555555");

                //点击按钮,备注字段必录

                this.View.GetControl("FNote").SetCustomPropertyValue("MustInput", true);

                //点击按钮,刷新备注字段

                this.View.UpdateView("FNote");             

            }

        }

    }

}


赞 36