yigo项目中使用的函数
yigo函数
- 公共操作列表函数
- 维护表单的操作
- 新增
- 修改(编辑)
- 保存
- 取消
- 启动
- 停用
- 作废
- 列表视图的操作
- 新增
- 修改
- 启用
- 在项目中使用
- 数据对象
- 普通或实体表单
- 函数
- 列表视图
- 函数
公共操作列表函数
维护表单的操作
新增
普通新增
New(formKey, target)
formKey 表单的标识,需要为实体类型的表单,否则新建的表单无意义;如果表单不存在,抛出指
定的表单不存在异常。
target 打开的目标,取值为"self"(覆盖自身)、“newtab”(新tab页中打开)、“modal”(显示为模
态)。可选参数,默认值为"newtab"。如果取值为self时,将当前界面置为新增状态,并不创建新
的表单,此时formKey的取值无效。
// 新建一个表单,并在新tab页中显示
New("StockIn")
// 新建一个表单,并显示为模态窗口
New("StockIn", "modal")
// 将当前界面置为新增状态
New("StockIn", "self")
带判断的新增
ClearSelection() 清除DictView的选中行。
NewDict(“Mtl”) // 打开一个Mtl字典
GetFormKey() 取得当前表单的表单标识。
Close() 关闭表单界面。
ClearSelection(GetFormKey());
NewDict(GetFormKey());
Close();
修改(编辑)
Edit();
保存
SaveData();UpdateView();
取消
取消表单的新增和编辑状态。将表单转入默认状态。
Cancel();
启动
原型:SetValue(key, value, fireEvent)
功能:给表单中的组件设置值,在需要触发值改变事件的情况下,执行值改变事件。
参数:
• key 组件的标识
• value 新的值
• fireEvent 是否触发事件标志,可选参数,默认值为false。
SetValue('数据列标识',新值);
GetOperator() 取得当前登录用户标识。
ServerDate() 返回中间层的服务器时间。
SetValue('Enable',1);
SetValue('EnablePerson',GetOperator());
SetValue('EnableTime',ServerDate());
SaveData();UpdateView();
停用
SetValue('Enable',0);
SetValue('DisablePerson',GetOperator());
SetValue('DisableTime',ServerDate());
SaveData();UpdateView();
作废
SetValue('Enable',-1);
SaveData();UpdateView();
列表视图的操作
新增
NewDict('SC_SalesArea'); //新增一个SC_SalesArea表单
修改
var i=0;
while(i<GetRowCount('Grid1')){ //取得ListView和Grid组件的行数。var sv=GetCellValue('Grid1',i,'select'); //取得表格中指定单元格的值。var OID=GetCellValue('Grid1',i,'OID'); //("表单标识",行号,"单元格的标识")if(sv==1){ //被选中PushPara('edit',true);OpenDict('SC_SalesArea', OID); // 通过字典的标识和数据对象OID打开一个字典。 }i = i + 1;
}
启用
IIF(GetPara('enable')==false,false,true);
在项目中使用
在实际项目过程中,我们可能会使用数据对象作为链式字典,使用实体或普通来绑定字典,使用视图来查询字典数据,
数据对象
在yigo中只有使用缓存,必须使用字典,只有字典中可以设置使用缓存
新建数据对象,设置为实体数据对象、链式字典、来源于数据、头表和明细表、需要关联的数据设置需要缓存
普通或实体表单
实体或普通表单的数据来源于刚刚新建的数据对象
单据状态设置为来源于参数组,设置组标识。参数组在CommonDef.xml中设置——参数表>新增
设置状态默认值为启用状态
每一个实体表单都要有系统信息
函数
保存
SaveData(); UpdateView();
新增
New('表单标识', 'self');
删除
DeleteData();UpdateView();Close();
编辑
Edit();
启用
EnabledDict(GetDataObjectKey(),GetOID());LoadData();UpdateView();
停用
EnabledDict(GetDataObjectKey(),GetOID(),0);LoadData();UpdateView();
作废
EnabledDict(GetDataObjectKey(),GetOID(),-1);LoadData();UpdateView();
取消
Cancel();
列表视图
数据来源于新增数据对象
表来源类型设置为来源于查询,设置查询语句,查询数据源中的头表
列表数据源中新增字段,要和被查询的数据表的字段相同
在头表中设置查询条件,无数据表,无字段
查询条件控件需要设置——》字段查询属性
为数据展示列表设置行双击事件,用来双击打开实体明细表单
Open('TM_SalesArea', OID)
查询按钮的点击事件
DealCondition();LoadData();ShowData();
重置按钮的点击事件
ResetCondition();
函数
首先需要在查询集合中设置数据库操作语句,作为启用,停用,作废DBNamedUpdate函数的查询语句来源
//启用
UPDATE tm_salesarea_h set Enable=1,EnablePerson=?,EnableTime=? WHERE oid=?
//停用
UPDATE tm_salesarea_h set Enable=0,disableperson=?,disabletime=? WHERE oid=?
//作废
UPDATE tm_salesarea_h set Enable=-1 WHERE oid=?
新增
NewDict('TM_SalesArea');
修改
var i = 0;
while(i<GetRowCount('list')){
var sv = GetCellValue('list',i,'select');
var OID = GetCellValue('list',i,'OID');
if(sv==1){ //被选中
PushPara('edit',true);
OpenDict('TM_SalesArea', OID);//打开字典?
}
i = i + 1;
}
启用
var i=0;
while(i<GetRowCount('list')){
var sv = GetCellValue('list',i,'select'); //复选框
var eb = GetCellValue('list',i,'Enable'); //状态标识
if(sv==1&&(eb==-1||eb==0)){
EnabledDict("TM_SalesArea",GetCellValue("list",i,"OID"),1); //设置字典单据状态
DBNamedUpdate('queryKey1',GetOperator(),ServerDate(),GetCellValue('list',i,'OID')); //引用查询集合中的查询语句
SetCellValue('list',i,'Enable',1); //状态变成启用
SetCellValue('list',i,'select',0); //复选框变成不选
}
i = i + 1;
}
停用
var i=0;
while(i<GetRowCount('list')){
var sv = GetCellValue('list',i,'select');
var eb = GetCellValue('list',i,'Enable');
if(sv==1&&eb==1){
EnabledDict("TM_SalesArea",GetCellValue("list",i,"OID"),0);
DBNamedUpdate('queryKey2',GetOperator(),ServerDate(),GetCellValue('list',i,'OID'));
SetCellValue('list',i,'Enable',0);
SetCellValue('list',i,'select',0);
}
i = i + 1;
}
作废
var i=0;
while(i<GetRowCount('list')){
var sv=GetCellValue('list',i,'select');
var eb = GetCellValue('list',i,'Enable');
if(sv==1&&eb==0){
EnabledDict("TM_SalesArea",GetCellValue("list",i,"OID"),-1);
DBNamedUpdate('queryKey3',GetOperator(),ServerDate(),GetCellValue('list',i,'OID'));
SetCellValue('list',i,'Enable',-1);
SetCellValue('list',i,'select',0);
}
i = i + 1;
}
导入
ImportExcel(true,false,"");
导出
ExportExcelWithTemplate("", true);
模板下载
var path = DBNamedQueryValue('');//模板名称
if(path!=""){DownloadAttachment(-1,"",path);//导入模板
}else{
Confirm("请上传模板后再下载");
}
yigo项目中使用的函数相关推荐
- 详解在vue项目中使用render函数
Vue 推荐在绝大多数情况下使用模板来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编程的能力.这时你可以用渲染函数,它比模板更接近编译器. 基础 如何使用: rend ...
- myEclipse导出jar包,cmd执行项目中的main函数
1.项目右击选择export导出 2.选择java文件夹下的Runnable Jar file,点击next. 3.选择测试类与jar包导出的路径,点击finish 4.进入导出路径,会出现相关jar ...
- 几个以前项目中使用的函数 (转)
//作用:把ListBox中的全部内容转换成一个字符串,各个字段间用,分隔 // //参数:Lists,需要转换的ListBox.items // //返回值:转换好的字符串 // ...
- python 调用rpc服务_在Django项目中对Python函数进行RPC调用的优雅方式
我正在尝试创建一个django网站来访问MySQL数据库中的数据.其目的是在Dojo(javascript)中创建一个UI.另外,我希望django后端也提供webservices(RPC for p ...
- SQL函数学习(函数在实际项目中 之 COALESCE)
2013 /01/25 1.取得第一个不为空的值.(函数在项目中的实际应用) COALESCE(a,b,c)这个函数我之前只在书上读到过,这次是第一次在项目中使用这个函数. 设计的要求如下: 如果该用 ...
- C++项目中的extern C {}
2010-07-10 19:45 by 吴秦, 92864 阅读, 22 评论, 收藏, 编辑 引言 在用C++的项目源码中,经常会不可避免的会看到下面的代码: ? 1 2 3 4 5 6 7 8 9 ...
- 如何在多个项目中分离Asp.Net Core Mvc的Controller和Areas
前言 软件系统中总是希望做到松耦合,项目的组织形式也是一样,本篇文章将介绍在ASP.NET CORE MVC中怎么样将Controller与主网站项目进行分离,并且对Areas进行支持. 实践 1.新 ...
- C++项目中编译部分C的代码
在C++项目中如果真能编译部分C的代码,那么一定会用到一下语句 #ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cp ...
- Vue.js 中的渲染函数是什么?如何使用渲染函数?
Vue.js 中的渲染函数是什么?如何使用渲染函数? Vue.js 是一款流行的前端框架,它提供了许多方便的工具和 API,用于构建交互式的用户界面.其中,渲染函数是 Vue.js 中一个强大的工具, ...
- java lambda函数_最常用的 Java 8 中的 Lambda 函数(项目中实用笔记)
最常用的 Java 8 中的 Lambda 函数(项目中实用笔记) 简介 Java 8 中的新特性,虽然现在都出到了Java14版本,不过在日常的开发过程中,8的版本是足够使用了,再说现在的8以上的版 ...
最新文章
- noi 2728 摘花生
- iOS中容易混淆的知识点(持续更新中)
- 用ConfigParser模块读写conf配置文件
- 如何手动创建SAP S/4HANA的生产订单
- ASP.NET技巧(收集)
- 苹果或在2021年新iPhone上增加屏下Touch ID
- 技术研究院004---数据仓库系统的实现与使用(含OLAP重点讲解)
- 空间计量经济学(1)---空间计量简介与空间权重矩阵设置
- Idea的GenerateAllSetter插件,快速填充对象属性
- Android手机平板根目录详解
- 世界杯梦幻联动.html
- Salesforce常用技能
- ctf题库--这是什么鬼东西
- 边看chromium的代码边想骂人……
- 仿大众点评——秒杀系统部分02
- 004-PBR历史和概念
- Selenium IDE教程
- TwinCAT3以太网TCP/IP自由协议通讯
- 关于windeployqt 打包程序诸多问题总结(经验之谈)
- 中职计算机应用技术是学什么的,自贡职业技术学校:计算机应用技术