电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.python.python实现输入框f7事件(弹框列表双击返回)

来源:金蝶云社区作者:金蝶2024-09-164

二开案例.python.python实现输入框f7事件(弹框列表双击返回)

  1. 拉取一个文本字段

    image.webp

  2. 给文本字段勾选上显示编辑按钮

    image.webp

  3. 新建一个普通动态表单

    image.webp

  4. 新建好的如下图:单据体、单据体字段(记得对应的标识)

    image.webp

  5. 动态表单的ID

    image.webp

  6. 基本工作做完后上代码:


  1. # 刚刚新建的动态表单-表单插件代码:
    #引入clr运行库
    import clr
    
    # 添加对cloud插件开发的常用组件的引用
    clr.AddReference('System')
    clr.AddReference('System.Core')
    clr.AddReference('System.Data')
    clr.AddReference("System.Web.Extensions")
    clr.AddReference('Kingdee.BOS')
    clr.AddReference('Kingdee.BOS.DataEntity')
    clr.AddReference('Kingdee.BOS.Core')
    clr.AddReference('Kingdee.BOS.App')
    clr.AddReference('Kingdee.BOS.App.Core')
    clr.AddReference('Kingdee.BOS.ServiceHelper')
    clr.AddReference('Kingdee.BOS.ServiceFacade.Common')
    clr.AddReference('Newtonsoft.Json')
    
    from System.Threading.Tasks import *
    from System.ComponentModel import *
    from Kingdee.BOS import *
    from Kingdee.BOS.Core import *
    from Kingdee.BOS.Core.DependencyRules import *
    from Kingdee.BOS.Core.Bill import *
    from Kingdee.BOS.Core.DynamicForm.PlugIn import *
    from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
    from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
    from Kingdee.BOS.Core.Metadata.FormElement import *
    from System import *
    from System.Data import *
    from System.Threading import *
    from System.Text import *
    from System.Collections.Generic import *
    from System.Linq import *
    from System.IO import *
    from System.Net import *
    from System.Security.Cryptography import *
    from System.Web.Script.Serialization import *
    from Kingdee.BOS.App.Data import *
    from Kingdee.BOS.ServiceHelper import *
    from Kingdee.BOS.Core.DynamicForm import *
    from Kingdee.BOS.Core.Metadata.EntityElement import *
    from Kingdee.BOS.Core.Metadata.FieldElement import *
    from Kingdee.BOS.Orm.DataEntity import *
    from Kingdee.BOS.ServiceFacade import *
    from Newtonsoft.Json import *
    from Newtonsoft.Json.Linq import *
    
    j = JsonSerializerProxy(Encoding.UTF8, False)
    
    # 动态表单加载绑定事件
    def OnLoad(e):
        entity = this.View.BillBusinessInfo.GetEntity("F_PYIV_Entity")
        rows = this.Model.GetEntityDataObject(entity)
        # 可以来源于sql,或者第三方webapi接口(sql自己实现)
        strSql = '''
        select * from xxx
        '''.format(this.Context.UserId)
        lists = DBServiceHelper.ExecuteDynamicObject(this.Context, strSql)
        #拿到的sql绑定到动态表单拉去的单据体中。
        for index, l in enumerate(lists):
            row = DynamicObject(entity.DynamicObjectType)
            # 设置序号,复制使用即可
            entity.SeqDynamicProperty.SetValue(row, 1 + index)
            #row["动态表单中拉取的字段的标识,自己填写"] = I["sql 查询出来的字段名字,自己填写"]
            #row["F_PYIV_Text1"] = l["FDESCRIPTION"]
           #row["F_PYIV_Text2"] = l["FSCHEMEID"]
           #添加到单据体中
            rows.Add(row)
    
    # 双击单据体内容,关闭动态表单,并把选择的值返回到对应父窗体的字段中
    def EntityRowDoubleClick(e):
        # 单据体标识(用于判断是哪个单据体)
        if e.Key == "F_PYIV_ENTITY":
            # 组装需要返回到父窗体的数据
            val = {
                "F_PYIV_Text2": this.View.Model.GetValue("F_PYIV_Text2", e.Row),
                "F_PYIV_Text1": this.View.Model.GetValue("F_PYIV_Text1", e.Row)
            }
            #把要返回的数据写入到父窗体
            this.View.ReturnToParentWindow(val)
            # 关闭动态表单
            this.View.Close()
  2. # 刚刚拉去的文本字段-方案的BeforeF7Select事件。注册在对应表单的表单插件里面
    # 引入clr运行库
    import clr
    
    # 添加对cloud插件开发的常用组件的引用
    clr.AddReference('System')
    clr.AddReference('System.Core')
    clr.AddReference('System.Data')
    clr.AddReference("System.Web.Extensions")
    clr.AddReference('Kingdee.BOS')
    clr.AddReference('Kingdee.BOS.DataEntity')
    clr.AddReference('Kingdee.BOS.Core')
    clr.Ad

二开案例.python.python实现输入框f7事件(弹框列表双击返回)

拉取一个文本字段给文本字段勾选上显示编辑按钮新建一个普通动态表单新建好的如下图:单据体、单据体字段(记得对应的标识)动态表单的ID基...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信