【氚云】氚云校园标准版使用回顾之三——整体规划与突破变通

简介: 氚云校园标准版使用回顾之三——整体规划与突破变通

回顾三为什么就谈到整体规划和突破变通了呢?谈整体规划还容易理解,行动之前先做好规划嘛。谈突破变通就不好理解了,基础都还有未了解清楚,何来的突破变通?但既然是写回顾,适当加一些总结,就是要促成长,明方向。否则就没有多大的参考价值了。这里写是给初学者提供参考思维的,请各位专家不要见笑。

整体规划:

至于使用共享模板的应用,模板就是别人规划好的了,用户需要做的事情就是想办法把各个模块的数据打通就行了。我重点谈的是自搭建应用的整体规划。由于所有开发记录都存于学校办公室里的电脑里,以后方便了我再另发一个“氚云校园标准版使用回顾三之补充-整体规划心得”。

现在接着谈突破变通。

突破变通:

实际上就是一些搭建技巧。有很多大众化的规划需求,偏偏在氚云校园的平台上实现会遇到困难,该如何去突破?既然选中了氚云,那深挖突破是必须的,否则就难以前行。下面罗列部分来进行表述:

1、表单控件长度已超出,怎么办?

可通过子表来实现扩展。子表当然没办法象主表控件的应用那么方便,而且还有很多功能是子表没办法使用的。那就先化整为零,对表单做重新规则,不要受某个控件超出而停摆,可考虑同类的控件是否可变通,或者整个表单都重新做规则,往往可以找到更优化的解决方案的。

2、如何实现数据自动填充或精确填充?

讲四种。其一、是使用公式取值;其二、关联表单取值;其三、通过业务规则取值;其四、通过子程序取值。

公式取值,会受使用函数的影响,在函数灵活性不足的情况下需要改用其他方式。

关联表单取值,实质上就是调用其他表单的已有数据,在数据取值范围上可以进行数据条件限定,来实现精准定位,但不能实现自动取值,必须手工选中。

业务规则取值,原则上是赋值,是借助另一个表单来实现数据填充。

子程序取值,原则上也是赋值,和业务规则类似,实施的前提是必须使用流程。

这里顺便举个例子:在氚云中计数器的实现。

表单A需要使用计数器,那么整个学校就可以统一建一个【计数器】表单,也可按实质需求针对性的在某个表单中设置计数功能,【计数器】的设置有两个控件就可以了,一个是文本控件{计数器名称},另一个是数字控件{计数}。那么在表单A中就可以直接通过关联表单来对【计数器】进行取值,同时再通过业务规则来对【计数器】对应{计数器名称}的{计数}进行累加1的赋值。特别说明:计数器功能仅适用于主表单。如果要防止记录在修改时再次触发计数器,可在表单内设置一个隐藏项{是否新增},默认值为“FALSE”;{关联计数器}的隐藏条件设为"{是否新增}"或“{是否新增}==TRUE";然后增加一条业务规则,更新{是否新增}为“TRUE”。那么在提交的时候,就可以通过{是否新增}的值来判断是否为新增记录,还是修改记录。因为业务规则在提交之后才运行的。如果有多条业务规则要运行,还要适当调整好其先后顺序,是可以实现需求的。

image.png

image.png

image.png

image.png

image.png


image.png

image.png

image.png


image.png3、文本控件在表单应用中的填充技巧。

讲三种,其一、人员控件的姓名文本取值;其二、文本积累;其三、生成唯一性的数据标题。

人员控件的姓名文本取值,氚云还没有提供直接的取值方式,所以只能采用导出再导入的方式来实现人员控件的取值。即先导出表单数据,再把人员的姓名直接复制到文本姓名控件一列,再进行更新导入。但有一个前提,就是数据标题必须具有唯一性。

这里顺便做一下思维延伸,在学校里,教工人员及学科专业、部门是相对稳定的。氚云中的人员、部门实际上是来自钉钉的同步,如果一味的依赖,在选择人员的时候还要调用组织架构,操作的过程反而步骤太多,倒不如主动变通再进一步优化以省去多余的界面操作,实现更直观快捷的数据获取。即建立一个【人员表单】,这个【人员表单】致少包含{员工姓名}、{对应员工}、{所在部门}、{学科专业}、{所授课程},并把{员工姓名}+{课程}作为标题组合,然后有表单需要调用到人员,都改用关联表单控件关联【人员表单】,通过数据填充规则实现其他数据的自动填充,这样就可以把【人员表单】的所有数据都关联出来,是不是扩展并优化了氚云的人员数据填充。还有最重要的一点是可以克服氚云导入的不足;目前氚云版本还有一个明显的不足,在数据导入的时候如果有涉及到人员或部门,往往会出同莫名其妙的“重名”或无效的提醒,无正常导入,而且还会乱套部门。

文本积累,可以通过公式及函数来实现,但多行文本中的换行符会消失,如果需要保持多行文本的分段格式,就要用业务规则来实行了。后面有个例子讲解如何实现换行功能。

生成唯一性的数据标题,往往需要实现引用姓名的文本积累,目的就是让标题变得直观又唯一。

这里我列举一下:如在课程管理中,设置有【班级教师】、【教师任课】两个表单,这两个表单的内容除了标题不同外,其他内容都是完全相同的。相当于表单复制后改名改标题。【班级教师】往往需要通过某班某科目就能定位到某教师,所以标题组合就是“班级+科目+教师”;而【教师任课】却需要通过某教师定位到某科目某班级,所以标题组合就是“教师+科目+班级“。特别说明一下,【班级教师】、【教师任课】作为基数表,在实际应用中,应通过基数同步管理来实现了数据的同步更新。实现数据的独立与同步。

再列举一下:我校需要实现课表大数据功能,必须让【一维课表】里的每一条记录都是一条完整又独立的一节课的数据,标题必须具有唯一性。所以标题组合就是“班级+周几+第几节+科目+教师+单双周备注”,但高中课表随时都有可能更换,为了避免课表更换影响到系统运作,就通过在【长期调课】表单里批量导入数据,使用业务规则来实现绝大部分课表数据的更新,这样就可实现无缝的数据更新。那么在【长期调课】和【一维课表】里还需要有一个共同的文本标识组合:“班级+周几+第几节+单双周备注”,在业务规则作为UPSERT的条件,然后再个别对{单双周备注}里是“单周”、“双周”的数据进行筛选,再核查一下是否同一节课还有“每周”的备注进行处理就可以了。

最后,讲一下如何在业务规则里实现换行功能。换行必须针对多行文本控件才能实现的。在氚云编辑界面是不支持特殊字符录入的,包括换行符。但文本控件的累加是支持的,即使用一多行文本控件[换行符],提前赋值为“回车键+|”,然后通过业务规则把这个换行符传递给另一个多行文本控件。


image.png

   image.png

image.png

如图二:在表单【录入晚修】里,关联表单【学生基数1】,通过数据填充规则获取{换行符}。、


image.png



如图三:在表单【录入晚修】的业务规则里,把{换行符}传递给【晚修年级反馈】表单。


4、涉及到随时都有可能修改的数据,如何实现消息提醒的同步更新?

通过设置消息推送提醒可以在指定时间收到消息提醒内容(只对新增数据有效)。

我目前想到更新A表的消息提醒有两或三种方式。

其一、手动删除原有的记录,再重新增加新记录。

其二、创建B表单是A表单的副本,B表单设置一条业务规则来删除A表单的对应数据,这样在B表单中新增的记录就实现删除A表单的数据,并在B表单中实现提醒。

其三、或者在B表单中使用业务规则来对A表单的对应记录进行删除再新增。

消息提醒仅对新增记录才有效,新增记录就是要增加一条新记录,但做一下变通,可以实现修改有效,因为修改是可以重复调用业务规则的。之前A表单的提醒功能,改成在B表单(A表单副本)中实现。A表单建两条业务规则:1.实现在B表单中删除有相同标识的记录。2.实现在B表单中新增相同记录。这样的实现方式,A表单的数据不管是修改还是新增,重复多少记录,都不会影响到B表单的提醒。

暂时想到这么多,以后还有再做补充。

相关文章
|
搜索推荐 SEO
从零开始搭建群众权益平台(十一)
从零开始搭建群众权益平台(十一)
44 0
|
2月前
|
缓存 NoSQL JavaScript
布谷社交系统V6.0:新版同城陌生人交友软件源码开发技术栈
新版布谷社交V6.0同城陌生人交友软件源码开发技术栈!
|
6月前
|
运维
会员系统功能售卖之一之学习资源,余老师的优点PTF做的好,公众号做的好,自媒体运维的好,教学视频类网站,学习自媒体运维可以多看看别人视频,讲课不会讲可以用音频转文字看看人家是怎样讲的,可以在网站上视频
会员系统功能售卖之一之学习资源,余老师的优点PTF做的好,公众号做的好,自媒体运维的好,教学视频类网站,学习自媒体运维可以多看看别人视频,讲课不会讲可以用音频转文字看看人家是怎样讲的,可以在网站上视频
|
8月前
|
自然语言处理 安全
线下陪玩游戏系统开发多语言/海外版/成熟技术/方案项目/源码功能
Continuing to develop an offline companion game system may involve the following aspects:
|
存储 区块链 数据安全/隐私保护
DAPP拼团众筹互助系统开发(成熟技术)模式详情
在智能合约中还可以使用事件来进行数据传输和共享
|
8月前
|
开发者
【社区功能上新】勋章系统正式上线,看看你获得了哪些荣誉勋章?
【社区功能上新】勋章系统正式上线,看看你获得了哪些荣誉勋章?
181 11
|
8月前
|
新零售 人工智能 搜索推荐
链动2+1互助模式系统开发|成熟技术|详情解答
而现在有了互联网电商平台后,不管买什么东西,都有许多选择性
|
机器学习/深度学习 域名解析 网络协议
|
监控 前端开发 BI
氚云丨开发课— 11 服务商培训| 学习笔记
快速学习氚云丨开发课— 11 服务商培训。
|
前端开发 JavaScript 关系型数据库
【氚云】氚云开发者手册学习历程
氚云开发者手册学习历程
1797 0
【氚云】氚云开发者手册学习历程