單據操作

簽核作業

用途:審核 iDempiere ERP 工作流程(Workflow)中的待辦事項。

操作步驟

  1. 從首頁點擊「簽核作業」卡片(紅色)
  2. 系統載入所有待簽核的流程活動
  3. 點擊任一項目查看詳細資訊
  4. 選擇「核准」或「駁回
  5. 操作成功後顯示綠色確認動畫

工作流程圖(視覺化)

從簽核詳情畫面可開啟該流程的工作流程圖,以視覺化方式呈現所有節點與連線:

  • 節點顏色依動作類型區分(Doc Action、User Choice、Process、Email 等)
  • 即時狀態:綠色=已完成、琥珀色=進行中、紅色=已中止
  • 「即時」按鈕:點擊後畫面平滑動畫捲動至目前進行中的節點
  • 支援手勢縮放與拖曳平移

歷史追蹤

右上角歷史圖示可查看已處理的簽核紀錄。支援 UserChoice 節點和標準 Approval 節點兩種類型。


資料維護(Window 模組)

用途:瀏覽及管理 iDempiere ERP 視窗資料,支援角色權限、我的最愛、搜尋、CRUD 操作、文件動作及附件。

功能特色

功能 說明
視窗列表 顯示當前角色可存取的所有 ERP 視窗
權限標示 R(唯讀)/ R/W(可讀寫)依 AD_Window_Access 判斷
我的最愛 點擊星號加入最愛,最愛視窗排序在最前面
關鍵字搜尋 依視窗名稱或描述即時篩選
記錄列表 分頁載入視窗記錄,支援下拉更新
子標籤 支援 Parent/Child Tab 瀏覽,分頁載入(每頁 20 筆)
新增/編輯/刪除 R/W 視窗支援完整 CRUD 操作
文件動作 完成、作廢、關閉、沖銷等文件處理
附件 檢視及下載記錄附件

CRUD 操作

僅在 R/W(可讀寫)權限的視窗中顯示 CRUD 相關按鈕。

操作 入口 說明
新增 記錄列表右下角 + 浮動按鈕 開啟空白表單,填寫後送出建立新記錄
編輯 記錄詳情右上角鉛筆圖示 載入現有資料至表單,修改後儲存
刪除 編輯表單右上角紅色垃圾桶圖示 彈出確認對話框,確認後刪除記錄

預設值解析

新增或複製記錄時,系統自動解析 AD_Column.DefaultValue 定義的預設值:

  • SQL 預設值@SQL=SELECT...):由伺服器端即時查詢並回填
  • Context 變數@#Date@@AD_Org_ID@ 等):自動替換為目前登入環境的值
  • 全欄位解析:表單開啟時一次解析所有欄位的預設值,減少使用者手動輸入

文件動作

記錄詳情頁面,若記錄含 DocStatus 欄位且為 R/W 視窗,右上角會出現播放圖示按鈕:

目前狀態 可用動作
DR(草稿)/ IP(進行中) 完成 (CO)、作廢 (VO)
CO(已完成) 關閉 (CL)、沖銷 (RC)

附件

記錄詳情頁面底部顯示附件列表(若有),顯示附件數量標題及每個附件的檔案名稱和圖示。支援一鍵下載所有附件為 ZIP 壓縮檔。

顯示邏輯(DisplayLogic)

欄位根據 iDempiere DisplayLogic 表達式動態顯示或隱藏,記錄詳情及編輯表單均套用:

  • 格式@ColumnName@='value'
  • 運算子=(等於)、!=(不等於)、^(開頭符合)
  • 邏輯連接&(AND)和 |(OR)

當欄位值變更時,表單會即時重新評估所有顯示邏輯,自動顯示或隱藏相關欄位。

記錄列表搜尋與排序

功能 說明
即時搜尋 輸入關鍵字後 500ms 自動搜尋(OData contains 過濾),按 Enter 可立即搜尋
動態排序 依欄位元資料動態產生排序選項,支援遞增/遞減,預設「最新優先」
空狀態區分 無記錄時顯示新增按鈕(R/W);搜尋無結果時顯示清除篩選按鈕

表單保護

功能 說明
未儲存變更警示 返回鍵觸發確認對話框,避免意外遺失編輯
儲存中鎖定 儲存期間表單灰化禁用,防止重複提交
操作回饋 儲存/刪除成功後顯示綠色提示訊息
數字驗證 整數/金額欄位即時驗證輸入格式

參考欄位搜尋

Table / TableDir 型別的欄位(18/19/30)在編輯表單中以可搜尋查詢元件呈現:

  1. 點擊欄位或搜尋圖示,開啟底部搜尋面板
  2. 在搜尋欄輸入關鍵字即時篩選參考值(超過 100 筆時自動切換為伺服器端搜尋)
  3. 點選結果自動填入欄位
  4. 可點擊清除按鈕移除已選值
  5. 搜尋時自動傳送表單資料,確保驗證規則正確解析

跨視窗導覽

記錄詳情中的 Table / TableDir 欄位(18/19/30)顯示為可點擊連結,點擊後自動解析對應視窗並跳轉至該記錄的詳情頁面。

欄位型別對應

型別 顯示方式
文字 (10/14) 可選取文字
整數 (11) 千分位格式
金額/數字 (12/22) 千分位 + 小數
日期 (15) yyyy-MM-dd
日期時間 (16) yyyy-MM-dd HH:mm
清單/資料表 (17/18/19/30) 顯示識別名稱
是否 (20) 是/否 標籤
帳戶 (25) 帳戶圖示 + 文字
網址 (29) 可點擊連結
圖片 (32/33) 支援 base64 圖片預覽、點擊全螢幕檢視、雙指縮放
儲位 (39) 定位圖示 + 文字

資料表名稱解析

系統透過查詢 AD_Table 取得正確的 SQL TableName,避免 REST API identifier 欄位(顯示名稱)與實際資料表名稱不一致的問題。查詢結果快取於本次連線期間,不會重複查詢。

若 iDempiere REST 插件的 Window 端點回傳錯誤,系統會自動改用 Model API 取得資料,使用者無需額外操作。

進階功能(通用視窗模組 V2)

  • 進階篩選晶片(FilterChipBar):可依欄位類型(文字/數字/日期/布林/清單/查詢)選擇運算子與值,多條件 AND 組合篩選
  • 篩選預設:可儲存常用篩選組合為預設,快速載入;長按可刪除
  • 骨架載入器:以 Shimmer 動畫骨架取代傳統圈圈載入,提升感知效能
  • 欄位顯示切換:點擊 App Bar 欄位設定圖示,可勾選要顯示的欄位,設定持久化
  • 子記錄內嵌編輯:點擊子記錄行可展開內嵌編輯表單,單行展開、即時儲存
  • 多選模式:長按記錄進入多選模式,支援全選、批次刪除、批次匯出(CSV)
  • 表單驗證:內嵌編輯新增 Form 驗證,必填欄位不可空白提交
  • ReadOnly 邏輯:依記錄狀態自動判斷欄位是否唯讀(如已完成單據不可編輯)
  • 數字欄位修正:修正輸入時可混用逗號/小數點的問題,統一為小數點輸入

入庫操作

用途:依據入庫路徑,將物品從來源倉庫移入目的倉庫貨架。

操作步驟

選擇移動路徑

若系統中有多條入庫路徑,會先進入路徑選擇畫面。若僅有一條,則自動使用。

第一步:選擇來源倉庫物品

  • 下拉選單列出路徑來源倉庫中所有有庫存的物品
  • 每個選項顯示:物品名稱批號可用庫存數量
  • 可點擊掃描圖示,使用條碼掃描自動選取

第二步:選擇目的倉庫儲位

下拉選單列出路徑目的倉庫中所有儲位,選擇物品要放置的目標貨架位置。

第三步:輸入數量

在數量欄位輸入要移入的數量。右側顯示「可用: X」提示最大可入庫量。數量不可超過來源倉庫的可用庫存。

確認送出

點擊「確認入庫」按鈕,系統在 iDempiere 建立 M_Movement 單據並自動完成。成功後顯示綠色提示及單據編號。

批次入庫

  • 點擊入庫畫面右上角的批次圖示進入批次模式
  • 可連續加入多筆物品(選擇物品 → 選擇儲位 → 輸入數量 → 按「加入」)
  • 點擊「送出全部」一次處理所有入庫作業
  • 每筆項目顯示即時狀態:待處理 → 成功 / 失敗

出庫操作

用途:依據出庫路徑,從來源倉庫領取物品。

操作步驟

第一步:選擇來源倉庫物品

下拉選單列出路徑來源倉庫中所有有庫存的物品,顯示名稱、儲位、批號、可用庫存。

第二步:輸入領料數量

輸入本次需要的用量,右側顯示可用庫存量。

第三步:實驗備註(選填)

可輸入本次領料的用途說明,例如「生產線 A-03 用料」。備註內容完整記錄在 ERP 系統中。

確認送出

點擊「確認領料」,系統建立移動單並完成。

批次出庫

操作方式與批次入庫相同:點擊批次圖示 → 加入多筆 → 一次送出。


庫存查詢

用途:查看移動路徑相關倉庫的所有庫存狀態。

操作方式

  1. 進入「庫存查詢」頁面
  2. 頂部倉庫選擇器可切換查看不同倉庫的庫存
  3. 系統自動載入所選倉庫的庫存項目(分頁載入,每頁 50 筆)
  4. 滑動至底部自動載入更多資料

搜尋功能

  • 在頂部搜尋欄輸入物品名稱關鍵字
  • 按 Enter 鍵執行伺服器端搜尋(使用 OData contains() 過濾)
  • 搜尋結果支援分頁載入

庫存清單欄位

欄位 說明
物品名稱 產品 identifier
儲位 存放的貨架位置
批號 物料批次號碼(若有)
庫存量 當前數量(綠色=有庫存,紅色=零或負)
低庫存 庫存低於門檻值時顯示橘色「庫存偏低」標籤
QR Code 點擊 QR 圖示可產生該物品的 QR Code 標籤

QR Code 標籤產生

  • 在庫存清單中,點擊任一項目右側的 QR Code 圖示
  • 系統產生包含品號的 QR Code,並顯示物品名稱、儲位、批號
  • 可截圖或長按儲存後用於標籤列印

組織庫存查詢

用途:快速查詢整個組織(所有倉庫和儲位)的即時庫存,並顯示 Production (DR/IP) 保留量。

操作方式

  1. 從首頁點擊「組織庫存查詢」卡片
  2. 在搜尋欄輸入料號(品號)或批號
  3. 按 Enter 或點擊送出圖示進行搜尋(搜尋不分大小寫)

查詢結果

結果按產品分組,每張卡片顯示:

欄位 說明
料號 / 品名 產品 Value + Name
Production 保留量 DR/IP 狀態的生產單保留消耗量(橘色標示)
倉庫 / 儲位 / 批號 / 在庫 各倉庫/儲位的即時庫存明細
合計 該產品所有倉庫的總在庫量
  • 庫存數量的小數部分以深灰色顯示,方便區分整數與小數
  • 庫存為零的記錄不顯示,負數保留(方便排查異常)
  • 支援分頁載入(每頁 50 筆)和下拉刷新

工作請求

用途:管理 iDempiere R_Request 工作票務,追蹤狀態、指派負責人、新增備註。

首頁 TODO 面板

打開 App 即在首頁上方看到工作請求面板:

  1. 預設展開顯示 ChoiceChip 狀態標籤(待辦事項/處理中/待驗收/問題/已結案)
  2. 每個標籤顯示該狀態下的請求數量,例如 待辦事項 (8)
  3. 只顯示指派給自己(負責人)或自己提出的工作請求
  4. 點擊標題列的箭頭圖示可收合/展開面板
  5. 點擊 [+] 圖示新增工作請求

查看全部(Tab 頁面)

點擊面板底部「查看全部」進入完整的 Tab 頁面:

  • 每個 Tab 對應一個狀態,顯示該狀態下所有請求卡片
  • 卡片顯示:摘要、優先級(色點)、單號、負責人、日期
  • 點擊卡片進入詳情頁

看板拖放操作

在 Tab 頁面中,卡片支援跨狀態拖放,直接變更工作請求狀態:

  1. 長按卡片開始拖曳(卡片浮起並帶有陰影效果)
  2. 拖曳至目標狀態欄位 — 欄位邊框與背景會高亮提示
  3. 放開卡片 — 系統自動呼叫 API 更新 R_Status_ID
  4. 成功後顯示綠色提示訊息,所有欄位自動刷新
  • 不可拖放至相同狀態欄位(系統會自動拒絕)
  • 拖放期間目標欄位會顯示載入指示器

詳情頁面

  • 顯示完整資訊:單號、類型、提出者、負責人、建立日期、優先級
  • ChoiceChip 狀態切換 — 點擊任一狀態即可變更
  • 備註功能 — 輸入文字後點擊送出,新增 R_RequestUpdate 紀錄
  • 下方顯示完整的更新紀錄列表

新增請求

  • 從首頁面板 [+] 或完整頁面 FAB 按鈕進入
  • 填寫:標題(必填)、優先級(高/中/低)、說明(選填)
  • 送出後自動返回列表

掃碼查詢

用途:使用手機相機掃描產品上的條碼或 QR Code,快速查看產品資訊。

操作方式

  1. 點擊底部導覽列的「掃碼」或首頁的掃碼卡片
  2. 將相機對準產品上的條碼或 QR Code
  3. 系統自動辨識並查詢 iDempiere 產品資料

查詢結果

掃描成功後彈出對話框,顯示:

  • 產品名稱
  • 品號 (Value)
  • 說明 (Description,若有)
  • 類別 (Product Category,若有)
  • 單位 (UOM,若有)

後續操作

按鈕 動作
繼續掃描 關閉對話框,恢復掃描
查看庫存 跳轉至庫存查詢頁面

手動輸入

  • 點擊右上角鍵盤圖示或底部「手動輸入品號」按鈕
  • 可直接輸入品號或條碼數值查詢

即時通訊

用途:系統內建即時通訊功能,支援一對一及群組聊天,資料完全儲存在 iDempiere ERP 伺服器。

架構

  • 訊息儲存:iDempiere 自訂表 (TW_ChatConversation, TW_ChatMember, TW_ChatMessage)
  • 即時推送:WebSocket (iDempiere Jetty 內建支援)
  • 檔案傳送:iDempiere 附件系統
  • 額外費用:零 — 所有資料在使用者自己的 ERP 伺服器上

iDempiere 設定

  1. 執行 idempiere-plugin/sql/create_tables.sql 建立自訂表
  2. 編譯並部署 idempiere-plugin/com.idempiere.chat/ OSGi 插件
  3. 重啟 iDempiere 伺服器

畫面流程

畫面 說明
對話列表 顯示所有參與的對話,依最新訊息排序,支援搜尋,顯示未讀數
聊天畫面 訊息泡泡、傳送文字/圖片/檔案
新增對話 從 iDempiere 使用者目錄選人,支援多選建立群組
群組資訊 檢視成員清單、離開群組

Big Five 人格測驗

用途:整合 iDempiere HR 模組的 Big Five 五大人格特質測驗功能。

功能特色

  • 多語系題目:依 App 語系自動載入對應語言的題目(繁中/英文)
  • 雷達圖結果:完成測驗後以雷達圖呈現五大維度分數(開放性、嚴謹性、外向性、親和性、神經質),分數範圍 4–20
  • 歷史紀錄:可查看過往測驗紀錄與分數趨勢

掃描統一發票建立供應商發票

用途:掃描台灣政府統一發票 QR Code,一鍵建立 iDempiere 供應商發票。

功能特色

  • QR Code 掃描:掃描統一發票上的左方/右方 QR Code,自動解析發票字軌號碼、日期、金額、統一編號及商品明細
  • 一鍵建立:掃描後自動比對賣方統一編號與 iDempiere 業務夥伴(C_BPartner),預填供應商發票表單,審核後存為草稿
  • 拍照附件:建立發票後可直接拍攝紙本發票照片,自動上傳為發票附件
  • MOF 規格:依財政部電子發票證明聯二維條碼規格解析(左方 77 固定字元 + 右方商品明細)

四步驟流程

  1. 掃描 QR Code
  2. 審核預填資料
  3. 拍照(可略過)
  4. 完成

雙入口

可從儀表板快速動作按鈕或供應商發票列表進入。

欄位變更觸發(Callouts)

資料維護模組新增即時欄位變更觸發功能,與 iDempiere WebUI 的 Callout 行為一致。當使用者修改表單欄位時,App 會即時呼叫伺服器端的 Callout 邏輯,自動計算並回填相關欄位值。

使用情境

情境 說明
選擇客戶 在銷售訂單中選擇 Business Partner 後,自動帶入付款條件、價格表、送貨地址等
選擇產品 選擇產品後自動帶入單價、稅率、計量單位
修改數量 修改數量後自動重算行金額
自訂 Callout 支援 AD_Column.Callout 及 IColumnCalloutFactory 兩種 iDempiere Callout 機制

操作方式

  1. 在任何資料維護視窗開啟記錄(新增或編輯模式)
  2. 修改任一欄位值(下拉選單、數字輸入、勾選框等)
  3. 離開該欄位後,App 自動送出變更至伺服器
  4. 伺服器執行 Callout 邏輯,回傳需更新的欄位
  5. 表單自動更新受影響的欄位值

注意事項

  • 需要網路連線:Callout 邏輯在伺服器端執行,離線時不觸發。
  • 不會自動儲存:Callout 僅計算欄位值,不會儲存記錄。使用者仍需手動按「儲存」。
  • 所有可編輯欄位均觸發:App 對每個欄位變更都發送 Callout 請求,由伺服器判斷是否有對應的 Callout 需執行。
  • 錯誤處理:若 Callout 請求失敗(網路問題等),不影響表單編輯,使用者可繼續操作。
🌐 English Version

Approval Workflow

Review and approve/reject iDempiere ERP workflow activities. Features include a visual workflow diagram with color-coded nodes (completed=green, in-progress=amber, aborted=red), a “Live” button to scroll to the current node, and gesture zoom/pan support.

Data Maintenance (Window Module)

Browse and manage iDempiere ERP window data with full CRUD operations. Features:

  • Permission indicators: R (read-only) / R/W (read-write)
  • Favorites, keyword search, paginated records
  • Parent/Child tab browsing with nested sub-tabs
  • Document actions: Complete, Void, Close, Reverse
  • Attachments: view, download, ZIP batch download
  • Display logic: fields show/hide based on iDempiere DisplayLogic expressions
  • Default value resolution: auto-resolves SQL defaults and context variables when creating records
  • Image fields (32/33): base64 preview with fullscreen view and pinch-to-zoom
  • Reference field search: auto-sends form data for correct validation rule resolution

Inbound Transfer

Three-step form: select source warehouse product → select destination locator → enter quantity → confirm. Supports batch mode for multiple items at once.

Outbound Transfer

Similar to inbound, with an optional experiment note field. Supports batch mode.

Inventory Query

View inventory for route-related warehouses. Features warehouse selector, server-side search (OData contains()), pagination (50 per page), low-stock indicators (orange tag), and QR code label generation.

Field Change Triggers (Callouts)

The data maintenance module now supports real-time field change triggers, consistent with iDempiere WebUI Callout behavior. When a user modifies a form field, the app instantly calls server-side Callout logic to auto-calculate and populate related field values.

Use Cases

Scenario Description
Select Customer After selecting a Business Partner in a sales order, auto-fills payment terms, price list, delivery address, etc.
Select Product After selecting a product, auto-fills unit price, tax rate, UOM
Change Quantity After changing quantity, auto-recalculates line amount
Custom Callouts Supports both AD_Column.Callout and IColumnCalloutFactory mechanisms

How It Works

  1. Open a record in any data maintenance window (create or edit mode)
  2. Modify any field value (dropdown, number input, checkbox, etc.)
  3. After leaving the field, the app automatically sends the change to the server
  4. The server executes Callout logic and returns fields that need updating
  5. The form automatically updates the affected field values

Notes

  • Requires network connection: Callout logic runs server-side; won’t trigger offline.
  • Does not auto-save: Callouts only calculate field values; the user must manually tap “Save”.
  • All editable fields trigger: The app sends a Callout request for every field change; the server decides whether a Callout applies.
  • Error handling: If the Callout request fails (network issues, etc.), form editing is not affected.
🇯🇵 日本語版

承認ワークフロー

iDempiere ERP ワークフローの承認・却下を行います。色分けされたノード(完了=緑、進行中=琥珀色、中止=赤)によるワークフロー図の視覚表示、現在のノードへスクロールする「ライブ」ボタン、ピンチズーム・パン操作に対応しています。

データ保守(ウィンドウモジュール)

iDempiere ERP ウィンドウデータの閲覧・管理を、完全な CRUD 操作で行えます。主な機能:

  • 権限表示:R(読み取り専用)/ R/W(読み書き可能)
  • お気に入り、キーワード検索、ページ分割されたレコード
  • 親子タブのブラウジングとネストされたサブタブ
  • 伝票アクション:完了、無効、クローズ、逆仕訳
  • 添付ファイル:表示、ダウンロード、ZIP 一括ダウンロード
  • 表示ロジック:iDempiere DisplayLogic 式に基づくフィールドの動的表示/非表示
  • デフォルト値解決:レコード作成時に SQL デフォルト値とコンテキスト変数を自動解決
  • 画像フィールド(32/33):base64 プレビュー、フルスクリーン表示、ピンチズーム対応
  • 参照フィールド検索:バリデーションルールの正確な解決のため、フォームデータを自動送信

入庫操作

3 ステップフォーム:出庫元倉庫の製品を選択 → 入庫先ロケーターを選択 → 数量を入力 → 確認。複数品目の一括処理に対応するバッチモードも利用できます。

出庫操作

入庫と同様の操作で、任意の実験メモフィールドが追加されています。バッチモードにも対応しています。

在庫照会

移動ルートに関連する倉庫の在庫を確認できます。倉庫セレクター、サーバーサイド検索(OData contains())、ページ分割(50 件/ページ)、低在庫インジケーター(オレンジタグ)、QR コードラベル生成に対応しています。

フィールド変更トリガー(Callouts)

データ保守モジュールにリアルタイムフィールド変更トリガー機能を追加。iDempiere WebUI の Callout 動作と一致します。ユーザーがフォームフィールドを変更すると、アプリはサーバー側の Callout ロジックを即座に呼び出し、関連フィールドの値を自動計算・反映します。

利用シーン

シーン 説明
取引先選択 受注で取引先を選択後、支払条件・価格表・納品先住所などを自動セット
製品選択 製品選択後、単価・税率・単位を自動セット
数量変更 数量変更後、明細金額を自動再計算
カスタム Callout AD_Column.Callout および IColumnCalloutFactory の両メカニズムに対応

操作方法

  1. 任意のデータ保守ウィンドウでレコードを開く(新規または編集モード)
  2. 任意のフィールド値を変更(ドロップダウン、数値入力、チェックボックスなど)
  3. フィールドを離れると、アプリが自動的にサーバーへ変更を送信
  4. サーバーが Callout ロジックを実行し、更新が必要なフィールドを返却
  5. フォームが影響を受けるフィールドの値を自動更新

注意事項

  • ネットワーク接続が必要:Callout ロジックはサーバー側で実行されるため、オフライン時は発動しません。
  • 自動保存なし:Callout はフィールド値の計算のみ行い、レコードは保存しません。「保存」ボタンの手動操作が必要です。
  • 全編集可能フィールドがトリガー:アプリは各フィールド変更ごとに Callout リクエストを送信し、サーバーが対応する Callout の有無を判断します。
  • エラー処理:Callout リクエストが失敗しても(ネットワーク問題等)、フォーム編集には影響しません。

按 Enter 搜尋,ESC 關閉