Form nhập liệu dạng ma trận trong Phoebus cho phép tạo các form nhập liệu dạng bảng với số lượng cột không giới hạn, thay đổi theo yêu cầu của người thiết kế.
Nhập liệu ma trận được ứng dụng trong các trường hợp nhập liệu ngân sách, chi phí, ... cố định theo 12 tháng trong năm, theo từng phòng ban, cơ sở ...; với những dạng dữ liệu có cấu trúc thay đổi thường xuyên thì không được áp dụng.
Ví dụ, một bảng bảng nhập liệu ngân sách như sau (tạm bỏ qua cột AnalysisB8):
Tháng |
Mã ngân sách |
Số tiền (VND) |
AnalysisB8 |
---|---|---|---|
01/2016 |
B001- Chi phí lương |
120.000.000 |
R0C001 |
02/2016 |
B001- Chi phí lương |
200.000.000 |
R0C001 |
03/2016 |
B001- Chi phí lương |
200.000.000 |
R0C001 |
01/2016 |
B002- Chi phí văn phòng |
10.000.000 |
R1C001 |
02/2016 |
B002- Chi phí văn phòng |
15.000.000 |
R1C002 |
03/2016 |
B002- Chi phí văn phòng |
15.000.000 |
R1C003 |
01/2016 |
B003- Chi phí quảng cáo |
50.000.000 |
R2C001 |
02/2016 |
B003- Chi phí quảng cáo |
50.000.000 |
R2C002 |
03/2016 |
B003- Chi phí quảng cáo |
80.000.000 |
R2C003 |
01/2016 |
B004- Chi phí hội thảo |
30.000.000 |
R3C001 |
02/2016 |
B004- Chi phí hội thảo |
40.000.000 |
R3C002 |
03/2016 |
B004- Chi phí hội thảo |
50.000.000 |
R3C002 |
Trên thực tế thì số lượng dòng nhập liệu sẽ rất lớn, khi đó người thiết kế có thể thiết lập một form nhập liệu theo nhóm (Batch Posting) thông thường. Tuy nhiên, việc này sẽ gây khó khăn cho người dùng khi tiến hành nhập liệu vì khối lượng dữ liệu lớn, tốn thời gian và dễ xảy ra sai xót. Để khắc phục, có thể dùng cách tải nhập dữ liệu, nhưng như thế phải quản lý file tải nhập, mặc khác sẽ không đáp ứng nếu người dùng yêu cầu mọi thao tác đều phải được thực hiện ngay trên phần mềm.
Do đó từ phiên bản 4.5.4.769, Phoebus mở rộng tính năng Nhập liệu theo nhóm (Batch Posting) bổ sung phần Nhập liệu ma trận (Batch Matrix). Với form nhập liệu dạng ma trận, có thể chuyển bảng bên trên thành bảng nhập liệu dạng ma trận như sau:
Mã ngân sách |
Tháng |
||
01/2016 |
02/2016 |
03/2016 |
|
B001- Chi phí lương |
120.000.000 |
200.000.000 |
200.000.000 |
B002- Chi phí văn phòng |
10.000.000 |
15.000.000 |
15.000.000 |
B003- Chi phí quảng cáo |
50.000.000 |
50.000.000 |
80.000.000 |
B004- Chi phí hội thảo |
30.000.000 |
40.000.000 |
50.000.000 |
Thật ra, form nhập liệu Matrix chính là form Batch thông thường, nhưng có 2 điểm khác, đó là:
❑Khi mở form nhập liệu Matrix, đầu tiên chương trình sẽ mở batch details lên như form Batch, sau đó xoay ngang batch details này thành dạng bảng ma trận.
❑Nhập liệu ở bảng ma trận xong, khi lưu thì chương trình sẽ xoay dọc bảng ma trận này về bảng Batch thông thường để lưu dữ liệu vào hệ thống.
Có thể nói, form nhập liệu Matrix chính là lớp vỏ bọc bên ngoài của một form Batch. Vậy cách để thiết lập Batch Matrix như thế nào? Các điểm cần lưu ý dành cho Batch Matrix được định nghĩa ở Batch Posting Profile ra sao? Mục dưới đây sẽ hướng dẫn chi tiết cách thiết lập cho form nhập liệu Matrix.
Form nhập liệu ma trận có cách hoạt động như Nhập liệu theo nhóm (Batch Posting), nhưng người thiết kế có thể thiết kế bảng nhập liệu dạng ma trận với số lượng cột tùy biến.
Do đó, nếu người sử dụng chưa biết về Batch Posting, thì đầu tiên cần phải tìm hiểu về cách hoạt động và sử dụng của Batch Posting trước khi thực hiện các thao tác với Batch Matrix.
Tương tự như thiết lập Batch Posting, khi thiết lập Batch Matrix cần thực hiện các theo tác sau:
Định nghĩa một Batch Profile tại tính năng Batch Posting Profile (pbs.BO.BPP). Ngoài các thông tin cần thiết để định nghĩa một Batch Profile như thường lệ, thì có 2 mục của tab Matrix Fields cần chú ý như sau: 1. Matrix Coordinator Field Name Nếu Batch Profile đang định nghĩa là một form nhập liệu ma trận, thì phải chọn một cột từ bảng dữ liệu đích (Kiểu dữ liệu). Cột này sẽ được dùng để lưu tọa độ của mỗi dòng được nhập vào ma trận. Lưu ý, nếu cột nào của bảng dữ liệu đích được chọn để lưu tọa độ Matrix, thì không được dùng cho bất kỳ mục đích nào khác ở tab Detail Table, đặt biệt không dùng các cột là Is Master, nếu chọn một cột Is Master để lưu tọa độ thì hệ thống sẽ báo lỗi. Mục đích của ô tọa độ này được dùng làm tham chiếu để kiểm tra lại dữ liệu. Cột được dùng lưu tọa độ là định dạng chuỗi (text), hệ thống sẽ lưu tự động với cấu trúc R0C001, trong đó: ▪R là dòng, viết tắt từ chữ Row; 0 là số thứ tự dòng, theo thứ tự 0, 1, 2, ..., 10, ..., 100, ... ▪C là cột, viết tắt từ chữ Column; 001 là số thứ tự cột, theo thứ tự 001, 002, 003, ... Trong ví dụ của bài viết này, cột AnalB8 của bảng dữ liệu đích (pbs.BO.PCM.BIV) được dùng để lưu tọa độ ma trận. Theo đó, ô Chi phí văn phòng cho tháng 3 được lưu sẽ có giá trị là R1C003, cho biết dòng này được nhập trên bảng ma trận tương ứng ở dòng số 1 - cột số 003 - giá trị là 15.000.000 a 2. Matrix Fields: Các cột dữ liệu bổ sung sẽ được thêm vào tại bảng Matrix Fields, số lượng cột tùy biến theo nhu cầu sử dụng và có thể bổ sung khi cần thiết. Trong ví dụ của bài viết này, các cột dữ liệu bổ sung tháng 1, tháng 2, tháng 3, .... sẽ được định nghĩa trong bảng Matrix Fields theo hình minh họa bên dưới. Theo đó, tên 3 cột lần lượt sẽ là Jan, Feb, Mar. Khi dữ liệu được nhập vào 3 cột này, sẽ được ghi vào trường Amount của Kiểu dữ liệu đích. Tiêu chí lọc dữ liệu là trường Period sẽ bằng các giá trị lần lượt 001, 002, 003. Các cột cần lưu ý trong bảng Matrix Fields như sau:
|
Trong ví dụ của bài viết này, truy cập vào form nhập liệu ma trận bằng cách chạy câu lệnh pbs.BO.BPH/MatrixForm Tiến hành thiết kế lại form nhập liệu, sắp xếp và ẩn đi các trường không cần thiết. Kết quả có form nhập liệu như sau: ❑Bảng 1: Matrix_pbs_BO_PCM_BIV ❑Bảng 2: Batch_pbs_BO_PCM_BIV
Lưu ý các thiết lập cho Bảng nhập liệu ma trậnỞ bảng nhập liệu ma trận (Bảng 1), một số cột sẽ không tự động lookup để lấy ra tên/diễn giải, ... Do đó, người thiết kế cần thực hiện thêm một bước phụ là tạo công thức để chương trình tự động lấy ra thông tin cho các cột này. Theo ví dụ của bài viết này, form nhập liệu ma trận thông qua Batch Matrix (pbs.BO.BPH/MatrixForm) để lưu vào tính năng Nhập sổ ngân sách (bps.BO.PCM.BIV), sau khi người dùng chọn từ danh sách Hạng mục (hạng mục được định nghĩa từ tính năng pbs.BO.PCM.WBI) thì các cột Mã số ngân sách và Diễn giải không được lấy ra tự động. Người thiết kế cần thiết lập để 2 cột này lấy ra tự động bằng cách: 1. Vào tính năng (Kiểu dữ liệu đích) Nhập sổ ngân sách, có SubForm đúng bằng SubForm của Batch Matrix: pbs.BO.PCM.BIV/MatrixForm 2. Setup\4. Calculation để tạo các công thức Slookup giúp tự động lấy ra thông tin cần thiết.
|
Các ưu điểm của form nhập liệu ma trận được liệt kê như dưới đây:
❑Trong trường hợp cần xử lý dữ liệu dạng ma trận, trước đây có thể dùng cách chuẩn bị một form ma trận trên excel và mapping range trên file này. Cách này hiện nay vẫn hoạt động, nhưng có nhiều khuyến điểm là phải chạy câu lệnh xóa những dữ liệu cũ để insert thêm những dòng mới, như vậy những dòng cũ sẽ bị mất đi, thao tác này sẽ thực hiện tạo mới hoàn toàn. --> Khi dùng form ma trận, khi cần thêm dòng mới thì chương trình sẽ thực hiện việc update, những dòng cũ vẫn được lưu.
❑Với form ma trận, khi muốn xóa dòng nào thì tick chọn dòng đó để xóa, chương trình sẽ xóa đúng dòng đã chọn. Hoặc, khi muốn thêm mới thì chương trình sẽ chèn thêm dòng mới. Hoặc, khi muốn sửa dòng nào thì chương trình sẽ update dòng cần sửa mà không ảnh hưởng đến những dòng còn lại.
❑Validate ngay trên form nhập liệu ma trận.
❑Preset các giá trị cho một hoặc nhiều cột dữ liệu đích thông qua thiết lập của form ma trận, thay vì phải nhập lần lượt các giá trị cho từng cột theo từng dòng.
❑Giao diện dễ nhìn, form nhập liệu dạng ma trận sẽ giúp người dùng nhập liệu nhanh chóng, dễ dàng hơn; đồng thời thuận tiện kiểm soát, đối chiếu theo tọa độ. Nhờ vậy, nhập liệu ma trận ít gặp sai xót so với nhập liệu theo nhóm thông thường do bảng nhập liệu được bố trí theo dạng ma trận với số lượng cột được sắp xếp tùy biến.
________________________
Updated date: 14/04/2016