略過巡覽連結。
略過巡覽連結      
  DataForm有多個頁簽, 如何控制不同的人可以編輯不同的頁簽? (頁簽如何隱藏) 觀看回應
可以透過DataForm的onLoad事件來控制, 並判斷沒有權限的人, 將頁簽隱藏即可, 如下JS程式:
function dfMaster_onLoad(row)
{
    var groups = $.getVariableValue('groups');
     if (groups.indexOf("80")<0) { // 找不到"80"的群組角色
        var tabID = 'tabMaster';  // 設定要隱藏的 Tab
        var index = 1;  // 第幾頁要隱藏 (從0開始算)
        $('[href="#'+ tabID + '_'+ index +'"]').hide();
    }
}






  ClientMove整批新增時, 欄位的對應關係(ColumnMatch), 是否可以有條件控制目的欄位的內容? 觀看回應
可以的, 在ColumnMatch中, 可以設定SourceValue(原來的SourceField會優先, 所以要先清空), 設定SourrceValue的Type為Function, 然後設定Function對應到JS程式即可, 如下在ColumnMatch的"金額"欄位, 設定一個 getAmt()的JS:
function getAmt(row)
{
    var amt = row.金額;
    if (row.稅別=="未稅") {
        amt = row.金額*1.05;
    }
    return amt;
}






  TRS交易時, 是否可以控制某些條件成立在過帳, 否則就不過帳? 觀看回應
可以的, 在EEPCloud的Transaction組件中, 每一個交易都有一個onBeforeTrans事件, 可以控制是否要持續交易或動態改變對方的交易欄位, 如下為控制是否交易的例子:
exports.trs請假單_年度特休假表_onBeforeTrans = function(row, oldRow, fields)
{
   if (row.請假類型!='特休假')  return false;  //不為特休假就不過帳
   return true;
};
上面的情況是針對'請假類型'不能更改的情況, 如果請假類型可以更改的話, 要改成這樣:
exports.trs請假單_年度特休假表_onBeforeTrans = function(row, oldRow, fields)
{
   if (row.請假類型!='特休假' && oldRow.請假類型!='特休假') {  //考慮更改時新舊值都不為特休假
       return false;
   }
   else if (oldRow.請假類型=='特休假') {  //如果是特休假改為其他假時
       row.請假天數=0;
   }
   return true;
};








  如何在 DataGrid中以 Excel上傳來匯入資料,而不是一筆一筆輸入? 觀看回應
可以在DataGrid的ToolItems中, 新增一個"導入"的Button, 設定為 'importExcel' 即可






  Server端的JS程式非常不好Debug, 常常不知道錯誤在哪? 有沒有比較好的方法可以Debug? 觀看回應
Server端在主機, 服務大眾用戶, 確實很難Debug, 可以如下的方式來debug:
1. 可以在Server端中使用 dataModule.echo()方法, 回應到SQL Profiler的"Server"訊息中, 如使用 echo('pass 1'); 等等了解JS的程式邏輯與執行到哪個階段出錯, 或echo()你自己的變數, 看看是否變數的內容有錯。
2. 另一個方法, 就是當Server端程式比較複雜, 需要調用非同步的程式時, 如果非同步程式內出錯, 會回不來, 此時最好在非同步程式中, 使用 try/catch的方式來避免回不來, 如下: