Skip to content

vebin/Kingdee.Bos.Plug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

金蝶云星空(k3 cloud)二次开发封装易用性框架

  基础金蝶云星空的插件开发进行二次封装,让整个开发更加面向对像化,降低代码量提高工作效率。对常用的单据头、单据体、基础资料进行了封装,易于使用。

快速入门使用样例

单据头操作

	//单据头读取值
	var id = this.Heads["F_Cuest"].Id;//返回单据头,基础资料Id
	var number = this.Heads["F_Cuest"].Number;//返回单据头基础资料编码
	var name = this.Heads["F_Cuest"].Name;//返回单据头基础资料名称
	var text=this.Heads["F_RVWT_Text"].ToString();//返回单据头字符数组
	
	//单据头基础资料通过编码赋值
	this.Heads["F_Cuest"].Number="01.01";
	this.Heads["F_Cuest"].Id=1000;
	//单据头赋值
	this.Heads["F_RVWT_Text"].Value="Hello word";


单据体操作

	//单据体
	var row = this.Entities["EntityName"].Rows[0];//获取单据体行对像
	var cellBaseId = row["F_Material"].Id;
	var cellBaseNumber = row["F_Material"].Number;
	var cellBaseName = row["F_Material"].Name;
	var cellValue = row["F_Material"].Value;
	
	//单据体单元格通过编码赋值
	row["F_Material"].Number="01.01";
	row["F_Material"].Id=10001;
	
	//获取单据体名为EntityName数据行数
	var rowCount = this.Entities["EntityName"].Rows.Count;

插件使用

按金蝶插件开发手册正常开发即可,在进行继承的地方不要写AbstractBillPlugIn,插件需要继承于FormBillModelPlugIn
注:实际上FormBillModelPlugIn也是继承于AbstractBillPlugIn

以下是插件的例子,以及封装好的一些常用功能

	[Kingdee.BOS.Util.HotUpdate]
    public class BillerTest:Biller//这里继承时需要注意
    {
        public override void ButtonClick(ButtonClickEventArgs e)
        {
            var headName = "";
            var bodyName = "";
            var cellName = "";
            var cellItemName = "";

            //单据头操作
            var id = this.Heads["F_RVWT_Material"].Id;//基础资料,返回Id
            var number = this.Heads["F_RVWT_Material"].Number;//基础资料,返回代码
            var name = this.Heads["F_RVWT_Material"].Name;//基础资料,返回名称

            var value = this.Heads["F_RVWT_Material"].Value;//返回DynamicObject对像
            var toStringOrEmpty = this.Heads["F_RVWT_Text"].ToStringOrEmpty();//转字符串或返回空串
            var toDouble = this.Heads["F_RVWT_Decimal"].ToDouble();//转为浮点数
            var toInt = this.Heads["F_RVWT_INTEGER"].ToInt();//转为整数
            var toIntOrDefault = this.Heads["F_RVWT_INTEGER"].ToIntOrDefault(0);//转为整数,如果为null则返回默认值
            var tryToIntOrDefault = this.Heads["F_RVWT_INTEGER"].TryToIntOrDefault(0);//转为整数,如果异常则返回默认值
            var toDataTime = this.Heads["F_RVWT_Date"].ToDateTime();//转换为DateTime
            var tryToDateTimeOrDefault = this.Heads["F_RVWT_Date"].TryToDateTimeOrDefault(DateTime.Now);//转换为DateTime,如果出现异常则返回当前时间
            var isNull = this.Heads["xxxx"].IsNull();

            //单据头赋值
            this.Heads[headName].Number = "01.01";//使用代码给基础资料赋值

            //单据体
            var t = this.Entities[bodyName].Rows.Count;//单据休行数
            var row = this.Entities[bodyName].Rows[0];//单据体bodyName,第0行,第ItemNumber列

            //单据体单元格
            var cellBaseId = row[cellItemName].Id;
            var cellBaseNumber = row[cellItemName].Number;
            var cellBaseName = row[cellItemName].Name;
            var cellValue = row[cellItemName].Value;

            var cellToStringOrEmpty = row[cellItemName].ToStringOrDefault("FEntity");
            var cellToDouble = row[cellItemName].ToDouble();
            var cellToInt = row[cellItemName].ToInt();
            var cellToIntOrDefault = row[cellItemName].ToIntOrDefault(0);
            var cellTryToIntOrDefault = row[cellItemName].TryToDoubleOrDefault(0);
            var cellToDataTime = row[cellItemName].ToDateTime();//转换为DateTime
            var cellTryToDateTimeOrDefault = row[cellItemName].TryToDateTimeOrDefault(DateTime.Now);//转换为DateTime,如果出现异常则返回当前时间

            //单据体赋值
            row[cellItemName].Number = "01.01";
        }
    }

项目结构图

avatar

copyright 广西自贸区兆吉信息技术有限公司 QQ 2894339590

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages