iDempiere

iDempiere Technical Guide: How to Add Custom Toolbar Buttons

實戰案例:實作「列印傳票」按鈕。本指南將帶您了解如何使用 OSGi 在 iDempiere 視窗工具列中新增自訂按鈕。 架構概觀 iDempiere 中的自訂工具列按鈕採用 OSGi 宣告式服務(DS)機制。具體做法是將您插件中的 Java 類別註冊為 IAction 服務。當 ADWindowToolbar 載入時,它會讀取 AD_ToolBarButton 資料表中 IsCustomization=Y 的記錄,然後透過 OSGi 查找對應的 IAction 實作,並動態建立按鈕。 graph LR A["AD_ToolBarButton<br/>(資料庫設定)"] --> B["ADWindowToolbar<br/>(載入按鈕)"] B --> C["Actions.getAction()<br/>(OSGi 查詢)"] C --> D["IAction 實作<br/>(你的插件)"] B --> E["Actions.getActionImage()<br/>(載入圖示)"]...

2026-02-10 · 閱讀 94 分鐘
Ensuring ERP High Availability: Setting Up iDempiere as a Systemd Service on Ubuntu iDempiere

Ensuring ERP High Availability: Setting Up iDempiere as a Systemd Service on Ubuntu

運行像 iDempiere 這樣的強大 ERP 系統,不僅需要成功安裝,還需要一套機制來確保服務全天候 24/7 在線。在本指南中,我們將逐步說明如何配置 systemd 服務(通常稱為「看門狗」設置)來自動管理您的 iDempiere 實例。 為什麼要使用 Systemd 來管理 iDempiere? 預設情況下,在終端機中手動執行腳本是有風險的。如果終端關閉或應用程式崩潰,ERP 系統就會停機。透過使用 systemd,您可以獲得: 自動啟動:伺服器開機時,iDempiere 會自動啟動。 自動重啟:如果服務崩潰,Linux 會自動嘗試重新啟動。 依賴管理:確保 iDempiere 僅在資料庫(PostgreSQL)準備就緒後才啟動。...

2026-01-10 · 20 分鐘
Mastering iDempiere Dashboard Gadgets Implementation iDempiere

Mastering iDempiere Dashboard Gadgets Implementation

理解 Gadget URI:Fragment 專案是否為必要條件? 在 iDempiere ERP 開發領域中,建立自訂儀表板小工具(Dashboard Gadgets)是提升使用者體驗的強大方式。然而,開發者在 Gadget URI 無法解析時常常會遇到瓶頸。一個常見的問題是:「使用 Gadget URI 調用儀表板內容時,是否必須使用 Fragment 專案?」 簡短的回答是:是的,基本上是必要的。在本文中,我們將深入探討技術上的「為什麼」以及實施的最佳實務。 挑戰:為什麼您的標準 Bundle 會失敗 在定義 Gadget URI 時,開發者通常會嘗試引用標準...

2026-01-04 · 30 分鐘