Trường tùy chỉnh
Trường tùy chỉnh cho phép bạn thêm trường riêng vào các đối tượng của XBuddy — hóa đơn, liên hệ, nhân viên, sản phẩm, cơ hội (deal) và nhiều hơn — mà không cần thay đổi cơ sở dữ liệu hay mã nguồn. Sau khi định nghĩa, trường tự động xuất hiện trong biểu mẫu tạo/sửa và trang chi tiết của đối tượng, được lưu cùng bản ghi, và có thể xuất cũng như báo cáo như mọi trường có sẵn.
Quản lý tại Cài đặt → Trường tùy chỉnh (/settings/custom-fields).

Khi nào dùng trường tùy chỉnh
Dùng trường tùy chỉnh khi doanh nghiệp cần theo dõi thứ mà XBuddy chưa mô hình hóa sẵn, nhưng bạn không muốn tạo cả module mới. Ví dụ:
- Trường văn bản Số hợp đồng trên hóa đơn.
- Trường lựa chọn Kênh liên hệ ưu tiên trên liên hệ.
- Trường Cỡ áo hoặc Liên hệ khẩn cấp trên nhân viên.
- Trường số Số tháng bảo hành trên sản phẩm.
Trường tùy chỉnh có phạm vi theo từng loại đối tượng (invoice, contact, employee, product, deal, …). Trường bạn thêm cho contact chỉ hiện trên liên hệ. Muốn thêm cùng một trường cho hai đối tượng, hãy định nghĩa hai lần.
Các loại trường
| Loại | Lưu dưới dạng | Giao diện nhập | Dùng điển hình |
|---|---|---|---|
| Văn bản | chuỗi | Ô văn bản một dòng | Số tham chiếu, ghi chú ngắn |
| Số | số | Ô nhập số | Số lượng, điểm, số tháng |
| Ngày | ngày | Bộ chọn ngày | Kỷ niệm, ngày hết hạn |
| Lựa chọn | chuỗi (một tùy chọn) | Danh sách thả xuống | Danh sách cố định — vùng, hạng, kênh |
| Boolean | đúng/sai | Công tắc / hộp kiểm | Cờ có/không — VIP, đã đăng ký |
Kiểm tra hợp lệ theo từng trường
Mỗi trường có thể mang các quy tắc mà XBuddy thực thi trong biểu mẫu trước khi lưu bản ghi:
| Quy tắc | Áp dụng cho | Hành vi |
|---|---|---|
| Bắt buộc | Mọi loại | Không lưu được cho đến khi trường có giá trị |
| Min / Max | Số | Giá trị phải nằm trong khoảng |
| Độ dài Min / Max | Văn bản | Giới hạn số ký tự |
| Tùy chọn | Lựa chọn | Chỉ chấp nhận các tùy chọn đã liệt kê |
Nhãn song ngữ
Mỗi trường có cả nhãn tiếng Anh và tiếng Việt. XBuddy tự động hiển thị nhãn khớp với ngôn ngữ người dùng chọn — nên trường có nhãn “Warranty Months” / “Số tháng bảo hành” hiển thị đúng cho cả hai nhóm mà không cần thao tác thêm.

Tạo một trường tùy chỉnh
Mở trình quản lý
Vào Cài đặt → Trường tùy chỉnh (/settings/custom-fields).
Chọn loại đối tượng
Chọn đối tượng cần mở rộng — ví dụ Liên hệ — từ bộ chọn đối tượng. Danh sách bên dưới hiển thị các trường đã định nghĩa cho đối tượng đó.
Thêm trường mới
Nhấn Thêm trường. Điền:
- Khóa (Key) — định danh nội bộ (chữ thường, không dấu cách), ví dụ
preferred_channel. - Nhãn tiếng Anh và Nhãn tiếng Việt.
- Loại — văn bản, số, ngày, lựa chọn, hoặc boolean.
- Tùy chọn — chỉ dành cho
select; mỗi tùy chọn một dòng.
Đặt kiểm tra hợp lệ
Bật Bắt buộc nếu trường là bắt buộc. Với trường số đặt Min/Max; với văn bản đặt giới hạn độ dài.
Lưu
Lưu trường. Nó xuất hiện ngay trong biểu mẫu tạo/sửa của đối tượng đó — không cần triển khai lại hay khởi động lại.
Trường tùy chỉnh xuất hiện ở đâu
Sau khi định nghĩa, trường hiển thị qua component dùng chung CustomFieldsSection tại:
- Biểu mẫu tạo của đối tượng.
- Biểu mẫu sửa của đối tượng.
- Trang chi tiết của đối tượng (trong khối “Trường tùy chỉnh” có thể thu gọn).
- Xuất CSV và báo cáo, dưới dạng cột bổ sung.
Trên trang chi tiết giao dịch, khối trường tùy chỉnh có thể thu gọn với nút Xem thêm / Thu gọn để danh sách dài không chiếm hết trang.
Sửa và xóa trường
- Sửa nhãn hoặc kiểm tra hợp lệ có hiệu lực ngay cho mọi lần sửa sau này.
- Đổi loại của trường khi đã có dữ liệu là điều không khuyến khích — giá trị hiện có có thể không phù hợp loại mới. Nên tạo trường mới.
- Xóa trường sẽ ẩn nó khỏi biểu mẫu. Giá trị lịch sử đã lưu vẫn còn trong bộ nhớ nhưng ngừng hiển thị.
Đặt một trường hiện có thành Bắt buộc không tự điền các bản ghi cũ — nó chỉ chặn lưu các bản ghi được sửa từ nay. Hãy điền đủ dữ liệu cho các trường quan trọng trước khi bật Bắt buộc.
Thực hành tốt
- Giữ khóa ổn định và dễ hiểu; bạn sẽ thấy chúng trong xuất dữ liệu và tích hợp.
- Ưu tiên Lựa chọn hơn Văn bản tự do khi giá trị là danh sách đã biết — giữ dữ liệu sạch và báo cáo được.
- Luôn điền cả hai nhãn ngôn ngữ, ngay cả khi đội của bạn hiện chỉ dùng một ngôn ngữ.
- Nhóm các trường liên quan bằng cách định nghĩa theo thứ tự hợp lý — chúng hiển thị theo thứ tự tạo.