04 Aras Innovator二次开发-客户端方法

客户端方法为JS方法。

系统提供了很多触发点,可以嵌入客户端方法,如下:

1 对象类的客户端事件页签:

2 窗体的Form Event和Filed Event

3.关系类的网格事件:

4 属性事件:

5.可自定义Action,触发客户端事件:

下面我们用一个示例,演示Form Event和Field Event的使用方法。

该示例依旧使用My Part对象类,我们使用客户端方法,计算零件的总成本。

总成本的计算方式:My BOM页签每条关系数据的成本*数量,然后相加即为总成本。

第一个客户端方法,在My Part的Form Event的On Load触发,方法如下:

top.window.moveTo(0,0);
top.window.resizeTo(screen.width,screen.height-50);   //自动根据屏幕大小调整窗体大小

document.CostRollupThisItem = function()
{
  var total = 0;
  var boms  = document.thisItem.getItemsByXPath(
    "//Item[@type='My BOM']");   //获取My BOM页签的数据
  var count = boms.getItemCount();
  for (var i=0; i<count; ++i)   ///遍历数据
  {
    var bom  = boms.getItemByIndex(i);
    var part = bom.getRelatedItem();
    var cost = part.getProperty("cost");
    var qty  = bom.getProperty("qty");
    total += cost * qty;
  }
  handleItemChange("cost",total);
};

document.CostRollupFromServer = function()
{
  var total = 0;
  var q = document.thisItem.newItem("My BOM","get");   ///从服务端查询My BOM关系页签数据
  q.setProperty("source_id",document.itemID);
  q.setAttribute("select","qty,related_id(cost)");
  var result = q.apply();
  var boms  = result.getItemsByXPath("//Item[@type='My BOM']");
  var count = boms.getItemCount();
  for (var i=0; i<count; ++i)
  {
    var bom  = boms.getItemByIndex(i);
    var part = bom.getRelatedItem();
    var cost = part.getProperty("cost");
    var qty  = bom.getProperty("qty");
    total += cost * qty;
  }
  handleItemChange("cost",total);
};

document.CostRollupFromGrid = function()
{
  var total = 0;
  //var grid = top.relationships.frames[0].grid;  //11SP9及老版本获取关系类页签网格
  var grid=top.frames.relationships.iframesCollection[1].contentWindow.grid;    ///11SP12及新版本获取关系类网格
  var ids  = grid.getAllItemIds('|').split('|');  ///获取网格的所有行ID
  for (var i=0; i<ids.length; ++i)
  {
    var id   = ids[i];
    var cost = grid.cells(id,6).GetValue();  //获取对应的列的数据,列索引从0开始
    var qty  = grid.cells(id,2).GetValue();
    total += cost * qty;
  }
  handleItemChange("cost",total);
};

方法命名为Lab34,嵌入至Form的On Load事件:

此方法书写完成后,再写三个客户端方法,用来触发三种计算方式,因第一个方法在预先加载,因此此处仅调用客户端方法即可,代码如下:

在窗体上添加三个按钮,然后在按钮的Field Event的On Click事件中嵌入对应的客户端方法,如下图:

窗体保存后,我们打开My Part窗体,点击按钮,即可计算总成本,如下:

Form Event和Field Event为较常用的客户端事件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/479108.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot746旧物置换网站

springboot746旧物置换网站 获取源码——》公主号&#xff1a;计算机专业毕设大全

【plt.hist绘制直方图】:从入门到精通,只需一篇文章!【Matplotlib可视化】

【&#x1f4ca;plt.pie绘制直方图】&#xff1a;从入门到精通&#xff0c;只需一篇文章&#xff01;【Matplotlib可视化】&#xff01; 利用Matplotlib进行数据可视化示例 &#x1f335;文章目录&#x1f335; &#x1f4c8; 一、引言&#x1f50d; 二、plt.hist()函数基础&am…

前端仔浅浅复习一下服务器的购买与使用

最近想买个服务器搭建个博客玩玩&#xff0c;所以就重新熟悉一下&#xff0c;从0到1&#xff0c;从购买服务器到使用的整个流程。 产品选择 阿里云和腾讯云两个大头居多&#xff0c;两个都有新人首购优化&#xff0c;100以内一年&#xff0c;对比一下看哪边的优惠力度大就选哪…

AT24C02(I2C总线)通信的学习

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、存储器介绍二、AT24C02芯片二、I2C总线I2C电路规范I2C时序结构I2C数据帧AT24C02数据帧 总结 前言 学习AT24C02(I2C总线)芯片 一、存储器介绍 RAM&#xf…

自适应网站建站源码系统 带完整的安装代码包以及搭建教程

在当今数字化时代&#xff0c;拥有一个功能全面且能够适应不同设备的网站对于企业和个人来说至关重要。罗峰给大家分享一款全新的自适应网站建站源码系统&#xff0c;它不仅提供了完整的安装代码包&#xff0c;还附带了详细的搭建教程&#xff0c;帮助用户轻松构建出具有响应式…

解决kkFileView4.4.0版本pdf、word不能预览问题

这里使用的是http下载流url预览&#xff0c;遇到的问题。 官方使用指南&#xff1a;kkFileView - 在线文件预览 1 前端测试代码 1.1 官方示例代码 1.2 本人测试代码 注意&#xff1a;要给预览文件的url进行编码encodeURIComponent(Base64.encode(previewUrl))。 <!DOCTYP…

多线程案例

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 单例模式 饿汉模式 懒汉模式 阻塞队列 生产者-消费者模型意义 定时器 单例模式 单例模式就…

Linux网络编程——序列反序列化

文章目录 0. 前言1. 认识协议2. 序列号与反序列化3. 自定义协议——网络计算器4. json 本章Gitee仓库&#xff1a;序列反序列化 0. 前言 tcp是面向字节流的&#xff0c;但是如何保证读取的数据是一个完整的报文呢&#xff1f; 管道也是面向字节流&#xff0c;写端写了一大堆的…

Redis篇----第九篇

系列文章目录 文章目录 系列文章目录前言一、说说 Redis 哈希槽的概念?二、Redis 集群的主从复制模型是怎样的?三、Redis 集群会有写操作丢失吗?为什么?四、Redis 集群之间是如何复制的?五、Redis 集群最大节点个数是多少?前言 前些天发现了一个巨牛的人工智能学习网站,…

前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十二章 常用工具函数 (Utils配置)

前言 在项目开发中&#xff0c;我们经常会使用一些工具函数&#xff0c;也经常会用到例如loadsh等工具库&#xff0c;但是这些工具库的体积往往比较大&#xff0c;如果项目本身已经引入了这些工具库&#xff0c;那么我们就没有必要再引入一次&#xff0c;所以我们需要自己封装…

基于WOA优化的Bi-LSTM多输入回归预测(Matlab)鲸鱼算法优化双向长短期神经网络回归预测

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 鲸鱼优化算法&#xff08;WOA&#xff09;&#xff1a; 双向长短期神经网络&#xff08;Bi-LSTM&#xff09;&#xff1a…

PCIe学习笔记(2)错误处理和AER/DPC功能

文章目录 PCIe ErrorAER (Advanced Error Reporting)DPC (Downstream Port Containment) 处理器上错误通常可分为detected和undetected error。Undetected errors可能变得良性(benign)&#xff0c;也可能导致系统故障如silent data corruptions (SDC)。Detected errors则又可分…