一、概述
1
問題描述。
一般在銷售行業中,一個廠家下會有很多分銷商,分銷商需要從廠家那裏進行採購,彙款等一系列操作,而廠家也會定期的給分銷商傳送郵件,告知他們貨物的剩餘情況,彙款情況等;
公司發工資的時候,給員工傳送一份關於該員工的工資郵件。
像這種定期給不同的人傳送不同內容的郵件怎麼使用報表實現呢?
2
解決思路。
排程管理任務設定過程中:勾選【調度物件】步驟中的【除通用結果外,根據預設使用者組內的使用者單獨生成結果】按鈕。
在執行定時任務時,會根據參數【$fine_username】進行資料過濾,在 schedule 資料夾中的使用者資料夾下生成的 cpr 檔案內容是相應使用者的工資資訊。
在【檔案處理】步驟中,勾選【郵件通知】,可實現不同的人收到不同內容郵件的功能。
注:定時任務的權限控制可參考 排程管理生成的附件。
二、範例
1
準備使用者資訊。
管理者點選【伺服器】→【伺服器資料集】,建立內建資料集【staff】,資料集內容如下圖所示。
這個資料集既是平台使用者資訊表,也是範本參數取數表,兩者必須保持一緻方可透過帳號控制範本顯示內容。
2
準備範本。
設計器建立普通報表,A2~F2儲存格的值取自上文的伺服器資料集,如下圖所示。
雙擊 A2 儲存格,設定過濾條件:【(列名:name) 等於 '=$fr_username'】。
已完成範本請參見:【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\SpecialSubject\定時任務內容權限控制.cpt】。
注:此處也可以透過過濾使用者的角色和職務來實現,分別使用對應的參數【$fine_role、$fine_position】。
3
匯入使用者。
管理者登入數據決策系統,點選【管理系統】→【使用者管理】→【所有使用者】→【匯入使用者】,使用上文的伺服器資料集匯入使用者,如下圖所示。
匯入的資訊中包含了使用者的郵箱,即收件人郵箱。如不包含郵箱資訊,請手動為使用者配置郵箱。
4
設定發件人。
管理者登入數據決策系統,點選【管理系統】→【系統管理】→【郵箱】,配置郵箱伺服器,如下圖所示。
不同郵箱的詳細配置方法請參見:系統管理-郵箱。
5
設定排程管理任務。
新增任務:管理者登入數據決策系統,點選【管理系統】→【排程管理】→【新增任務】,新增一個排程管理任務。如下圖1所示;
基本設定:【任務名稱】為【工資表】,【預設使用者組】為使用者 Alice 和 Anna,點選【確定】,如下圖2所示;
排程物件:點選【下一步】,選擇第二章第2節做好的範本【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\SpecialSubject\定時任務內容權限控制.cpt】。
勾選【除通用結果外,根據預設使用者組內的使用者單獨生成結果】按鈕,檔案名稱稱為【薪資郵件】,如下圖3所示;
調度週期:點選【下一步】,不做操作。
檔案處理:點選【下一步】,勾選【郵件通知】。收件人為【預設使用者組】,主題為【工資表】,郵件內容為【${fine_username}的工資】,勾選【正文預覽報表內容】和【正文加上結果連結】,點選【儲存】,如下圖4所示。
6
效果預覽。
任務執行後,不同使用者收到的郵件內容不同,僅顯示自己的薪資資訊。
Anna 收到的郵件內容如下圖1所示;
Alice 收到的郵件內容如下圖2所示。
注:郵件以 HTML 顯示,文字可複制。