Skip to content

Biến

Biến được sử dụng để lưu trữ giá trị và bạn có thể truy cập giá trị này trong suốt luồng công việc. Khi lưu giá trị cho một biến bạn chỉ cần ghi tên biến mà bạn muốn nhận giá trị đó.

Tên biến

Bạn có thể đặt tên biến thành bất cứ thứ gì bạn muốn. Nhưng để truy cập biến dễ dàng hơn, không sử dụng dấu cách, ký tự như (@) và ngoặc vuông ([]) trong tên biến.

Chuyển kiểu dữ liệu của biến thành mảng

Thông thường, mỗi khi biến nhận giá trị mới thì nó sẽ bỏ giá trị hiện tại và nhận giá trị mới vào.

Ví dụ khi thêm giá trị vào biến một cách bình thường

Chẳng hạn ở đây mình sẽ chèn giá trị 1 vào biến có tên num thì hãy cấu hình node Chèn dữ liệu như sau

Workflow table

Sau khi chạy node này, mình sẽ thấy biến num nhận giá trị 1

Workflow table

Nếu muốn thêm một giá trị 2 thay thế giá trị 1 thì cấu hình như sau

Workflow table

Workflow table

Tuy nhiên một số trường hợp mình muốn nó có thể nhận được nhiều giá trị, khi đó mình cần biến cấu trúc của biến sang dạng mảng. Mình cần sử dụng tiền tố $push: trước tên biến, Automation sẽ thay đổi cấu trức dữ liệu của biến từ chỉ nhận duy nhất giá trị được nhận vào thành một mảng nhận nhiều dữ liệu được nhập vào. Nếu biến đã có giá trị, giá trị đó sẽ trở thành phần tử đầu tiên của mảng và giá trị sau sẽ được thêm ở vị trí thứ 2. Và khi bạn gán giá trị cho biến, thay vì thay thế giá trị biến, Automation sẽ đẩy giá trị đó vào biến ở vị trí sau giá trị trước đó.

Ví dụ khi thêm giá trị vào một biến và biến nó thành cấu trúc dạng mảng

Thông thường mình sẽ chèn biến bình thường như sau:

Workflow table

Workflow table

Sau đó, mình lại muốn biến num có cấu trúc dạng mảng và chèn một giá trị vào mảng thì cấu hình node như sau

Workflow table

Khi đó biến num sẽ hiển thị như sau

Workflow table

Truy cập biến

Thông thường bạn có thể truy cập giá trị của biến được tạo ra trong khi chạy một quy trình bất kỳ bằng biểu thức {{variables.ten_bien}}

Ví dụ khi ghi ra giá trị của một biến được tạo trong quy trình

Đầu tiên mở một link bằng node Mở liên kết, tiếp theo dùng node Lấy Url Tab để lấy đường link của tab hiện tại và chèn vào biến url, sau đó dùng node Nhấn Phím để ghi ra giá trị biến url với biểu thức :{{variables.url}}Workflow table

Nhưng trong một số trường hợp, mình đã chuyển đổi cấu trúc biến sang dạng mảng thì biểu thức lấy giá trị sẽ cần thêm vị trí của phần tử đó. Công thức chung sẽ là: {{variables.ten_bien.stt}} với stt là số thứ tự giá trị đó trong mảng, muốn lấy giá trị đầu tiên thì stt sẽ thay bằng 0, giá trị thứ 2 stt sẽ bằng 1

Ví dụ khi ghi ra giá trị của một biến dạng mảng được tạo trong quy trình

Đầu tiên mình sẽ chèn giá trị văn bản bien1bien2 vào biến textsvà thêm $push: vào trước tên biến trong node Chèn dữ liệu

Workflow table

Sau đó chạy quy trình với node Chèn dữ liệu. Mình sẽ thấy giá trị bien1bien2 đã được chèn vào biến texts và kiểu dữ liệu của biến texts đã chuyển thành dạng mảng với keytextsvalue là một mảng chứa giá trị bien1bien2

Workflow table

Trường hợp mình cần lấy giá trị bien1 thì mình cần xác định được giá trị đó nằm ở vị nào trong mảng, theo như trong ảnh trên, mình có thể xác định được giá trị đó nằm ở vị trí đầu tiên của mảng, khi đó biểu thức lấy giá trị đó sẽ là {{variables.texts.0}}. Mình sẽ ghi biểu thức đó trong node Ghi Log

Workflow table

Khi chạy quy trình kết quả mình nhận được sẽ như sau

Workflow table

Tương tự nếu muốn lấy giá trị bien2 thì biểu thức sẽ là {{variables.texts.1}}

Workflow table

Lưu ý

Bạn không cần phải tạo biến trước rồi mới được sử dụng, sau hành động chèn một dữ liệu vào biến, biến đó sẽ được tạo và có thể sử dụng trong quy trình mà không cần khai báo trước đó