用友yonsuite产品二开之简单的yonsql查询小工具
和以往的用友产品不同,yonsuite产品开发了低代码平台,满足客户的个性化开发需求。 它支持页面设计,前端函数以及后端函数的编写,后端函数分普通函数和API函数,API函数才可以让前端调用。然后在函数中可以通过yonSQL进行查询数据,对就是yonSql,他是平台新的sql规则,和数据库SQL有点小差别,但不影响。功能整体还是比较强大的。
- 平台网址:https://yonsuite.diwork.com/#/ 还有开发者平台比赛,有兴趣可以参与一下,在网站没找到文档···
http://tinper.org/mdf/docs#/wa0ing.html

如何进行二次开发?
- 登录系统(点击左上角风车,找到应用构建平台进行应用构建) 无法没有那就是没有权限

- 创建应用

- 创建实体
实体相当于数据库表,枚举相当于数据字典,查询是用作设计报表,创建实体后才能创建页面

- 创建页面
创建页面要基于相应的实体创建,实体时可以选择父实体,界面就可以绘制主子表结构页面


- 创建函数

- 使用函数
打开页面设计设置对应的前端函数,注意前端控件只能设置前端函数 
测试应用yonSQL查询小工具
- 前端函数
主要实现功能获取第一个输入框的值,是一个yonsql,传给后台执行sql,返回结果显示到第二个输入框中
cb.rest.invokeFunction (参数1:后台API函数调试ID;参数2:请求参数)
function (event) {
var viewModel = this;
var strSql= viewModel.get('item0sj').getValue();
cb.rest.invokeFunction("78645a2796ea481092c9a7b3ebf68655", {querySql:strSql},
function(err, res) {
console.log(err);
console.log(res.rst);
if(err!==null){
cb.utils.alert('拉取数据异常,请联系开发');
}else{
if(res.exception===undefined){
viewModel.get('item2qd').setValue(""+JSON.stringify(res.rst));
}else{
cb.utils.alert(res.exception);
}
}
});
}
- 后端函数
后端函数的语法也是类似javascript的语法,这里主要实现功能就是讲前台传过来的sql进行数据库查询接口返回给前台
let AbstractAPIHandler = require('AbstractAPIHandler');
class MyAPIHandler extends AbstractAPIHandler {
execute(request){
var sql= request.querySql;
var rst = ObjectStore.queryByYonQL(sql);
return {"rst":rst,"request":request};
}
}
exports({"entryPoint":MyAPIHandler});
- viewModel.get('item0sj'),如何查看对应控件的id

- cb.rest.invokeFunction("78645a2796ea481092c9a7b3ebf68655",如何查看后端API函数调试id


- 调试界面

用友yonsuite产品二开之简单的yonsql查询小工具的更多相关文章
- 小工具:天气查询 Vs自定义设置 DevGridControl中GridView排序问题 小工具:火车票查询 小工具:邮件发送 小工具:截图&简单图像处理
小工具:天气查询 开发一个天气查询的工具主要由两步构成,一是数据的获取,二是数据的展示. 一.数据获取 数据获取又可以分为使用其它公司提供的API和手动抓取其它网站数据. 1. 某公司提供的AP ...
- 原创SQlServer数据库生成简单的说明文档小工具(附源码)
这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到 Word中,可以方便开发人员了解数据库的信息或写技术 ...
- 关于用友 U8-UAP二开的一些事
这是关于一个刚刚接触用友U8的二次开发的一些小心得. 首先就是用友二开的论坛,http://u8dev.yonyou.com/ 当然这个论坛做得不怎么样,提出了好几个问题,都没有回复的. 以下是关于二 ...
- Odoo:全球第一免费开源ERP库龄表的简单实现方法(无需二开)
问题背景 希望查看库龄超过30天的货物,该如何实现?此种简单数据查询需要二开吗? 解决方案 方法一:Stock Quant列表视图增加过滤器 <filter string="库龄超30 ...
- NC57,NC63-NC二开经验总结
版主2010级市场营销专业本科生 2013年8月入达内培训Java相关技术 12月入职,做用友NC的二次开发工作 2015年4月离职,4中下旬入职一家互联网金融企业 下面是做NC二开期间积累的一些常用 ...
- 【阿里云产品公测】简单日志服务SLS使用评测 + 教程
[阿里云产品公测]简单日志服务SLS使用评测 + 教程 评测介绍 被测产品: 简单日志服务SLS 评测环境: 阿里云基础ECS x2(1核, 512M, 1M) 操作系统: CentOS 6.5 x6 ...
- 还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠
相比于从零开始构建全套信息化系统,基于成熟的ERP等行业软件做二次开发是更多中大型企业应对个性化软件需求的首选方案.如何在二开模块中,可靠地对成品软件的数据库进行读写操作,以满足单据自动创建.元数据自 ...
- spring cloud: Hystrix(二):简单使用@HystrixCommand的commandProperties配置@HistrixProperty隔离策略
spring cloud: Hystrix(二):简单使用@HystrixCommand的commandProperties配置@HistrixProperty隔离策略 某电子商务网站在一个黑色星期五 ...
- MongoDB学习:(二)MongoDB简单使用
MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...
随机推荐
- CVE-2020-15778 OpenSSH命令注入漏洞复现
一.漏洞概要 OpenSSH 8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令.目前绝大多数linux系统受影响. 参考链接:https://githu ...
- 计算机网络-应用层(4)DNS协议
域名系统(Domain Name System, DNS):一个分层的由DNS服务器实现的分布式数据库+一个使得主机能够查询分布式数据库的应用层协议 DNS服务器通常是运行BIND (Berkeley ...
- Alpha阶段项目复审(鸽牌开发小分队)
团队:鸽牌开发专业小分队 项目:必备记 集合帖:集合帖 项目复审: 团队名字 项目链接 优点 缺点和bug报告 最终名次 歪瑞古德小队 海岛漂流 1.功能齐全,上手简单2.界面简洁美观3.想法新颖,可 ...
- Excel数据分析 --数据透析表
数据透析表主要用于各种数据总汇,对各项数据指标进行分类统计 实例分析 如下所示:是一份销售流水数据,有时间,地区,销售员,商品名称,数量,单价和金额几个字段,如下所示: 现在针对不同的数据汇总需求,可 ...
- vmd与ovito的对比
1.minimize后,lammps生成的data文件 2.pdb:
- 力扣Leetcode 21. 合并两个有序链表
合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1-> ...
- Cacti1.2.14最新版安装和配置(详细版)
Cacti的起源与发展现状 故事要从2001年的某一天说起.一个叫Ian Berry的中学生还在学习如何使用PHP和MySQL进行编程及功能的实现,那时候他业余时间为一个名不见经传的互联网运营商开发项 ...
- php验证当前是设备是电脑端还是手机端
<?php // 验证设备为PC还是WAP $agent = $_SERVER['HTTP_USER_AGENT']; if(strpos($agent,"comFront" ...
- JAVA集合类简要笔记 - 内部类 包装类 Object类 String类 BigDecimal类 system类
常用类 内部类 成员内部类.静态内部类.局部内部类.匿名内部类 概念:在一个类的内部再定义一个完整的类 特点: 编译之后可生成独立的字节码文件 内部类可直接访问外部类私有成员,而不破坏封装 可为外部类 ...
- Python技术调查
1. IDE 2. Local Debugging & Remote Debugging 3. Profiling