🏠 Tài liệu kỹ thuật Bravo — Khai báo Layout XML
Vault này là gì?
Toàn bộ tài liệu kỹ thuật về hệ thống thẻ XML dùng để xây dựng layout (giao diện) trên phần mềm Bravo, được tổ chức lại theo mô hình Obsidian: mỗi thẻ là một note độc lập, liên kết chéo với nhau qua wikilink.
Tài liệu bao gồm 02 phiên bản: Bravo 8 và Bravo 10. Có những thẻ chỉ tồn tại ở một phiên bản — hãy luôn kiểm tra khối Phạm vi áp dụng ở đầu mỗi note.
🚦 Quy ước phiên bản
Mỗi note đều mở đầu bằng một callout cho biết thẻ đó dùng được ở đâu:
| Ký hiệu | Ý nghĩa |
|---|---|
| ✅ B8 ✅ B10 | Dùng chung cho cả hai phiên bản |
| ✅ B8 ❌ B10 | Chỉ Bravo 8 — đã bỏ hoặc chưa có ở Bravo 10 |
| ❌ B8 ✅ B10 | Chỉ Bravo 10 — thẻ mới |
| ⚠️ | Có khác biệt về hành vi giữa hai phiên bản, xem mục Khác biệt B8 / B10 |
→ Xem toàn cảnh: Ma trận phiên bản B8 - B10
🗺️ Bản đồ tài liệu
Nền tảng — đọc trước tiên
- Kiến trúc phần mềm Bravo — Layout, DataSource, Template, SubLayout được lưu ở đâu và hoạt động thế nào
- Quy ước cú pháp XML — biểu thức nhúng
{=...}, attributeExpr="True", escape ký tự, đa ngôn ngữ - Cơ chế lưu trữ B00Layout — bảng
B00Layout,B00LayoutData,B00LayoutEditvà cộtIsTemplate - Vòng đời sự kiện Editor — thứ tự chạy của các sự kiện khi tải / sửa / lưu dữ liệu
- B00 - Bảng hệ thống —
B00Command,B00Lookup,B00Layout… và vai trò của chúng
Các loại màn hình (Command Type)
| Màn hình | Vai trò | Note gốc |
|---|---|---|
| 🖊️ Editor | Màn hình nhập liệu | Bắt đầu với Editor |
| 📋 Explorer | Màn hình duyệt / danh sách | Bắt đầu với Explorer |
| 📊 Reporter | Màn hình báo cáo | Bắt đầu với Reporter |
| 📈 Dashboard | Bảng điều khiển trực quan | Bắt đầu với Dashboard |
| 🔀 Diagram | Sơ đồ / lưu đồ | Bắt đầu với Diagram |
| 🧙 Wizard / USPCaller | Màn hình chạy thủ tục theo bước | Bắt đầu với USPCaller và Wizard |
| 🗂️ Project | Quản lý dự án / công việc | Bắt đầu với Project |
| ⏰ TaskMan / TaskSchedule | Lập lịch tác vụ | Bắt đầu với TaskMan |
Tham chiếu ngang
- Bắt đầu với Expression — hệ thống hàm & biểu thức dùng chung cho mọi màn hình
- Danh mục Control A-Z — toàn bộ
ClassNamecontrol có thể đặt lên layout - Danh mục Evaluator A-Z — toàn bộ
ClassNameevaluator - Tìm hiểu về Phân quyền — phân quyền chức năng và phân quyền dữ liệu
- Attach File — cơ chế AttachFile
- Mở rộng (Control) — MapControl, ScheduleControl, CollectionControl, FilePreviewControl, Camera LPR
🔍 Tra cứu nhanh
- Bảng tra thẻ A-Z — tìm bất kỳ thẻ nào theo tên
- Ma trận phiên bản B8 - B10 — thẻ nào dùng được ở phiên bản nào
- Lịch sử thay đổi theo version — thẻ nào xuất hiện từ version nào
- Thuật ngữ — từ điển khái niệm
- Công thức tra cứu nhanh — các đoạn khai báo mẫu hay dùng
🎓 Lộ trình học
Nếu bạn mới bắt đầu
- Kiến trúc phần mềm Bravo → hiểu bức tranh lớn
- Quy ước cú pháp XML → biết cách viết một thẻ cho đúng
- Bắt đầu với Editor → màn hình quan trọng nhất
- DataSource - Tổng quan → nơi chứa toàn bộ logic dữ liệu
- Evaluator - Tổng quan → “động cơ” xử lý của Bravo
- Bắt đầu với Controls → vẽ giao diện
- Bắt đầu với Expression → viết biểu thức
📌 Lưu ý chung từ tài liệu gốc
Trích từ tài liệu gốc
Tài liệu kỹ thuật mô tả tác dụng, ý nghĩa và các thao tác khi sử dụng các thẻ khai báo trên layout. Do trong quá trình phát triển và hoàn thiện sản phẩm nên có thể sẽ có những điểm khác biệt với sản phẩm trên thực tế. Trong tình huống này cán bộ kỹ thuật nên tham khảo các chỉ dẫn trên phần mềm.
Do số lượng các thẻ hỗ trợ là rất lớn, nhiều thẻ chưa được ứng dụng vào các bài toán cụ thể, do vậy tài liệu ưu tiên các thẻ có tần suất sử dụng cao.
Nguồn tra cứu bổ sung (Bravo 10): https://wiki.bravo.com.vn/books/bravo-10-client-documentation
Vault được biên soạn lại từ bộ tài liệu kỹ thuật gốc dạng PDF (11 tài liệu Bravo 10 + 13 tài liệu Bravo 8).