天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1504|回复: 0

[常见问题] 产品采购Demo例子

[复制链接]
Chain 发表于 2019-9-2 17:08:02 | 显示全部楼层 |阅读模式
使用场景:通过预先录入产品信息,之后在采购单中打开弹窗勾选若干产品,之后勾选的产品信息会在采购单的子表中显示,并可以修改数量,核算总价之后进行流程审批。

主要通过用三张表来实现,采购清单、采购主表、采购子表,采购清单用来记录产品信息,主表用来勾选和展示数据,子表用来映射主表中勾选的采购清单信息(子表可以新建一张新的表单作为子表,也可以直接用采购清单的视图也可以)。

配置步骤:

第一步:创建采购清单,并一键生成视图,录入若干条数据。

采购demo01.png

采购demo02.png

第二步:创建采购子表,表单控件除了数量其他的都设置为只读,并一键生成视图,视图打开方式设置为网格类型。

采购demo03.png

采购demo04.png

第三步:创建采购主表,添加基础字段,然后添加一个产品名称控件(该控件主要作用于被视图选择框进行字段映射),如果表单中会用到该控件可以直接显示,用不到该控件则直接隐藏即可。

采购demo05.png

第四步:在采购主表中,添加视图查询框,用来查询采购清单的数据,并添加确定后执行脚本。
  1. var process = getDocumentProcess();                                          
  2. var formProcess = getFormProcess();        //申明表单业务处理类                                          
  3. var form = formProcess.doViewByFormName("采购子表",getApplication());                                          
  4. var webuser = getWebUser();            
  5. var sid = getParameter("_selects");        
  6. var aa =getCurrentDocument().getId();     
  7. var arr = splitText(sid, ";");                  
  8. for (var i=0;i<arr.length;i++) {            
  9.     var fd=findDocument(arr[i]);            
  10.     var value = fd.getItemValueAsString("产品名称");      //这个是视图选择框中的视图字段      
  11.     var value1 = fd.getItemValueAsString("产品单价");
  12.         var value2 = fd.getItemValueAsString("产品规格");
  13.     var doc1 = process.doNew(form,webuser,createParamsTable());//创建记            
  14.     doc1.findItem("产品名称").setValue(value);            
  15.     doc1.findItem("产品单价").setValue(value1);   
  16.         doc1.findItem("产品规格").setValue(value2);         
  17.     doc1.setParent(aa);
  18.     doc1.setIstmp(false);   
  19.     process.doCreate(doc1);      
  20. }
复制代码
采购demo06.png

采购demo07.png

效果展示:

采购demo.gif

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 14:01

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表