氚云校园标准版使用回顾之一——初步入门
我写回顾,基于两个原则,一是回报氚云,二是注重时效。所以写出来的文字不会多,基本上是写过程和心得。有时间才写,按过程先后有序的写。
很多人刚开始使用氚云校园时,都找不到方向,我也一样。我先是在氚云校园群里潜水观望,留意群内大家的交流,完全只是走马观花的模式,没有强制自己必须要去记住什么。这过程消耗上了我两个星期左右的工作之余的时间。当然,群里直播回放和文件,我也都耐着性子从最早期的开始去浏览。这样有利于自己跟着时间轴了解群内已包括有的信息量,为在氚云校园里发芽储备能量,也定下一个大体的方向。
接下来就开始实践了,在已有的共享模板里,选择自己感觉比较了解的工作模块,进行模仿和破坏。对着已有的表单,创建一个同样的表单,鼠标的左击、右击,了解菜单的各个选项,能做什么样的操作。遇上不理解的地方,我先跳跃过去,熟悉操作界面,各种控件的使用。然后,表单数据的新增、删除、导入导出等等,这个过程,只能对开发设计界面有个最基本的初步认识。
氚云校园标准版使用回顾之二——搭建基础表单
回顾三为什么就谈到整体规划和突破变通了呢?谈整体规划还容易理解,行动之前先做好规划嘛。谈突破变通就不好理解了,基础都还有未了解清楚,何来的突破变通?但既然是写回顾,适当加一些总结,就是要促成长,明方向。否则就没有多大的参考价值了。这里写是给初学者提供参考思维的,请各位专家不要见笑。
整体规划:
至于使用共享模板的应用,模板就是别人规划好的了,用户需要做的事情就是想办法把各个模块的数据打通就行了。我重点谈的是自搭建应用的整体规划。由于所有开发记录都存于学校办公室里的电脑里,以后方便了我再另发一个“氚云校园标准版使用回顾三之补充-整体规划心得”。
现在接着谈突破变通。
突破变通:
实际上就是一些搭建技巧。有很多大众化的规划需求,偏偏在氚云校园的平台上实现会遇到困难,该如何去突破?既然选中了氚云,那深挖突破是必须的,否则就难以前行。下面罗列部分来进行表述:
1、表单控件长度已超出,怎么办?
可通过子表来实现扩展。子表当然没办法象主表控件的应用那么方便,而且还有很多功能是子表没办法使用的。那就先化整为零,对表单做重新规则,不要受某个控件超出而停摆,可考虑同类的控件是否可变通,或者整个表单都重新做规则,往往可以找到更优化的解决方案的。
2、如何实现数据自动填充或精确填充?
讲四种。其一、是使用公式取值;其二、关联表单取值;其三、通过业务规则取值;其四、通过子程序取值。
公式取值,会受使用函数的影响,在函数灵活性不足的情况下需要改用其他方式。
关联表单取值,实质上就是调用其他表单的已有数据,在数据取值范围上可以进行数据条件限定,来实现精准定位,但不能实现自动取值,必须手工选中。
业务规则取值,原则上是赋值,是借助另一个表单来实现数据填充。
子程序取值,原则上也是赋值,和业务规则类似,实施的前提是必须使用流程。
这里顺便举个例子:在氚云中计数器的实现。
表单A需要使用计数器,那么整个学校就可以统一建一个【计数器】表单,也可按实质需求针对性的在某个表单中设置计数功能,【计数器】的设置有两个控件就可以了,一个是文本控件{计数器名称},另一个是数字控件{计数}。那么在表单A中就可以直接通过关联表单来对【计数器】进行取值,同时再通过业务规则来对【计数器】对应{计数器名称}的{计数}进行累加1的赋值。特别说明:计数器功能仅适用于主表单。如果要防止记录在修改时再次触发计数器,可在表单内设置一个隐藏项{是否新增},默认值为“FALSE”;{关联计数器}的隐藏条件设为"{是否新增}"或“{是否新增}==TRUE";然后增加一条业务规则,更新{是否新增}为“TRUE”。那么在提交的时候,就可以通过{是否新增}的值来判断是否为新增记录,还是修改记录。因为业务规则在提交之后才运行的。如果有多条业务规则要运行,还要适当调整好其先后顺序,是可以实现需求的。
3、文本控件在表单应用中的填充技巧。
讲三种,其一、人员控件的姓名文本取值;其二、文本积累;其三、生成唯一性的数据标题。
人员控件的姓名文本取值,氚云还没有提供直接的取值方式,所以只能采用导出再导入的方式来实现人员控件的取值。即先导出表单数据,再把人员的姓名直接复制到文本姓名控件一列,再进行更新导入。但有一个前提,就是数据标题必须具有唯一性。
这里顺便做一下思维延伸,在学校里,教工人员及学科专业、部门是相对稳定的。氚云中的人员、部门实际上是来自钉钉的同步,如果一味的依赖,在选择人员的时候还要调用组织架构,操作的过程反而步骤太多,倒不如主动变通再进一步优化以省去多余的界面操作,实现更直观快捷的数据获取。即建立一个【人员表单】,这个【人员表单】致少包含{员工姓名}、{对应员工}、{所在部门}、{学科专业}、{所授课程},并把{员工姓名}+{课程}作为标题组合,然后有表单需要调用到人员,都改用关联表单控件关联【人员表单】,通过数据填充规则实现其他数据的自动填充,这样就可以把【人员表单】的所有数据都关联出来,是不是扩展并优化了氚云的人员数据填充。还有最重要的一点是可以克服氚云导入的不足;目前氚云版本还有一个明显的不足,在数据导入的时候如果有涉及到人员或部门,往往会出同莫名其妙的“重名”或无效的提醒,无正常导入,而且还会乱套部门。
文本积累,可以通过公式及函数来实现,但多行文本中的换行符会消失,如果需要保持多行文本的分段格式,就要用业务规则来实行了。后面有个例子讲解如何实现换行功能。
生成唯一性的数据标题,往往需要实现引用姓名的文本积累,目的就是让标题变得直观又唯一。
这里我列举一下:如在课程管理中,设置有【班级教师】、【教师任课】两个表单,这两个表单的内容除了标题不同外,其他内容都是完全相同的。相当于表单复制后改名改标题。【班级教师】往往需要通过某班某科目就能定位到某教师,所以标题组合就是“班级+科目+教师”;而【教师任课】却需要通过某教师定位到某科目某班级,所以标题组合就是“教师+科目+班级“。特别说明一下,【班级教师】、【教师任课】作为基数表,在实际应用中,应通过基数同步管理来实现了数据的同步更新。实现数据的独立与同步。
再列举一下:我校需要实现课表大数据功能,必须让【一维课表】里的每一条记录都是一条完整又独立的一节课的数据,标题必须具有唯一性。所以标题组合就是“班级+周几+第几节+科目+教师+单双周备注”,但高中课表随时都有可能更换,为了避免课表更换影响到系统运作,就通过在【长期调课】表单里批量导入数据,使用业务规则来实现绝大部分课表数据的更新,这样就可实现无缝的数据更新。那么在【长期调课】