- Python插件脚本对照
- C# 插件脚本
- 1. 写窗体回调函数
- 2. 封装弹出窗体函数
- 3. 重写BeforeF7Select
C# 插件对应 Python 插件脚本实现功能是一样的,有个对比参照
1. 写窗体回调函数 public void Contacts_CallBack(FormResult res)
{
try
{
if (res.ReturnData == null)
return;
var m = ((ListSelectedRowCollection)res.ReturnData)[0];
var row = m.DataRow as DynamicObjectDataRow;
var obj = (Kingdee.BOS.Orm.DataEntity.DynamicObject)row.DynamicObject;
var mobile = obj["FMOBILE"].ToString();
this.View.Model.SetValue("FRECIPIENT_TEL", mobile);
this.View.Model.SetValue("FReveiceName", m.Name);
}
catch (Exception ex)
{
this.View.ShowMessage("选择数据返回异常,请联系管理员!", Kingdee.BOS.Core.DynamicForm.MessageBoxOptions.OK);
}
//foreach (var item in res.ReturnData)
//{
//}
}
2. 封装弹出窗体函数
///3. 重写BeforeF7Select/// 弹出列表窗体 /// /// this /// 弹出窗体id /// 回调函数 /// 筛选脚本 public static void Show_FrmList(AbstractBillPlugIn Bill, string form_id, Actionaction, string strFilter = "") { var showParam = new ListShowParameter() { Context = Bill.Context, FormId = form_id,//e.FieldKey IsShowApproved = true,// 只显示审核后的单据 MultiSelect = false, PermissionItemId = PermissionConst.View, IsLookUp = true, //OpenStyle = ShowType.Modal, PageId = Guid.NewGuid().ToString(), ParentPageId = Bill.View.PageId }; if (!string.IsNullOrEmpty(strFilter)) { showParam.ListFilterParameter.Filter = strFilter; } Bill.View.ShowForm(showParam, action); }
public override void BeforeF7Select(BeforeF7SelectEventArgs e)
{
base.BeforeF7Select(e);
switch (e.FieldKey.ToUpper())
{
case "FREVEICENAME":// 选择客户联系人 改为Python 插件
string cusid = this.View.Model.DataObject["FCustomerID_Id"].ToString();
if (!string.IsNullOrEmpty(cusid) && cusid != "0")
{
// 调用封装好的 弹出窗体
Common.PlugIn_Helper.Show_FrmList(this, "BD_CustContact", Contacts_CallBack, " FCustId= '" + cusid + "'");
}
else
{
this.View.ShowMessage("请先选择开票客户或者选择合同号!", Kingdee.BOS.Core.DynamicForm.MessageBoxOptions.OK);
}
break;
default:
break;
}
}



