Difference between revisions of "Workflow Activities Form custom Plugin"

From iDempiere en
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[File:Desktop.png|right|500px]]
 
*'''Maintainer:''' [[User:Nasleem|Nasleem Madrodji]]
 
*'''Maintainer:''' [[User:Nasleem|Nasleem Madrodji]]
  
Line 4: Line 5:
 
*'''License:''' [http://www.gnu.org/licenses/gpl-2.0.html GPLv2]
 
*'''License:''' [http://www.gnu.org/licenses/gpl-2.0.html GPLv2]
 
*'''Sources:''' [ https://github.com/nasleem-mdr/org.nsoft.workflow.activities Github]
 
*'''Sources:''' [ https://github.com/nasleem-mdr/org.nsoft.workflow.activities Github]
−
==Description==
+
[[File:Screenshot.png|right|320px]]
 +
__FORCETOC__
 +
== Description ==
  
−
Custom Workflow Activities Plugin, custumize approval Workflow form with feature:
+
Custom Form Workflow Activities Plugin, customize approval Workflow form with feature:
−
[[One step approval action, instead choose yes/no then click ok, use Approve/Reject.|
+
*'''One step approval action,''' Instead of using yes/no option and then clicking the OK button, it is better to directly select the Approve/Reject button..
−
2. Detail transaction in form, so approver don't need zoom out to windows to view detail.|
+
*'''Detail transaction in form,''' so approver don't need zoom out to windows to view detail.
−
3. Mobile friendly with collapsible List Approval.]]
+
*'''History transaction in item list,''' If an item on the list is clicked, a modal popup will appear to show 3 transaction histories of that item.
 +
*'''Mobile friendly''' with collapsible List Approval.
  
−
[[Category:Available_Plugins]]
+
__FORCETOC__
 +
== Installation ==
 +
How to Install this pkugin
 +
*Clone and Build your own plugin/download jar file on release tag.
 +
*Install via OSGI Console
 +
*Change Workflow Activities Form class annotation to org.nsoft.webui.apps.WFActivity
 +
 
 +
[[File:Screenshot 20260616-210131~2.jpg|right|320px]]
 +
 
 +
 
 +
== Technical documentation ==
 +
=== Overview ===
 +
'WWFActivity' is customize Workflow Activities from core, please change annotation in Form->[search] "Worflow Activites"->Class=org.nsoft.webui.apps.wf.WFActifity WFTransactionDetailRenderer is a renderer class that displays transaction document details (header + line items) directly inside the iDempiere workflow approval panel (WWFActivity form).
 +
 
 +
This class is designed using a SysConfig-driven + Generic PO approach, enabling it to display details from any document table without importing specific model classes — configuration in the Application Dictionary (SysConfig) is all that is needed.
  
−
==Technical documentation==
+
=== Architecture ===
 +
WWFActivity.java
 +
    └── WFTransactionDetailRenderer.java
 +
            ├── MSysConfig          ← Read column configuration per table
 +
            ├── MTable / PO        ← Query document header (generic)
 +
            ├── Query              ← Query document lines
 +
            └── ZK Components      ← Render to UI (Groupbox, Listbox, Label)
 +
Data flow:
 +
MWFActivity (activity selected by user)
 +
    → get AD_Table_ID + Record_ID
 +
    → load header PO via MTable.getPO()
 +
    → read SysConfig for column configuration
 +
    → render header (4 labels)
 +
    → query & render lines (3-column listbox)
  
−
`WFTransactionDetailRenderer.java` 
+
=== SysConfig Configuration ===
−
Plugin: `org.nsoft.workflow.activities` | Version: 1.4.0
+
All configuration keys use the prefix: WF_DETAIL_<TableName>_<SUFFIX>
 +
Example for table C_Order: WF_DETAIL_C_Order_LINE_TABLE
  
−
---
+
Required Keys
 +
The following keys must be configured for line items to be displayed:
  
−
## Table of Contents
+
{| class="wikitable"
 +
|+ Caption text
 +
|-
 +
! Key !! Description !! Example Value
 +
|-
 +
| WF_DETAIL_TableName_LINE_TABLE || Name of the line/detail table || C_OrderLine
 +
|-
 +
| WF_DETAIL_TablenName_LINK_COL || Foreign key column in the line table || C_Order_ID
 +
|}
  
−
- [Overview](#overview)
+
Optional Keys (With Defaults)
−
- [Architecture](#architecture)
+
The following keys are not required — if left empty, the system uses default fallback values (see Default Fallback Values).
−
- [How It Works](#how-it-works)
+
see detail on github
−
- [SysConfig Configuration](#sysconfig-configuration)
+
=== Configuration Examples ===
−
  - [Required Keys](#required-keys)
+
C_Order (Minimal — required keys only)
−
  - [Optional Keys (With Defaults)](#optional-keys-with-defaults)
+
WF_DETAIL_C_Order_LINE_TABLE  = C_OrderLine
−
  - [Value Format](#value-format)
+
WF_DETAIL_C_Order_LINK_COL    = C_Order_ID
−
- [Default Fallback Values](#default-fallback-values)
 
−
- [Supported Tables](#supported-tables)
 
−
- [Configuration Examples](#configuration-examples)
 
−
- [Column Resolution Logic](#column-resolution-logic)
 
−
- [Changelog](#changelog)
 
  
−
---
+
WF_DETAIL_C_Invoice_LINE_TABLE  = C_InvoiceLine
 +
WF_DETAIL_C_Invoice_LINK_COL    = C_Invoice_ID
 +
WF_DETAIL_C_Invoice_COL2        = QtyEntered,QtyInvoiced
 +
[[Category:Available_Plugins]]

Latest revision as of 06:33, 17 June 2026

Desktop.png
Screenshot.png

Description

Custom Form Workflow Activities Plugin, customize approval Workflow form with feature:

  • One step approval action, Instead of using yes/no option and then clicking the OK button, it is better to directly select the Approve/Reject button..
  • Detail transaction in form, so approver don't need zoom out to windows to view detail.
  • History transaction in item list, If an item on the list is clicked, a modal popup will appear to show 3 transaction histories of that item.
  • Mobile friendly with collapsible List Approval.


Installation

How to Install this pkugin

  • Clone and Build your own plugin/download jar file on release tag.
  • Install via OSGI Console
  • Change Workflow Activities Form class annotation to org.nsoft.webui.apps.WFActivity
Screenshot 20260616-210131~2.jpg


Technical documentation

Overview

'WWFActivity' is customize Workflow Activities from core, please change annotation in Form->[search] "Worflow Activites"->Class=org.nsoft.webui.apps.wf.WFActifity WFTransactionDetailRenderer is a renderer class that displays transaction document details (header + line items) directly inside the iDempiere workflow approval panel (WWFActivity form).

This class is designed using a SysConfig-driven + Generic PO approach, enabling it to display details from any document table without importing specific model classes — configuration in the Application Dictionary (SysConfig) is all that is needed.

Architecture

WWFActivity.java

   └── WFTransactionDetailRenderer.java
           ├── MSysConfig          ← Read column configuration per table
           ├── MTable / PO         ← Query document header (generic)
           ├── Query               ← Query document lines
           └── ZK Components       ← Render to UI (Groupbox, Listbox, Label)

Data flow: MWFActivity (activity selected by user)

   → get AD_Table_ID + Record_ID
   → load header PO via MTable.getPO()
   → read SysConfig for column configuration
   → render header (4 labels)
   → query & render lines (3-column listbox)

SysConfig Configuration

All configuration keys use the prefix: WF_DETAIL_<TableName>_<SUFFIX> Example for table C_Order: WF_DETAIL_C_Order_LINE_TABLE

Required Keys The following keys must be configured for line items to be displayed:

Caption text
Key Description Example Value
WF_DETAIL_TableName_LINE_TABLE Name of the line/detail table C_OrderLine
WF_DETAIL_TablenName_LINK_COL Foreign key column in the line table C_Order_ID

Optional Keys (With Defaults) The following keys are not required — if left empty, the system uses default fallback values (see Default Fallback Values). see detail on github

Configuration Examples

C_Order (Minimal — required keys only) WF_DETAIL_C_Order_LINE_TABLE = C_OrderLine WF_DETAIL_C_Order_LINK_COL = C_Order_ID

WF_DETAIL_C_Invoice_LINE_TABLE = C_InvoiceLine WF_DETAIL_C_Invoice_LINK_COL = C_Invoice_ID WF_DETAIL_C_Invoice_COL2 = QtyEntered,QtyInvoiced

Cookies help us deliver our services. By using our services, you agree to our use of cookies.