销售订单快捷录入插件
金蝶云社区-wolfwu2002
wolfwu2002
0人赞赏了该文章 1274次浏览 未经作者许可,禁止转载编辑于2014年07月11日 15:36:20

之前有发过一个帖子咨询如何通过助记码的方式快速录单,{{{/article/1676760}}}
建议的实现方式如下:
1、通过BOS在销售订单分录的物料编码前面增加一个文本字段【助记码】;
2、定义一个表单插件,在值更新事件中,如果【助记码】是变更,则通过sql查询出物料编码;
3、给物料编码字段赋值,系统会自动带出物料其它相关的字段,如计量单位等;
我自己写了一个插件,由于没有经验,遇到很多问题,代码如下:
using System;
using System.Linq;
using System.Text;
using Kingdee.BOS.Core.Bill.PlugIn;
using System.Text.RegularExpressions;
using System.Data;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;

namespace ClassLibrary2
{
public class SaleOrderEdit : AbstractBillPlugIn
{
public override void DataChanged(DataChangedEventArgs e)
{
base.DataChanged(e);
if (e.Field.Key.ToUpperInvariant() == "FZHUJIMA")
{
DynamicObject zhujima = this.View.Model.GetValue("FZHUJIMA") as DynamicObject;
string materialid = string.Format(@"select T_BD_MATERIAL.FNumber from T_BD_MATERIAL where zhujima=T_BD_MATERIAL.FMnemonicCode");
this.View.Model.SetValue("FMaterialId",materialid);

}
}
}
}

问题点如下:
1、在新建工程时,有很多类型,该选哪一项?


2、在工程中有引用的定义,是否在那里定义了代码中就不需要在用引用了


3、在调试时老是提示某种类型没有引用,请问在此例中的引用哪些是缺少的,哪些是多余的?
4、请问这段代码可以实现前面的方案吗?有无语法或逻辑错误?
5、在调试中下面这段代码老提示是否缺少程序集引用,请问是什么问题?


程序方面还是小白,还望多多指教,非常感谢