> ## Documentation Index
> Fetch the complete documentation index at: https://learn.cleeksy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Liên kết dữ liệu (Data connections)

> Khắc phục lỗi Data Connection, Lookup, Rollup và publish/consume.

Trang này tập trung vào lỗi liên quan đến:

* **Publish/Consume (chia sẻ dữ liệu)** giữa các app
* **Data Connection** (một chiều/hai chiều)
* **Lookup** và **Rollup**

Liên quan:

* [Chia sẻ dữ liệu (Publish/Consume)](/reference/publish-consume)
* [Kết nối dữ liệu một chiều (Data Connection one-way)](/build-apps/data-modeling/data-connection-one-way)

***

## Checklist nhanh (khi “không thấy dữ liệu”)

1. Xác định liên kết trong **cùng app** hay **giữa các app**.
2. Nếu giữa các app: kiểm tra app nguồn đã **publish dữ liệu chia sẻ** và chia sẻ qua **Data source loại Connected app**.
3. Ở app đích: khi tạo field Data Connection/Lookup/Rollup, chọn đúng **data source** hoặc **dữ liệu chia sẻ**.
4. Kiểm tra quyền xem dữ liệu nguồn (role/visibility).
5. Kiểm tra record đã được liên kết chưa (Data Connection không rỗng).

***

## 1) Không chọn được data source/dữ liệu chia sẻ

### Nguyên nhân thường gặp

* Provider app chưa publish dữ liệu chia sẻ
* Provider app chưa chia sẻ dữ liệu chia sẻ qua data source loại Connected app
* Thiếu quyền dùng data source hoặc thiếu quyền xem dữ liệu nguồn

### Cách xử lý

* Nhờ builder/provider:
  * publish dữ liệu chia sẻ đúng entity
  * chỉ chia sẻ các field cần thiết
  * bật chia sẻ qua Connected app
* Nhờ admin kiểm tra quyền ở app nguồn và app đích

***

## 2) Field liên kết hiển thị trống hoặc không chọn được dữ liệu

Các field type **Data Connection**, **Lookup** và **Rollup** sử dụng **data source (cổng dữ liệu)** do app nguồn (provider) chia sẻ, hoặc do hệ thống ngoài cung cấp (Webhook/API). Nếu cấu hình đúng mà vẫn “trống”, thường do **phạm vi dữ liệu** hoặc **điều kiện lọc**.

### Triệu chứng thường gặp

* Data Connection không tìm thấy record để chọn, hoặc danh sách trống
* Lookup trả về trống dù đã chọn đúng field cần hiển thị
* Rollup trả về 0/trống dù kỳ vọng có dữ liệu

### Nguyên nhân thường gặp

* Chọn sai **data source** hoặc **dữ liệu chia sẻ** khi tạo field
* **Filter/điều kiện** ở data source làm dữ liệu bị loại bỏ

### Cách xử lý

* Kiểm tra lại field:
  * Data Connection/Lookup/Rollup đang trỏ tới **đúng data source** hay không
  * Field cần tham chiếu/tổng hợp có nằm trong tập field được chia sẻ không
* Tạm thời nới filter (hoặc bỏ filter) để kiểm tra dữ liệu có xuất hiện không

Liên quan: [Chia sẻ dữ liệu (Publish/Consume)](/reference/publish-consume)

## 3) Dữ liệu “không cập nhật” như kỳ vọng

### Nguyên nhân thường gặp

* Hiểu nhầm giữa “tham chiếu” và “sao chép”
* Data Connection/Lookup/Rollup là **liên kết** và **hiển thị/tổng hợp** theo dữ liệu nguồn; không tạo bản sao dữ liệu

### Cách xử lý

* Nếu cần dữ liệu “được chốt” tại thời điểm nào đó (snapshot): cân nhắc lưu riêng vào field khác theo quy tắc vận hành (builder quyết định)
* Nếu cần luôn đúng theo nguồn: dùng Lookup/Rollup thay vì nhập lại

***

## 4) Nhầm one-way vs two-way

### Dấu hiệu

* Hai bên sửa và “đè” lên nhau
* Trạng thái giữa hai app bị khó kiểm soát

### Gợi ý xử lý

* Bắt đầu bằng **one-way** để giữ ownership rõ
* Chỉ dùng **two-way** khi đã xác định rõ:
  * bên nào là nguồn chuẩn của từng field
  * khi nào đồng bộ
  * ai được phép thay đổi

Liên quan: [Ownership & chia sẻ dữ liệu (Data ownership & sharing)](/foundations/data-ownership-sharing)

***

## 5) Thu thập thông tin khi cần hỗ trợ

* App nguồn/app đích là gì?
* dữ liệu chia sẻ nào được publish?
* Field Data Connection/Lookup/Rollup cấu hình trỏ tới đâu?
* Role của người dùng đang gặp lỗi
* Ảnh chụp cấu hình field và data source
