使用工具,總是會有一些坑!
碰到了坑,就只好想辦法轉彎、變通!
沒辦法,因為是使用別人設計的工具,而且SC是有名的反應慢!反應一個BUG,可能不會收到回應,沒有信息;縱使有回應,也要等個幾個月,才有改!上次,我反應的問題,就等了快一年吧!這也是我一直會遲疑使用SC的原因之一!但也不能總是在等,應該用他來賺錢了!所以,想好合約書上的條款,規避可能的坑!
今天就出現坑了!
要產生獎金報表的程式,GRID是獎金明細,而SUMMARY模組可以產生個別總和的總結報表,這是一個非常棒的功能,在螢幕上產生的結果都很好,輸出要到 PDF、PRINT,也正確!(在我的LOCAL 開發環境上正常)!
坑要來了!
佈署到服務主機以後,輸出 SUMMARY 的 PDF,就出問題了!應該是產生 SUMMARY,但卻輸出了明細內容!試了設定的幾種排列組合!都失敗!
最後,嘗試這樣:複製出一個新的APPLICATION,而只有 SUMMARY模組,然後輸出PDF看看,因為內容只有SUMMARY,還好,好哩家在!終於在服務主機上看到期待的結果!
所以,只好這樣來避開坑了:
1. 設計兩個GRID APP,一個只有 SUMMARY、一個只有 GRID DETAIL,然後,各自產生各自的輸出 PDF,
2. 在這兩個 APP 彼此之間,再另行設計一個切換的按鈕,相互切換,看起來就好像是同一支程式APP一樣!唉!其實是為了避開無法正確產生SUMMARY PDF的坑而這樣做的!
坑!搞了好久!記錄下來,供以後使用!
另一個坑!紀錄:
年月輸入表單(APP A),呼叫 子程式總結列表(APP S),然後在 APP S 裡,做一個按鈕連結到 明細列表子程式 APP D。
如果在 APP D,也做一個連結按鈕 連結到 總結列表子程式(APP S),在開發環境中測試是可以正常運作的,但是一佈署到服務主機上,就不行了!產生"無效的數據"的錯誤訊息,這個訊息是跟權限有關的!不知道為何會這樣!只好把 APP D上連到 APPS 的連結拿掉,然後修改 APP D的 退回按鈕,退回到 APP S,這樣就解決了!
這個在開發環境上跑可以,而佈署到服務主機上就掛了!這種坑!SC好像還不少喔!
在此紀錄一下!
再一個小坑: (2023/08/14)
產生GRID總結報表(單獨的 SUMMARY 模組),結果HEADR右上角的日期格式是:dd/mm/YYYY,跟我PROJECT設定的Locale 格式不一樣,這又是一個SC的不一致的地方!算一個小坑吧!正常的 GRID 模組都正確,目前看到就這個錯誤!只好自己在 HEADER 設定那裏的 DATE,改為 VALUE,然後自己在 EVENT onScriptInit 裡寫一段: [sys_date] = date("Y/m/d");然後在 APPLICATION 的 Global Value 中將 sys_date 設為 output,這樣就完成了!規避一個小坑!
在此紀錄一下。
==============
今天(2023/09/13) 有另一個坑,也搞了好久,終於解決了!
我將過去跑得順利的 sc_samples8 本來是要安裝在 VPS上面,可是一直解壓縮有問題,所以,見乾脆回來DEDICATE 主機這裡。以前有安裝,而且跑得順利,想說在安裝回去,應該很快!
結果,samples 一安裝完畢以後,一跑就 500 Internal Error,給你當了!
有些APPLICATION可以跑,有些無法跑!很奇怪。
我原本一直在 SERVER 主機的設定上去傷腦筋!extension? php.ini? .htaccess?試了很久,還是一樣!
搞到晚上了,查YOUTUBE視頻,有一個說明 Internal Error 500 怎麼處理?
1. 找 PHP 的 error LOG
2. 修改 php.ini 的 error display 為 On
然後,就看到 Error Message了!
竟然是 php 程式錯誤!
我在 Local 上跑得很正常呀!
查了一下,就是 php 8.1 版本不再支援的舊寫法
Fatal error: Unparenthesized `a ? b : c ? d : e` is not supported. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in /home/ddnews/domains/samples.alfredlin015.com/public_html/samples/new_data_entry/new_data_entry_apl.php on line 8060
再比對一下程式,samples 是 SC 公司做的,它裡面有了 internal library scwebsite.php 有改寫,所有就copy samples9 的版本到我整理用的 samples8 去,再重新 Generate、deployee ,就成功了!
唉!浪費了一整天的時間再解決這個問題,終於解決了!
紀錄一下!
====================
2023/10/23 周一
今天又一個坑!還無法解決!
合會出現的會員手機畫面,希望能窄一點
於是企圖修改 theme template
結果改了半天,都不能修改
改了 padding 為 0px 儲存以後,還是一樣!
真是夠了!
唉!
一個大坑!
-----------------------
解決方案:
----------------------
最後,只好,用右鍵點出檢查,查閱SC產生的 class/id 相對的CSS檔案,然後去copy出來,貼到onScriptInit Event 去進行修改,在這裡去蓋掉.ccs檔案的設定。
這一招,前面用過,目前也只能先這樣了!
在 WordPress 的 Theme 裡,也是有自訂 CSS 裡面,用這招來蓋掉WP所設定好的CSS!
沒有留言:
張貼留言