天天看點

【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通

回顧三為什麼就談到整體規劃和突破變通了呢?談整體規劃還容易了解,行動之前先做好規劃嘛。談突破變通就不好了解了,基礎都還有未了解清楚,何來的突破變通?但既然是寫回顧,适當加一些總結,就是要促成長,明方向。否則就沒有多大的參考價值了。這裡寫是給初學者提供參考思維的,請各位專家不要見笑。

整體規劃:

至于使用共享模闆的應用,模闆就是别人規劃好的了,使用者需要做的事情就是想辦法把各個子產品的資料打通就行了。我重點談的是自搭建應用的整體規劃。由于所有開發記錄都存于學校辦公室裡的電腦裡,以後友善了我再另發一個“

氚雲校園标準版使用回顧三之補充-整體規劃心得

”。

現在接着談突破變通。

突破變通:

實際上就是一些搭建技巧。有很多大衆化的規劃需求,偏偏在氚雲校園的平台上實作會遇到困難,該如何去突破?既然選中了氚雲,那深挖突破是必須的,否則就難以前行。下面羅列部分來進行表述:

1、表單控件長度已超出,怎麼辦?

可通過子表來實作擴充。子表當然沒辦法象主表控件的應用那麼友善,而且還有很多功能是子表沒辦法使用的。那就先化整為零,對表單做重新規則,不要受某個控件超出而停擺,可考慮同類的控件是否可變通,或者整個表單都重新做規則,往往可以找到更優化的解決方案的。

2、如何實作資料自動填充或精确填充?

講四種。其一、是使用公式取值;其二、關聯表單取值;其三、通過業務規則取值;其四、通過子程式取值。

公式取值,會受使用函數的影響,在函數靈活性不足的情況下需要改用其他方式。

關聯表單取值,實質上就是調用其他表單的已有資料,在資料取值範圍上可以進行資料條件限定,來實作精準定位,但不能實作自動取值,必須手工選中。

業務規則取值,原則上是指派,是借助另一個表單來實作資料填充。

子程式取值,原則上也是指派,和業務規則類似,實施的前提是必須使用流程。

這裡順便舉個例子:在氚雲中計數器的實作。

表單A需要使用計數器,那麼整個學校就可以統一建一個【計數器】表單,也可按實質需求針對性的在某個表單中設定計數功能,【計數器】的設定有兩個控件就可以了,一個是文本控件{計數器名稱},另一個是數字控件{計數}。那麼在表單A中就可以直接通過關聯表單來對【計數器】進行取值,同時再通過業務規則來對【計數器】對應{計數器名稱}的{計數}進行累加1的指派。特别說明:計數器功能僅适用于主表單。如果要防止記錄在修改時再次觸發計數器,可在表單内設定一個隐藏項{是否新增},預設值為“FALSE”;{關聯計數器}的隐藏條件設為"{是否新增}"或“{是否新增}==TRUE";然後增加一條業務規則,更新{是否新增}為“TRUE”。那麼在送出的時候,就可以通過{是否新增}的值來判斷是否為新增記錄,還是修改記錄。因為業務規則在送出之後才運作的。如果有多條業務規則要運作,還要适當調整好其先後順序,是可以實作需求的。

【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通

3、文本控件在表單應用中的填充技巧。

講三種,其一、人員控件的姓名文本取值;其二、文本積累;其三、生成唯一性的資料标題。

人員控件的姓名文本取值,氚雲還沒有提供直接的取值方式,是以隻能采用導出再導入的方式來實作人員控件的取值。即先導出表單資料,再把人員的姓名直接複制到文本姓名控件一列,再進行更新導入。但有一個前提,就是資料标題必須具有唯一性。

這裡順便做一下思維延伸,在學校裡,教勞工員及學科專業、部門是相對穩定的。氚雲中的人員、部門實際上是來自釘釘的同步,如果一味的依賴,在選擇人員的時候還要調用組織架構,操作的過程反而步驟太多,倒不如主動變通再進一步優化以省去多餘的界面操作,實作更直覺快捷的資料擷取。即建立一個【人員表單】,這個【人員表單】緻少包含{員工姓名}、{對應員工}、{所在部門}、{學科專業}、{所授課程},并把{員工姓名}+{課程}作為标題組合,然後有表單需要調用到人員,都改用關聯表單控件關聯【人員表單】,通過資料填充規則實作其他資料的自動填充,這樣就可以把【人員表單】的所有資料都關聯出來,是不是擴充并優化了氚雲的人員資料填充。還有最重要的一點是可以克服氚雲導入的不足;目前氚雲版本還有一個明顯的不足,在資料導入的時候如果有涉及到人員或部門,往往會出同莫名其妙的“重名”或無效的提醒,無正常導入,而且還會亂套部門。

文本積累,可以通過公式及函數來實作,但多行文本中的換行符會消失,如果需要保持多行文本的分段格式,就要用業務規則來實行了。後面有個例子講解如何實作換行功能。

生成唯一性的資料标題,往往需要實作引用姓名的文本積累,目的就是讓标題變得直覺又唯一。

這裡我列舉一下:如在課程管理中,設定有【班級教師】、【教師任課】兩個表單,這兩個表單的内容除了标題不同外,其他内容都是完全相同的。相當于表單複制後改名改标題。【班級教師】往往需要通過某班某科目就能定位到某教師,是以标題組合就是“班級+科目+教師”;而【教師任課】卻需要通過某教師定位到某科目某班級,是以标題組合就是“教師+科目+班級“。特别說明一下,【班級教師】、【教師任課】作為基數表,在實際應用中,應通過基數同步管理來實作了資料的同步更新。實作資料的獨立與同步。

再列舉一下:我校需要實作課表大資料功能,必須讓【一維課表】裡的每一條記錄都是一條完整又獨立的一節課的資料,标題必須具有唯一性。是以标題組合就是“班級+周幾+第幾節+科目+教師+單雙周備注”,但高中課表随時都有可能更換,為了避免課表更換影響到系統運作,就通過在【長期調課】表單裡批量導入資料,使用業務規則來實作絕大部分課表資料的更新,這樣就可實作無縫的資料更新。那麼在【長期調課】和【一維課表】裡還需要有一個共同的文本辨別組合:“班級+周幾+第幾節+單雙周備注”,在業務規則作為UPSERT的條件,然後再個别對{單雙周備注}裡是“單周”、“雙周”的資料進行篩選,再核查一下是否同一節課還有“每周”的備注進行處理就可以了。

最後,講一下如何在業務規則裡實作換行功能。換行必須針對多行文本控件才能實作的。在氚雲編輯界面是不支援特殊字元錄入的,包括換行符。但文本控件的累加是支援的,即使用一多行文本控件[換行符],提前指派為“Enter鍵+|”,然後通過業務規則把這個換行符傳遞給另一個多行文本控件。

【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通
【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通

如圖二:在表單【錄入晚修】裡,關聯表單【學生基數1】,通過資料填充規則擷取{換行符}。、

【氚雲】氚雲校園标準版使用回顧之三——整體規劃與突破變通

如圖三:在表單【錄入晚修】的業務規則裡,把{換行符}傳遞給【晚修年級回報】表單。

4、涉及到随時都有可能修改的資料,如何實作消息提醒的同步更新?

通過設定消息推送提醒可以在指定時間收到消息提醒内容(隻對新增資料有效)。

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

其一、手動删除原有的記錄,再重新增加新記錄。

其二、建立B表單是A表單的副本,B表單設定一條業務規則來删除A表單的對應資料,這樣在B表單中新增的記錄就實作删除A表單的資料,并在B表單中實作提醒。

其三、或者在B表單中使用業務規則來對A表單的對應記錄進行删除再新增。

消息提醒僅對新增記錄才有效,新增記錄就是要增加一條新記錄,但做一下變通,可以實作修改有效,因為修改是可以重複調用業務規則的。之前A表單的提醒功能,改成在B表單(A表單副本)中實作。A表單建兩條業務規則:1.實作在B表單中删除有相同辨別的記錄。2.實作在B表單中新增相同記錄。這樣的實作方式,A表單的資料不管是修改還是新增,重複多少記錄,都不會影響到B表單的提醒。

暫時想到這麼多,以後還有再做補充。

繼續閱讀