k3 cloud python 插件实现点击对应的单据编号打开单据

#引入clr运行库 
import clr 
#添加对cloud插件开发的常用组件的引用 
clr.AddReference('Kingdee.BOS') 
clr.AddReference('Kingdee.BOS.Core') 
clr.AddReference('Kingdee.BOS.App')

clr.AddReference("System")
clr.AddReference("System.Linq")
clr.AddReference("System.ComponentModel")
clr.AddReference("System.Core")
#clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.ServiceHelper")
clr.AddReference("Kingdee.BOS.DataEntity")
clr.AddReference('mscorlib')


#clr.AddReference('Kingdee.BOS.Core.DynamicForm.PlugIn')
#clr.AddReference('Kingdee.BOS.Core.DynamicForm.PlugIn.Args')

from Kingdee.BOS.Core.Bill.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.JSON import *
from Kingdee.BOS.Util import *
from System import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.DataEntity import *
from Kingdee.BOS.Orm.DataEntity import *
from Kingdee.BOS.App.Data import *
from Kingdee.BOS.ServiceHelper import *
#from Kingdee.K3.SCM.App.Core.WebApi import *
from Kingdee.BOS.Core.Metadata import SelectorItemInfo ##字段选择实体类
from Kingdee.BOS.Core.SqlBuilder import QueryBuilderParemeter ##查询参数实体类

#文本超链接执行方法
def  EntryButtonCellClick(e):
   
    #单据编号标识
     if  e.FieldKey.Equals("F_PAEZ_Text", StringComparison.OrdinalIgnoreCase):
           #获取传递过来的参数,本单据中为收款单的单据编号
        fbillno=this.Model.GetValue(e.FieldKey,e.Row);
        queryParam = QueryBuilderParemeter();
        queryParam.FormId = "AR_RECEIVEBILL";
        queryParam.SelectItems.Add(SelectorItemInfo("FID"));
        queryParam.FilterClauseWihtKey ="FBillNo ='%s'" %fbillno  #. format("","SKD00000753"  #, "SKD00000753");
        # using Kingdee.BOS.ServiceHelper;
        objs = QueryServiceHelper.GetDynamicObjectCollection(this.Context, queryParam);
        result=objs[0][0]
        parameter =BillShowParameter();
        parameter.Status = OperationStatus.EDIT;
        parameter.FormId = "AR_RECEIVEBILL";#收款单
        parameter.PKey = str(result);
        parameter.OpenStyle.ShowType =ShowType.MainNewTabPage;#打开方式,到主界面一个新的页签
                    #param.ParentPageId = this.View.PageId;//指定ParentPageId,可以实现打开的界面直接拿到父界面的数据 如this.View.ParentFormView.Model.DataObject
        this.View.ShowForm(parameter);


     

posted on   这一生,谢谢自己  阅读(428)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示