基础金蝶云星空的插件开发进行二次封装,让整个开发更加面向对像化,降低代码量提高工作效率。对常用的单据头、单据体、基础资料进行了封装,易于使用。
单据头操作
//单据头读取值
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";
}
}
copyright 广西自贸区兆吉信息技术有限公司 QQ 2894339590