Tìm kiếm Blog này

Chủ Nhật, 10 tháng 3, 2013

TẠO E-MAIL- DASHBOARD


Để chương trình có thể gửi một e- mail , ta cần cung cấp các thông tin sau:
              -          Địa chỉ người nhận.
              -          Các tham số để tạo e-mail.
Các template sẽ dùng các tham số để tạo nên nội dung của các e-mail. Có hai loại template:
Mail template
Report template
Sử dụng khi gửi các e-mail có nội dung đơn giản như các thông báo,lời nhắc nhở, lời chúc,….

Sử dụng đối với các e-mail có nội dung phức tạp như bảng, biểu đồ,…

Có thể chứa tham số dạng dictionary
Có thể chứa tham số dạng dictionary + table
Các tham số được đặt trong dấu ngoặc nhọn { }
Các tham số được đặt trong các tag <# >
             -
      
        Các e-mail  có thể được tạo ra bằng nhiều cách, như click vào link trên Dashboard, click vào command trên màn hình chức năng, sau khi hoàn tất nhập liệu

 vào các form, sau khi submit các sheet,..

        Trong bài viết này, tôi sẽ trình bày hướng dẫn cách tạo e-mail  từ comment trên  Dashboard trong hai trường hợp dùng Mail template và Report template.  
Các bước cụ thể như sau :

Mail template
Report template
Bước 1: Tạo nội dung mail
Tạo nội dung trong MCT với các tham số trong dấu ngoặc nhọn {tham số}
Tạo nội dung trong report template với tham số trong tag.
<#tham số>
Dữ liệu bảng được đặt trong tag:
<#ten_range_bang.**>:  cho header của bảng.
<#ten_range_bảng.*> : cho phần body.
Bước 2 : Tạo Mail profile -MCD
Gắn MCT code vào mục Mail template trong chức năng MCD
Gắn tên report template vào mục Mail template trong chức năng MCD
Bước 3 : truyền tham số tạo mail
Insert comment với cấu trúc :
Phoebus://mail ?id=MCD code&receipient=&tham số=&show=N
Tạo bảng dữ liệu cần đưa vào mail trong template của Dashboard + đặt tên range chứa bảng là ten_range_bang
Insert comment với cấu trúc:
Phoebus://mail ?id=MCD code&receipient=&tham số=&range=ten_range_bang&show=N
        Giả sử ta cần gửi một e-mail có nội dung như sau :
            

         E-mail này chỉ bao gồm text và các thông tin đơn giản nên ta sẽ dùng mail template làm công cụ truyền tải.
         Bước 1-Tạo nội dung mail :gõ lệnh tắt MCT và tạo một Mail template có nội dung như yêu cầu:
          
         Chú ý: các tham số được đặt trong dấu ngoặc nhọn {   }

Bước 2-xác định người nhận mail: gõ lệnh tắt MCD , tạo một Mail profile và gắn Mail template chứa nội dung mail vừa tạo vào.
Bước 3-truyền giá trị cho các tham số: tạo comment trên Dashboard.


Trong trường hợp khác, giả sử ta muốn tạo mới một e-mail thông báo lương cho nhân viên với bảng lương chi tiết như sau :
Lúc này, ta cần sử dụng report template để thể hiện các thông tin trên.
Bước 1-tạo nội dung e-mail : tạo report template chứa nội dung e-mail cần tạo như sau:



Chú ý :Các tham số được đặt trong tag.

Bước 2-Xác định người nhận mail: gõ lệnh tắt MCD , tạo một Mail profile và gắn Report template template chứa nội dung mail vừa tạo vào.

Bước 3-truyền giá trị cho các tham số: tạo comment trên Dashboard.
Trên template của Dashboard, ta tạo bảng dữ liệu muốn đưa vào nội dung mail , đặt tên cho range bao phủ bảng đó.


Các tham số được truyền tương tự như khi dùng Mail template, tuy nhiên ta cần thêm một tham số:….&range= để truyền dữ 
liệu bảng vào e-mail.

Kết quả đạt được sẽ là e-mail có nội dung như sau:

Như vậy ta đã hoàn thành xong quá trình tạo mail trên Dashboard.

Tạo e-mail tự động bằng Phoebus


Email cung cấp các thông tin như  bảng chấm công, yêu cầu phê duyệt  nghỉ phép, chúc mừng sinh nhật,..và thậm chí cả các báo cáo có thể được gửi tự động tới người cần sử dụng  thông qua  các tính năng của Phoebus.
Các email tự động có thể chạy từ dashboard, từ màn hình form nhập liệu hoặc các sheet. Quá trình này hoạt động như sau :
Dù chạy bằng hình thức nào, thì quá trình tạo mail cũng cần có những dữ liệu từ hai nguồn gọi là Data table và Dictionary với Data table là nguồn để chạy các e-mail và Dictionary là nơi truyền các biến số . Tuy nhiên, nếu như việc tạo các Data table giống nhau ở hầu hết các hình thức thì việc tạo Dictionary  lại có một vài điểm khác biệt.

Tại mỗi vị trí, quy trình tạo và gửi e-mail như sau:
Như đã đề cập ở trên, ta cần phải có sự hỗ trợ của command và mail profile để có thể tạo ra các e-mail và gửi đi. Cấu trúc chính của  Command và Mail profile như sau:
Sau đây chúng ta sẽ đi vào chi tiết từng bước quá trình tạo các e-mail .
Ví dụ: ta muốn tại một e-mail thông báo cho manager mỗi khi có một nhân viên submit một timesheet xin nghỉ phép. Quy  trình cần làm như sau :
1.    Tạo Command.
Trên ô lệnh tắt, gõ  CMD để đến chức năng Lệnh do người dùng định nghĩa.

Tại ô Cmd Id : điền code và diễn giải cho command.
Cmd Context : chọn  vị trí tạo command,  trong ví dụ này là tạo command tại chức năng  Monthly Timesheet ( TSM).
Mail Profile: đặt tên cho mai profile mà ta sẽ tạo ở bước sau.
Cmd text: luôn luôn đặt là Mail cho command tạo mail.
Mẫu báo cáo: tên template của command .
Name Range : tên vùng bao phủ các dữ liệu của command, trong ví dụ này tôi đặt là TSM.
Sau khi điền các thông tin cần thiết, nhấn OK để lưu.
2.    Tạo Mail Profile.
             Trên ô lệnh tắt, gõ MCD để đến chức năng Định nghĩa trình tạo mail.
                
 Tại ô Mã số: điền tên trong phần  mail profile đã đặt ở bước 1.
 Xuất kết quả ra : chọn nơi xuất ra của e-mail, trong đó :
            -     O: mail sẽ xuất ra trong chức năng Mail outbox của Phoebus ( lệnh tắt OBX) nhưng chưa gửi.
-    F: mail sẽ xuất ra tại một folder tùy chọn trong máy tính,chưa gửi.
            -    S : mail sẽ đựợc gửi ngay sau khi tạo ra.
 Data Range : tên vùng dữ liệu, giống như trong phần Name range ở bước 1.
 E-mail : địa chỉ gửi đến của e-mail được tạo ra.
 P1->P20 : các tham số sử dụng trong mail template.
Chú ý : 
-    TH1 : nếu mail được tạo thông qua comment trên Dashboard, thì E-mail và các tham số được đặt tên theo các tag sử dụng trong template command.

Khi đó, các tham số này sẽ được truyền thông qua comment với cú pháp : phoebus:// mail?id=SUB_E1 &  receipient=<#Bossmail>& EmplCode= <#EmplCode> &EmplName=<#EmplName>
-       TH2 : nếu mail được tạo thông qua các nút lệnh trên các form, sheet, thì E-mail và các tham số được đặt tên theo tên các ô chứa tag đó :

Trong ví dụ này, vì quá trình tạo mail được thực hiện tại  Timesheet nên E-mail và các tham số là các tên của ô chứa tag.
Mail Template :  Nội dung của e-mail muốn gửi, có thể là một Mail template được tạo ra trong chức năng Mail template (lệnh tắt MCT),với template code chính là tên được đặt trong mục Mail template của chức năng Định nghĩa trình tạo mail.

Ta có thể đưa các tham số đã gắn khi tạo Mail profile vào trong nội dung của e-mail bằng cách đặt chúng trong dấu ngoặc nhọn {..}
Hoặc nội dung của e-mail cũng có thể là một Report template bất kỳ,khi đó, chỉ cần đặt tên của Report template vào mục Mail template.
Vậy là chúng ta đã thiết lập xong việc tạo e-mail thông báo cho manager mỗi khi nhân viên xin nghỉ phép. Chúng ta hãy cùng kiểm tra lại
·   Tại chức năng Monthly Timesheet ( TSM), nhập ngày xin nghỉ, sau đó chạy command:

Vì ban đầu, khi thiết lập Mail Profile, tôi để nơi xuất kết quả ra là O= outbox, nên bây giờ sau khi chạy command, ta sẽ vào chức năng Mail Outbox (OBX) để kiểm tra, kết quả như sau :

Ta thấy xuất hiện một e-mail đang đợi gửi,double click vào e-mail này ta sẽ thấy được nội dung của e-mail giống như nội dung ta đã soạn trong chức năng Mail Template ở trên.
Như vậy ta đã hoàn thành việc tạo e-mail tự động trên Phoebus.

Phoebus Workflow - tự động hóa quy trình làm việc


Ngày nay, để phát triển, cạnh tranh và giành chiến thắng các công ty cần các quy trình hoạt động hiệu quả hơn. Nhiều công ty đã nhận ra giá trị thực sự của tự động hóa quy trình  (workflow) như là một giải pháp để tăng mức độ hiệu quả. Quy trình giúp tối ưu hóa công tác quản lý, lưu thông tài liệu và trao đổi dữ liệu. Workflow cho phép các doanh nghiệp chuyển sang một cấp độ mới về hiệu suất và năng suất thông qua việc tự động hóa các nhiệm vụ thường xuyên lặp đi lặp lại.
Tại SPC Technology, chúng tôi tin rằng mỗi doanh nghiệp đều có những khác biệt và cần một quy trình. Để vận dụng được hiệu quả, một quy trình (workflow) phải đựoc tùy chỉnh  tương ứng với các đặc thù của doanh nghiệp và đặc thù của ngành nghề. SPC cung cấp cho bạn một nền tảng mở để xây dựng và vận hành quy trình cho nhiều ngành nghề khác nhau. Sử dụng workflow, doanh nghiệp có thể giải quyết các vấn đề:
  • Tự động hóa quy trình làm việc. Tự động hóa cung cấp thông tin.
  • Giải phóng bớt nhân lực khỏi các tác vụ lặp đi lặp lại.
  • Tối ưu hóa quản lý dự án.
  • Cải thiện mức độ cộng tác và năng suất trong đội nhóm.
  • Tăng tốc độ ra quyết định.
  • Tiết kiệm thời gian và chi phí

Phoebus Workflow bao gồm các thành phần:

  • Trình thiết kế biểu mẫu. 
  • Tổ chức nhân lực thành các trạm xử lý thông tin (biểu mẫu)
  • Các quy tắc logic quyết định lộ trình của thông tin đến các tạm xử lý
  • Các quy tắc thông báo tình trạng và cảnh báo các thông tin có vấn đề.

Trình thiết kế biểu mẫu

Thông tin, đối tượng xử lý tại các trạm,  hầu như thay đổi cho từng doanh nghiệp, thậm chí từ giai đoạn hoạt động.
Thông tin được thu thập tự động bằng máy móc hoặc thủ công bởi những người nhập liệu. Cách thức và thứ tự nhập thông tin cũng là một yếu tố khác biệt giữa các doanh nghiệp. Ví dụ ở một doanh nghiệp A khi nhập thông tin khách hàng, thao tác viên nhập tất cả : tài khoản ngân hàng, contact, số điện thoại, địa chỉ, người liên lạc. Ở một doanh nghiệp B khác thông tin khách hàng có thể do 2-3 thao tác viên xử lý. Nhân viên bán hàng nhập địa chỉ, contact. Nhân viên kế toán nhập hạn mức tín dụng, mã số thuế, thông tin hóa đơn. Chuyên viên luật nhập các điều khoản áp dụng cho khách hàng....
Nếu ta thiết kế mẫu biểu cho công ty A, khi áp dụng cho DN B chắc chắn việc nhập thông tin sẽ bị chồng chéo. Nếu biểu mẫu cho công ty B áp dụng cho công ty A sẽ gặp phản ứng tại sao nhập thông tin khách hàng không nhập cùng 1 form mà phải vào quá nhiều chức năng.
Một kích cớ không thể phù hợp cho tất cả !!!! 

Trình thiết kế biểu mẫu (Phoebus Business Form Designer) giải quyết 100% vấn đề này, cho phép doanh nghiệp có thể  thiết kế các form, mẫu biểu tùy theo yêu cầu của mình.

Thiết kế form là 1 tệp Excel . Tải về
Kết quả là form nhập liệu hoàn chỉnh.
Với yêu cầu tạo tạo  chức năng nhập đơn hàng với các tính toán giảm giá , khuyến mại,  hoa hồng. như trên.  Cộng thêm với quy trình xử lý và phê duyệt qua nhiều cấp.  Bạn hãy ước tính chi phí và thời gian bỏ ra là bao nhiêu? Chưa kể các thay đổi mẫu biểu và các tính toán sẽ phải tốn thêm chi phí bảo trì cộng thêm.

Với Phoebus, bạn tạo toàn bộ quy trình trên bằng Excel, trong 10 phút

Nếu doanh nghiệp của bạn cần khoảng 15-20 form hoặc nhiều hơn nữa ?  Bạn muốn có ngay lập tức với Phoebus Form Designer + Phoebus Workflow. Hay bạn muốn dành vài tháng thời gian, công sức, tiền bạc cho đội ngũ lập trình?

Tổ chức nhân lực thành các trạm xử lý thông tin

Sơ đồ tổ chức trong Phoebus đảm nhận việc 
  • Tổ chức các trạm xử lý thông tin.
  • Phân công nguồn lực vào các trạm xử lỷ thông tin.

Các quy tắc logic quyết định lộ trình của thông tin đến các trạm xử lý

Đây là yếu tố cốt lõi quyết định luồng lưu chuyển của thông tin. Thông thường thông tin được phê duyệt hoặc từ chối. Dựa vào các quy tắc định sẵn thông tin sẽ được chuyển tiếp tới nơi xử lý tiếp theo. 
Trong nhiều trường hợp, nơi được chuyển tới phụ thuộc vào nội dung thông tin. 
Ví dụ nếu đơn mua hàng nhỏ hơn 10 triệu sẽ được gửi tới trưởng nhóm . Nếu đơn hàng từ 10 - 100 triệu gửi tới trưởng phòng. Nếu giá trị đơn hàng lớn hơn nữa, nó  cần được chuyển tới ban giám đốc.
Phoebus Expression cho phép cài đặt các quy tắc tính toán dựa trên nội dung của thông tin, trong trường hợp ví dụ trên, ta có thể đặt các quy tắc  như sau :  (POValue < 10000000) hoặc (POValue > 10000000 AND POValue < 100000000)
Khi các biểu thức được tính toán và trả về kết quả, hệ thống sẽ tự quyết định nên chuyển tiếp thông tin cho ai vào bước tiếp theo.

Các quy tắc thông báo tình trạng và cảnh báo các thông tin có vấn đề.

Phoebus, khi thông tin được chuyển tới một trạm làm việc mới. Hệ thống cần gửi mail thông báo cho người có trách nhiệm xử lý.
Khi thông tin nằm tại một vị trí quá lâu mà chưa được xử lý. Hệ htống cần gửi mail cảnh báo  sau 3/5/7 ... ngày cho cấp cao hơn.
Phoebus Mailer sẽ đảm nhiệm công việc này. Các mẫu email cũng được thiết kế với nội dung tùy biến.

Phoebus Workflow chỉ làm việc với dữ liệu của Phoebus ERP? Có thể áp dụng Phoebus workflow với các chương trình khác mà tôi đang có trong công ty?

HOÀN TOÀN CÓ THỂ
Vì các thiết lập của Phoebus là mở, nó có thể làm việc và tích hợp với bất kỳ hệ thông nào/.

  1. Cho phép kết nối tới các nguồn dữ liệu SQL/ ORACLE/ MySQL .... để truy cập các thông tin áp dụng cho luồng công việc
  2. Thiết lập các mẫu biểu tùy biến dựa trên các nguồn dữ liệu ở bước 1. 
  3. Thiết lập tùy biến các trạm xử lý thông tin và các quy tắc luân chuyển thông tin.
  4. Thiết lập tùy biến hệ thống thông báo nhắc việc và cảnh báo quá hạn.
Dựa trên các dữ liệu trên, ta có thể thấy với Phoebus Workflow, ta có thể triển khai các quy trình công việc và các mô hình quản lý trong thời gian ngắn nhất. tiết kiệm chi phí nhất.

Chủ Nhật, 10 tháng 2, 2013

How to effectively using the User Table Tag with Phoebus Report Template

User table(Params) is a very simple tag, but it allows a lot of things. You write it on the Source Table column in the config sheet, and you can add an additional parameter on the Table Name column. You can leave the “Sort” and “Filter” columns empty or with values, their values do not matter.
pbsQD_QDID user table
pbsQD_QDID user table is used for adding to the report a fixed query, designed with Phoebus QD function.
Syntax: user table(pbsQD_QueryID)
Phoebus will find a query, having code = QueryID, and add it to the report.
pbsUTD_TableID user table
pbsQD_QDID user table is used for adding to the report a custom table, designed with Phoebus UTD/UTE function.
Syntax: user table(pbsUTD_TableID)
Phoebus will find a custom table, having code = TableID, and add it to the report.
TT_XLB_EX user table
This is the most flexible way for adding to the report any arbitrary data. The data is defined using TT_XLB_EB syntax. PhoebusXL provides a function called FormulaLink, which help user easily create a TT_XLB_EB query.
FormulaLink uses the built-in data schema or any additional schema defined with function QDADD inside Phoebus. QDADD allows user to connect to any datasource via SQL native driver/ ODBC driver or OLEDB driver.
Syntax:
USER TABLE("0,2,PVE,CMM,V=4,F=A,K=\LA\Ledger,F={P}1,T={P}2,K=CMM\PERIOD,F={P}3,T=,K=CMM\WBS_ID,E=,O=CMM\ANAL_N0,E=,O=CMM\PERIOD,E=1,O=CMM\VALUE_2,E=,O=CMM\ANAL_N1,E=1,O=CMM\AMOUNT,";$B$35;<#M1>;<#M12>;<#P2>)

It’s a little bit confusing reading this definition without PhoebusXL.
If you have PhoebusXL installed, all you need to do is double click to the Excel cell and the above statement will be handled with a user friendly interface below:

user table
In many case FormulaLink is not enough for advanced requirements, like adding an expression column to the user table. This is why you need user table. TT_XLB_EB syntax is not sufficient to hold all information of expression columns. syntax does :
USER TABLE(








)


Here again, PhoebusXL will handle above complexity with a user frienly interface call User Table. It looks similar to Formular Link function, the difference are:
·         it supports creation of User defined outputs.
·         The output is XML syntax
TSM user table
TSM stands for TimeSheet Monthly. From the name you may guess the purpose of this type of user table:  add a monthly timesheet to the report. This user table put all timesheet record to a calendar table. So the next step of present data to user is much more easier.
Also TSM user table combines other information like :ABBR – Abbreviation and Timesheet Ts Analysis code into the dataset. If you want to print out the timesheet in the format of TSM function. This is the user table you must choose
Important Notes: this TSM will not include all timesheet record created with TSH function (which have field SITE empty). TimeSheet records created with TSM functions always have the field SITE = ‘TSM’
Syntax:
User table(TSM;EMPL_CODEs;PERIOD).

Ex. User table(TSM;E0001;2011-012).
E0001 can be multiple employees like <
TSA user table
TSA stands for TimeSheet Approval. From the name you may guess the purpose of this type of user table:  prepare aggregated timesheet data for whole department or a team.
Syntax:
User table(TSA;EMPL_CODEs;PERIOD).

Ex. User table(TSA;E0001;2011-012).
E0001 can be multiple employees like <
CalendarList user table
Prepare an empty calendar from T -> T + n days. Output data includes weekend, holidays as defined in Phoebus.
Syntax:
User table(CalendarList;Starting_Date;Size)

Ex. User table(CalendarList;2012-01-01;31)
Calendar user table
Prepare an empty calendar for  a selected Month
Syntax:
User table(Calendar;Period;date_format;ShowDateOfTheMonth as Y/N)

Ex.User table(Calendar;2014-001;yyyy-MM-dd;Y)

Audit user table
Extract the audit trail  of a type (like CA) or a selected record like Account 111100
 Syntax:
User table(Audit;pbs.BO.LA.CA) à Audit trail for all accounts
User table(Audit;pbs.BO.LA.CA;111100)à Audit trail for account 111100
Image user table
Prepare dataset of all images with extension : *.png|*.jpg|*.gif|*.tiff|*.bmp from a directory to a dataset.
Syntax:
User Table(Image;dir=My Documents)
User Table(Image;dir=\\shared_host\shared_folder;filter=a[0-9]{2})
Predefined user table
Predefined user tables are reference data of Phoebus. Let’s say extracting all the Contact information or the list of all customer to report can be done with a simple statement User table(CNT) or User table(CL)
Syntax:
User Table(The_Reference_Data_Code)
The reference data code is listed below:
Code
Description
A0..A9, T0..T9, I0..I9, C0..C9, M0..M9, F0..F9 ….Phoebus Analysis Codes
All categories defined with CAT functionPhoebus lookup list
ABBR
Timesheet abbreviation
AD
Asset Details
AR
Asset Record
AST
Assembly Structure
BIV
Budget Values
BK
Bank details
CA
Chart of accounts
CL
Clients
CN
Conversion Definition
CNT
Contact
CTR
Contracts
DB
Database Definition
ELC
Employee Contract
EMP
Employees
ESR
Ledger Extended Descriptions
FCA
EFC Adjustment
FCV
Forecast Value
IB
Item Balance
ID
Item Description
IR
Item Record
JD
Journal Type
LKU
Lookup Lists
LO
Location (Inventory)
LOC
Location (EAM)
MD
Movement Definition
MST
Milestones
NA
Name and Address
ND
Analysis Definition
OD
Operator Definition
PBD
Form Definitions
PTI
Payment Term Installments
RTP
Room type (Real Estate)
WBI
Work breakdown structure
WBS_ID
Work breakdown structure - Budget items
WBS_NBI
Work breakdown structure - Non Budget items
WOT
Work order type