今天就寫說一個form開發的時候,大家可能不太注意的地方,前幾天,我做完一個開發功能,部署到測試環境中去,測試過幾次,完全沒有問題,就在第二天准備上生產的時候,問題出現了,數據無緣無故丟失了,事情是這樣的:
做財務的可能都會遇到這樣的問題,稅費計提的功能,大量重復性繁雜的工作量,沒有技術性,純屬體力勞動,因此客戶提出需求需要用系統幫忙解決此問題,於是,業務顧問談好需求後,自己作為技術顧問就開始安裝功能需求文檔做設計,做開發,當然這個本來也不是什麼大的開發,就是需要對不同機構,不同產品進行稅費計算,然後生成日記賬入賬即可,於是,form開發,邏輯代碼書寫都完成了,部署測試環境,內部測試完成,無誤,提交客戶測試,問題出現了,比如有一個產品A,稅率是0.00013,然後需要生成公司間往來,這樣,一個稅種就會生成總公司本部和分支機構兩條日記賬,但是結果兩條數據都沒有出現,由於form界面是開發的,裡面的數據是人工維護進去的,如圖:
這兩者的差別就是:未選中的時候,此ITEM的值,在數據庫裡面存儲可能是空,可能是N,如果選中不允許,結果就只會在數據庫中存儲為N,提出這點主要是因為,最近在一個form的開發中遇到這樣的問題,我根據此字段去作為判斷條件的時候,發現有時候數據正確有時候數據錯誤,數據庫,“有時候”這個問題就很麻煩,做技術的就最怕這個了,於是我仔細核對FORM,才發現這個問題,其實如果對於復選框還好,畢竟只有三種結果,Y,N,NULL,這樣的話,我可以根據Y和<>'Y'來,但是遇到其他的,就得注意了,且要記得賦初始值,否則FORM編譯會報錯,記下以此警醒自己。
今天就寫這樣一個小知識點,謝謝