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项目中使用的函数相关推荐

  1. 详解在vue项目中使用render函数

    Vue 推荐在绝大多数情况下使用模板来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编程的能力.这时你可以用渲染函数,它比模板更接近编译器. 基础 如何使用: rend ...

  2. myEclipse导出jar包,cmd执行项目中的main函数

    1.项目右击选择export导出 2.选择java文件夹下的Runnable Jar file,点击next. 3.选择测试类与jar包导出的路径,点击finish 4.进入导出路径,会出现相关jar ...

  3. 几个以前项目中使用的函数 (转)

    //作用:把ListBox中的全部内容转换成一个字符串,各个字段间用,分隔   //   //参数:Lists,需要转换的ListBox.items   //   //返回值:转换好的字符串   // ...

  4. python 调用rpc服务_在Django项目中对Python函数进行RPC调用的优雅方式

    我正在尝试创建一个django网站来访问MySQL数据库中的数据.其目的是在Dojo(javascript)中创建一个UI.另外,我希望django后端也提供webservices(RPC for p ...

  5. SQL函数学习(函数在实际项目中 之 COALESCE)

    2013 /01/25 1.取得第一个不为空的值.(函数在项目中的实际应用) COALESCE(a,b,c)这个函数我之前只在书上读到过,这次是第一次在项目中使用这个函数. 设计的要求如下: 如果该用 ...

  6. C++项目中的extern C {}

    2010-07-10 19:45 by 吴秦, 92864 阅读, 22 评论, 收藏, 编辑 引言 在用C++的项目源码中,经常会不可避免的会看到下面的代码: ? 1 2 3 4 5 6 7 8 9 ...

  7. 如何在多个项目中分离Asp.Net Core Mvc的Controller和Areas

    前言 软件系统中总是希望做到松耦合,项目的组织形式也是一样,本篇文章将介绍在ASP.NET CORE MVC中怎么样将Controller与主网站项目进行分离,并且对Areas进行支持. 实践 1.新 ...

  8. C++项目中编译部分C的代码

    在C++项目中如果真能编译部分C的代码,那么一定会用到一下语句 #ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cp ...

  9. Vue.js 中的渲染函数是什么?如何使用渲染函数?

    Vue.js 中的渲染函数是什么?如何使用渲染函数? Vue.js 是一款流行的前端框架,它提供了许多方便的工具和 API,用于构建交互式的用户界面.其中,渲染函数是 Vue.js 中一个强大的工具, ...

  10. java lambda函数_最常用的 Java 8 中的 Lambda 函数(项目中实用笔记)

    最常用的 Java 8 中的 Lambda 函数(项目中实用笔记) 简介 Java 8 中的新特性,虽然现在都出到了Java14版本,不过在日常的开发过程中,8的版本是足够使用了,再说现在的8以上的版 ...

最新文章

  1. noi 2728 摘花生
  2. iOS中容易混淆的知识点(持续更新中)
  3. 用ConfigParser模块读写conf配置文件
  4. 如何手动创建SAP S/4HANA的生产订单
  5. ASP.NET技巧(收集)
  6. 苹果或在2021年新iPhone上增加屏下Touch ID
  7. 技术研究院004---数据仓库系统的实现与使用(含OLAP重点讲解)
  8. 空间计量经济学(1)---空间计量简介与空间权重矩阵设置
  9. Idea的GenerateAllSetter插件,快速填充对象属性
  10. Android手机平板根目录详解
  11. 世界杯梦幻联动.html
  12. Salesforce常用技能
  13. ctf题库--这是什么鬼东西
  14. 边看chromium的代码边想骂人……
  15. 仿大众点评——秒杀系统部分02
  16. 004-PBR历史和概念
  17. Selenium IDE教程
  18. TwinCAT3以太网TCP/IP自由协议通讯
  19. 关于windeployqt 打包程序诸多问题总结(经验之谈)
  20. 中职计算机应用技术是学什么的,自贡职业技术学校:计算机应用技术

热门文章

  1. 【HTML】3.Form表单
  2. matlab 实现disparity,Matlab里的disparity map 计算
  3. 程序员除了写代码,还能做哪些副业?
  4. 一篇文章带你搞懂 JPA 和 hibernate
  5. 计算机乘法函数公式word,计算机函数乘法word 在word中如何算乘法如图
  6. Springboot顺利达驾校预约管理系统毕业设计-附源码191748
  7. 数字IC后端真的不如前端设计和验证吗?
  8. R语言Outliers异常值检测方法比较
  9. 用 Creator 写微信小游戏排行榜
  10. R 语言的表格合并(实际运用)