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

移动BOS插件开发

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

移动BOS插件开发

       通过插件开发,开发人员可以自己通过代码调用接口读取、保存业务数据,给界面字段赋值、控制控件的可见性和锁定性,也可以在标准业务功能的基础上做特殊处理,从而达到灵活、自由地实现不同业务的目的。

学习目标

  •  了解移动插件分类。

  •  新建移动插件,了解移动插件的关键插件事件和接口。

  •  如何注册插件。

  •  移动开发如何本地调试



移动插件开发介绍

1、移动插件分类,根据移动业务对象不同,移动插件分为:

  1. 1、移动表单插件,它的基类是:AbstractMobilePlugin


  1. 2、移动单据插件,它的基类是:AbstractMobileBillPlugin


  1. 3、移动单据列表插件,它的基类是:AbstractMobileListPlugin


  • 插件开发时都会调用到平台相关的通用接口,所以插件项目至少引用下图红圈中的组件:



2、关键插件事件和接口

  1. 1、移动表单插件开发实例

  • 插件示例代码:

using Kingdee.BOS.Mobile.PlugIn;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LKD.MobileDemoPlugins
{
 /// <summary>
 /// 移动表单插件
 /// </summary>
 public class MobileFormEdit : AbstractMobilePlugin
 {
   public override void AfterBindData(EventArgs e)
   {
     //单据头字段赋值,"F_LKD_Text"为字段的唯一标识
     this.View.Model.SetValue("F_LKD_Text","文本字段设置值");
     //单据头字段取值
     string strText = this.View.Model.GetValue("F_LKD_Text").ToString();
     //移动列表字段赋值
     int row = 0; //单据体(移动列表)行索引,索引号从 0开始
     this.View.Model.SetValue("F_LKD_Text1", "文本字段设置值", row);
     //单据体(移动列表)字段取值
     string strRowText = this.View.Model.GetValue("F_LKD_Text1", row).ToString();
     //单据体(移动列表)新增行、并给字段赋值
     for (int i = 0; i < 5; i++)
     {
       //单据体(移动列表)新增行,"F_LKD_MobileListViewEntity"为单据体的唯一标识
       this.View.Model.CreateNewEntryRow("F_LKD_MobileListViewEntity");
       int rowCount = this.View.Model.GetEntryRowCount("F_LKD_MobileListViewEntity");
       this.View.Model.SetValue("F_LKD_Text1", "F_LKD_Text1" + rowCount, rowCount);
       this.View.Model.SetValue("F_LKD_Integer", rowCount, rowCount);
     }
   }
  }
}



  • 打开子界面示例代码  

       插件代码打开一个移动表单、单据详情界面:

var paramDy = new MobileShowParameter();                         
paramDy.FormId = "MOB_MobileBill";    //移动单据唯一标识
paramDy.PKey = "1000010";  //单据内码
paramDy.CustomParams.Add("mykey", "myvalue"); //往子窗口传递参数
this.View.ShowForm(paramDy);


      插件代码打开一个移动单据列表界面(移动单据才有移动单据列表、移动表单没有) 

var paramDy = new MobileListShowParameter();                         
paramDy.FormId = "MOB_MobileBill";    //移动单据唯一标识
paramDy.CustomParams.Add("mykey", "myvalue"); //往子窗口传递参数
this.View.ShowForm(paramDy);

        

     子表单如何获取父表单传递过来的参数  

  



  • 其他参考示例代码

        移动BOS开发技巧 -- 移动BOS中如何打开一个网页链接

        移动BOS开发 -- 控件属性设置代码示例

        移动BOS开发 -- 底部菜单属性设置代码示例

        移动BOS - ShowForm打开详解

        

      


  1. 2、移动单据插件关键事件、取值、赋值方法

     移动单据的插件和移动表单的插件一样,只是基类不一样,移动单据的插件继承自:AbstractMobileBillPlugin,还有移动单据关联一个来源单据,它的数据来源于对应的来源单据,所以对它取值和赋值操作,实际上就是对来源单据的取值和赋值。


using Kingdee.BOS.Mobile.PlugIn;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LKD.MobileDemoPlugins
{
    /// <summary>
    /// 移动单据插件
    /// </summary>
    public class SaleOrderBillDemoEdit : AbstractMobileBillPlugin
    {
        public override void AfterBindData(EventArgs e)
        {
            //获取来源单据的单据编号,FBillNo为来源单据的单据编号字段唯一标识
            var billNo = this.View.BillModel.GetValue("FBillNo");

            //给来源单据的文本字段赋值,FBillNo为来源单据的单据编号字段唯一标识
            this.View.BillModel.SetValue("FBillNo", "单据编号");

            //获取来源单据的单据体第5行的订单数量,FQty为来源单据的单据体的订单数量字段唯一标识
            var billNo = this.View.BillModel.GetValue("FQty", 5);

            //获取来源单据的单据体第5行的订单数量,FQty为来源单据的单据体的订单数量字段唯一标识
            this.View.BillModel.SetValue("FQty", "单据编号", 5);

            //刷新移动代理字段,F_PAEZ_MobileProxyField为移动单据上移动代理字段的唯一标识
            //插件中代码给来源单据的字段赋值,要另外调用UpdateView刷新对应代理字段,结果才会在移动单据中展示处理
            this.View.UpdateView("F_PAEZ_MobileProxyField");

        }
    }
}



  1. 3、移动单据列表插件关键事件

using Kingdee.BOS.Core.List.PlugIn.Args;
using King

移动BOS插件开发

通过插件开发,开发人员可以自己通过代码调用接口读取、保存业务数据,给界面字段赋值、控制控件的可见性和锁定性,也可以在标准...
点击下载文档文档为doc格式

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

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