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("请上传模板后再下载");
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值