Các mẩu tin có thể được nhập hàng loạt vào chương trình thông qua tính năng import. Tuy nhiên khi cần chỉnh sửa các thông tin thì hoặc phải import lại hoặc dùng tính năng edit của form cho 1 record. Điều này sẽ làm việc thay đổi dữ liệu không dễ dàng hoặc dễ sai sót.
Vấn đề trên sẽ được giải quyết bằng chức năng Nhập liệu theo nhóm - Batch Data Entry.
Đây là một tính năng của Phoebus cho phép nhập dữ liệu hàng loạt theo từng nhóm, người dùng sẽ nhập liệu các nhóm dữ liệu thông qua tính năng này thay vì nhập trực tiếp từng bản ghi (Record) tại từng kiểu dữ liệu (tính năng) nào đó.
Tính năng này quy định cách thức nhập liệu theo nhóm của 1 loại dữ liệu cụ thể.
Mục đích của chức năng Nhập liệu theo nhóm dùng để:
Các đợt post dữ liệu được lưu vào 1 bảng riêng biệt có tên pbs_BATCH_XXX
Mỗi LineNo là một lần post cho các gói dữ liệu.
Ví dụ: nhập ngân sách cho năm X, project A ...
Để tạo hồ sơ (profile) nhập liệu theo nhóm, cần tạo profile mô tả loại dữ liệu cần nhập theo nhóm và các quy tắc kiểm tra dữ liệu khác
Để định nghĩa Nhập liệu theo nhóm (Batch Profile), vào chức năng pbs.BO.BPP
Bấm nút Tạo mới để định nghĩa mới một batch profile, hoặc chọn các batch profile đã có để Chỉnh sửa
Các trường thông tin có trong giao diện Thiết lập nhập liệu theo nhóm như sau:
Các thiết lập cho một profile nhập liệu theo nhóm.
Chọn kiểu dữ liệu đích: batch profile này hoạt động dưới loại dữ liệu nào? Nghĩa là chương trình sẽ xử lý, ghi chép hàng loạt những dòng dữ liệu vào kiểu dữ liệu (tính năng) được chọn ở mục này.
Khi chọn Kiểu dữ liệu xong, bấm phím Tab hoặc Enter --> những cột thuộc kiểu dữ liệu này sẽ được lấy ra ở phần Detail bên dưới.
Chú ý kiểu dữ liệu này phải nhập chính xác theo chữ hoa , chữ thường tên của loại dữ liệu. Ta có thể chọn từ danh sách để đảm bảo dữ liệu là đúng.
Ô kiểu dữ liệu còn được dùng làm định danh cho bảng dữ liệu trong batch form. Do đó, nếu ta đổi thông tin này (ngay cả đổi chữ hoa thành chữ thường) layout của bảng dữ liệu con (grid) cũng sẽ không truy cập được từ batch form cũ và ta sẽ phải design lại layout mới cho batch form
Tình trạng của batch profile:
Form Batch dùng để nhập hàng loạt các mẫu tin mới, bật Allows Add Existing Children Record ON trong trường hợp form batch dùng để cập nhật trạng thái cho những mẫu tin đã có trong hệ thống (cho phép thêm những mẫu tin đã tồn tại vào trong batch để cập nhật trạng thái), chứ không phải dùng batch này để tạo mới. Điều này thực hiện được khi người dùng thêm dòng bằng lệnh chuột phải.
Ví dụ: Tình huống đơn hàng, xuất đơn hàng bán 5 hàng hóa. Thực tế kho chỉ xuất đi 3 hàng hóa. --> Mở batch xuất kho mới, dùng lệnh chuột phải để chọn batch đơn hàng cần xuất và chọn 3/5 dòng vào batch, lưu batch. Tác dụng của batch xuất kho này là sẽ cập nhật trạng thái cho 3 dòng của đơn hàng (trạng thái của 3 hàng hóa được xuất sẽ được cập nhật theo trạng thái của Header), nghĩa là trong 5 dòng của đơn hàng ban đầu, có 3 dòng đã xuất đi.
Tóm lại, trong ví dụ trên có 2 batch được đề cập:
Phần này thiết lập theo trạng thái (Status), tùy theo Status được mapping vào đâu trên Header.
Khi batch được sử dụng như xử lý trạng thái, bật Remove Children From Batch Instead Of Delete ON trong trường hợp yêu cầu chỉ thay đổi trạng thái chứ không được xóa mẫu tin này. Nghĩa là chỉ có thể loại bỏ (remove) các dòng ở giao diện batch nhưng không thể xóa (delete) các mẫu tin đã được ghi nhận trong kiểu dữ liệu đích.
Như vậy, khi làm động tác loại bỏ dòng trong batch, hệ thống sẽ gỡ bỏ Batch No được lưu chứ không xóa mẫu tin trong kiểu dữ liệu đích.
Ví dụ: tiếp theo tình huống trên, khi kiểm tra hàng thấy chỉ còn đủ xuất 2/3 hàng hóa, lúc này người dùng có thể set quantity bằng zero hoặc xóa 1 hàng hóa thiếu trong 3 hàng hóa đã làm thao tác xuất. --> Trường hợp này, không thể xóa dữ liệu đã ghi nhận trong kiểu dữ liệu đích, mà chỉ có thể loại bỏ ở giao diện batch xuất kho (batch 2).
Khi xử lý batch (Save/Post) thì lưu số batch number vào ô này, nên bắt buộc phải chọn một ô thuộc (*) để lưu.
Mục đích để gọi lên những dòng thông tin liên quan đến batch profile. Nếu thiếu bước này, hệ thống sẽ không biết batch đã lưu sẽ có những gì. Lưu ý: cột này bắt buộc phải là định dạng chuỗi (text) hoặc số nguyên (integer).
Lệnh này sẽ chạy sau khi một batch được xóa.
Khi mở một form batch, trong nhiều trường hợp sẽ gọi từ một danh sách có sẵn, nghĩa là điền trước nội dung của batch đó.
Ví dụ: Tạo 1 batch Điểm danh số học sinh đi học của một lớp học, thì khi mở batch phải điền sẵn danh sách học sinh của lớp cần điểm danh.
Nội dung tiền định chỉ được thiết lập cho bảng Detail. Để dùng được cần thực hiện 2 bước:
Định nghĩa nguồn dữ liệu dùng làm tiền định cho batch bằng câu lệnh mô tả cách lấy dữ liệu như
pbs.BO.____?____&____
- Hoặc template report?id=____&$range=____
QD?Id=____
Do cấu trúc của bảng nguồn dùng làm tiền định có thể không giống với cấu trúc của kiểu dữ liệu đích trong batch, nên bước mapping này sẽ xác định sao chép cột nào trên bảng tiền định vào cột nào trong bảng kiểu dữ liệu đích.
Thao tác mapping tại cột Mapping Column cho các cột được đánh dấu Is Detail ở Detail Table (nếu là form batch thông thường), hoặc Matrix Field (nếu là form batch ma trận).
Sau khi chọn Kiểu dữ liệu (*) trên phần Header thì phần Detail Table sẽ hiển thị tất cả các cột của kiểu dữ liệu đã chọn.
Mapping Column được dùng để mapping các cột dữ liệu ở phần Detail Table đối với một profile Batch thông thường.
Việc mapping này giữa Kiểu dữ liệu đích và các cột của bảng Batch (pbs.BO.BPH) hoặc các cột của bảng dữ liệu tiền định (Preset Data Source URL), do cấu trúc của các bảng này không giống với cấu trúc của kiểu dữ liệu đích.
Có 2 loại dạng mapping tại cột Mapping Column của Detail Table:
Lệnh | Diễn giải |
---|---|
Thiết lập quy tắc các trường dữ liệu. cho header và detail của Batch. | |
Chạy thử Batch form. | |
Điền danh sách các trường dữ liệu của mẩu tin cần sử lý với Batch vào bảng detail |
Câu lệnh mở Form nhập liệu theo nhóm.
pbs.BO.BPH/SubForm
Chú ý
SubForm chính là Batch Profile đã được định nghĩa ở bước đầu tiên (pbs.BO.BPP)
Vào chức năng pbs.BO.BPH/SubForm, trong ví dụ này sẽ là pbs.BO.BPH/BUDGET
Theo mặc định, màn hình Danh sách Form nhập liệu theo nhóm sẽ liệt kê danh sách tất cả các lần đã đưa dữ liệu vào hệ thống của các loại Batch Profile (SubForm).
Form nhập liệu theo nhóm (pbs.BO.BPH/subForm) gồm có 2 phần là Header và Detail, hình dưới đây minh họa một Form Bacth đã được thiết kế:
Cấu trúc phần Header gồm tất cả các trường dữ liệu của Batch, bảng này cố định cho tất cả các loại thông tin, cho dù dùng Batch để post loại thông tin gì vào hệ thống thì phần Header này cũng luôn cố định. Các trường dữ liệu này sẽ được mapping vào các trường của Kiểu dữ liệu đích.
Tại Batch Profile, đối với các trường được đánh dấu Is Master thì khi nhập từ Header sẽ được sao chép xuống các dòng ở bảng Detail của Form Batch.
Trong ví dụ của bài viết này, phần Header được mapping dùng chung cho các mẫu tin bên dưới gồm:
Form Batch | Kiểu dữ liệu (pbs.BO.PCM.BIV) |
---|---|
Số n.ký (Batch No) | Số phiếu (ReferenceNo) |
Batch Date | Ngày hiệu lực (EffectiveDate) |
Kỳ kế toán (Period) | Kỳ kế toán (Period) |
Cấu trúc phần Detail gồm tất cả các trường của Kiểu dữ liệu đích, các trường này được xắp xếp dưới dạng bảng, người dùng sẽ nhập mỗi dòng là một mẫu tin được ghi nhận khi batch được post vào hệ thống.
Thiết kế Form Batch bằng cách sử dụng các công cụ thiết kế form như các form tính năng khác.
Đây là một trong những ưu điểm lớn nhất của việc sử dụng Nhập liệu theo nhóm, dễ dàng gọi lên các nhật ký đã được ghi nhận để chỉnh sửa/thêm dòng/xóa dòng/xóa nhật ký ... bằng cách chọn đúng Batch No của mỗi batch number, sau đó bấm nút Chỉnh sửa , thực hiện các thao tác sửa/thêm/xóa và Lưu lại. Các mẫu tin ngay lập tức sẽ được cập nhật vào hệ thống. Mỗi Batch Profile được tạo ra để post nhiều dòng dữ liệu vào hệ thống. Mỗi lần post, hệ thống sẽ ghi nhận một Batch Number.
Batch Number này còn được mapping vào Kiểu dữ liệu bằng cách thiết lập tại Batch No Field Name (phần Định nghĩa Batch Profile: pbs.BO.BPP).
Updated on : 2021-02-06 17:44:51. by : . at 118.69.187.103.
Topic : Batch Posting Profile. pbs.bo.bpp