Ninniku IT Hub

開源技術,實戰分享

iDempiere ERP · IoT · Linux — 從導入到上線的技術筆記

iDempiere

Mastering Currency Rate Check Skipping: Configuration and Coding Guide

摘要 在 iDempiere 7.1 之後的版本中,系統引入了一項新功能:在輸入和儲存匯率後,會自動檢查是否存在重疊的匯率。然而,有時候您需要建立長期匯率與即期匯率並存的情況,這可能會觸發不必要的重疊警告,如圖 1 所示。本教學深入探討了此情境的實用解決方案,提供逐步指導,教您如何有效地撰寫程式碼並實作繞過重疊檢查的機制。透過清晰的說明和實際範例,本指南將幫助您在 iDempiere 中順利調整匯率檢查流程,以滿足您特定的業務需求。 使用方式 在系統設定中,建立一個名為「Is_CurrencyRate_Overlap」的新設定,並將其值設為「N」。 使用「Y」將啟用重疊檢查。使用「N」將停用重疊檢查。如圖 2 所示。 圖 2 程式碼 操作步驟: 首先建立一個名為 CustomMConversionRate 的新類別,繼承自 org.compiere.model.MConversionRate。 覆寫兩個方法:beforeSave 和 afterSave,如下方程式碼片段所示。...

2023-08-19 · 12 分鐘
IT Tools

Comparing Java GUI Frameworks: Pros and Cons

Java 開發人員有多種選擇來建立 GUI 應用程式,每種方案都有各自的優勢和劣勢。在這篇比較文章中,我們將介紹最受歡迎的 Java GUI 框架,包括 Java Swing、JavaFX、SWT 和 AWT。我們將探討每個框架的優缺點,並提供洞見,幫助您判斷哪個框架最適合特定的專案需求。 框架優點缺點Java Swing提供豐富的元件集用於建立複雜的使用者介面。支援多種表格模型,包括 AbstractTableModel 和 DefaultTableModel。內建排序和篩選表格資料的功能。需要手動編寫程式碼來設計使用者介面。可能無法提供最現代的設計元素和圖形效果。效能可能比更現代的 GUI 框架慢。JavaFX提供現代且靈活的 GUI 框架。內建分頁和欄位調整大小的支援。內建排序、篩選和編輯表格資料的功能。學習曲線較陡,因為需要對 Java 程式設計和 JavaFX API 有良好的理解。效能可能比...

2023-05-12 · 4 分鐘
iDempiere

Implement the void function for Depreciation documents in iDempiere ERP.

此程式碼為會計人員實作了一個撤銷機制,用於反轉他們的操作。這在發生錯誤並需要更正的情況下非常有用。程式碼還根據文件的當前狀態定義了可以對文件執行的有效操作。 這是一段 Java 程式碼,用於在 ERP 系統中自訂折舊分錄的實作,繼承自基礎類別 MDepreciationEntry 並實作 DocOptions 介面。 該類別覆寫了 voidIt() 方法,用於刪除文件的會計分錄,並更新 MDepreciationExp 表以移除 ParentID 並將「processed」標誌設為「N」。該方法還會在刪除會計分錄之前檢查期間是否為開放狀態。 customizeValidActions() 方法也被實作,以根據文件狀態自訂可用的有效操作。例如,如果文件狀態為「已完成」,則唯一可用的有效操作是作廢該文件。 package tw.ninniku.model; import java.sql.ResultSet; import java.util.Properties;...

2023-04-24 · 8 分鐘
IT Tools

What is the difference between Docker and VM?

Docker 和虛擬機器(VM)都是用於隔離和管理軟體應用程式及服務的技術。然而,它們在以下幾個方面存在差異: 架構:Docker 是一種在應用程式層級運作的容器化技術,而虛擬機器則在硬體層級運作。Docker 容器共享主機作業系統的核心,僅隔離應用程式環境;而虛擬機器則在虛擬機器監視器(Hypervisor)之上執行獨立的作業系統實例。 資源使用:Docker 容器比虛擬機器使用更少的系統資源,因為它們共享主機作業系統的核心,不需要獨立的作業系統實例。相反地,虛擬機器因為需要執行獨立的作業系統實例,所以需要更多的系統資源。 啟動時間:Docker 容器的啟動速度比虛擬機器快得多,因為它們只需要啟動應用程式環境,而虛擬機器則需要啟動一個獨立的作業系統實例。 隔離性:Docker 容器提供應用程式層級的隔離,而虛擬機器提供硬體層級的隔離。Docker 容器共享主機作業系統的核心,可能更容易受到針對核心的安全威脅;而虛擬機器因為執行獨立的作業系統實例,提供了更強的安全邊界。 可攜性:Docker 容器具有高度可攜性,可以輕鬆地在不同的主機作業系統之間移轉;而虛擬機器在不同的虛擬機器監視器之間移轉時可能會遇到相容性問題。 總結來說,Docker 和虛擬機器都提供隔離和管理功能,但它們在架構、資源使用、啟動時間、隔離層級和可攜性方面存在差異。選擇哪一種取決於您的特定使用情境和需求。 English Version Docker and virtual machines (VMs) are both...

2023-04-15 · 4 分鐘