工作流中的ArrayListAEM變數

在AEM Forms6.5中引入了ArrayList類型的變數。使用ArrayList變數的常見使用案例是定義要用於AssignTask的自定義路由。

為了在工作流中使用ArrayList變AEM量,您需要建立一個最適化表單,該表單在提交的資料中生成重複元素。 常見的做法是定義包含陣列元素的方案。 為了本文,我已建立包含陣列元素的簡單JSON結構描述。 使用案例是員工填寫費用報表。 在費用報表中,我們將捕獲提交者的經理名稱和經理的經理名稱。 管理器的名稱儲存在名為managerchain的陣列中。 以下螢幕截圖顯示費用報表表單和來自Adaptive Forms提交的資料。

開銷報告

以下是來自最適化表單提交的資料。 最適化表單是以JSON結構描述為基礎,系結至結構描述的資料會儲存在afBoundData元素的資料元素下。 managerchain是一個陣列,我們需要在ArrayList中填充該對象的名稱元素。

{
    "afData": {
        "afUnboundData": {
            "data": {
                "numericbox_2762582281554154833426": 700
            }
        },
        "afBoundData": {
            "data": {
                "Employee": {
                    "Name": "Conrad Simms",
                    "Department": "IT",
                    "managerchain": [{
                        "name": "Gloria Rios"
                    }, {
                        "name": "John Jacobs"
                    }]
                },
                "expense": [{
                    "description": "Hotel",
                    "amount": 300
                }, {
                    "description": "Air Fare",
                    "amount": 400
                }]
            }
        },
        "afSubmissionInfo": {
            "computedMetaInfo": {},
            "stateOverrides": {},
            "signers": {},
            "afPath": "/content/dam/formsanddocuments/helpx/travelexpensereport",
            "afSubmissionTime": "20190402102953"
            }
        }
}

若要初始化子類型字串的ArrayList變數,您可以使用JSON Dot Notation或XPath對應模式。 下列螢幕擷取顯示您使用JSON點記法填入名為CustomRoutes的ArrayList變數。 請確定您指向的是陣列物件中的元素,如下方螢幕擷取所示。 我們將用managerchain陣列對象的名稱填充CustomRoutes ArrayList。
然後, CustomRoutes ArrayList用於在AssignTask元件中填充路由
customroutes
使用提交資料中的值初始化CustomRoutes ArrayList變數後,AssignTask元件的路由將使用CustomRoutes變數填充。 以下螢幕抓圖顯示AssignTask中的自定義路由
asingtask

若要在您的系統上測試此工作流程,請依照下列步驟進行

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now