Projects/Add Payment Window/Technical Specifications
Contents |
Introduction
Present document explains the development required to properly implement the new Add Payment popup. Add Payment window development is done in the project specific pi-aprm-windows branch.
Add payment refactor is needed to fix performance problems and allow to easily extend the functionality of the window (modularity). Currently the Add Payment popup is a manual window created in Openbravo’s legacy technology (Implement a Servlet, html for the user interface, xml...), this type of window doesn’t support modularity. For these reasons, add payment window will be refactored implemented with process definition technology.
Assumptions
This project depends on another two project that are included in 3.0PR14Q3:
- Parameter Windows phase 3: With this platform project, parameters windows have all necessary features to implement Add Payment window. For more details please review Parameter windows article.
- Hql Tables: In order to be able to implement grids that use as datasource in hql query. For more details review HQL Datasources How To.
Implementation of the popup
The popup will be created in Process Definition window (logged as System Administrator):
Header
- Module: Advanced Payables and Receivables Mngmt
- Search Key: AddPayment
- Name: AddPayment
- UI Pattern: Standard
- Handler: Java class that implements the logic behind
- Data Access Level: Client/Organization
Parameters
- payment_documentno:
- Name: Payment Document No
- Sequence Number: 10
- Reference: String
- Default Value: Create a FilterExpression java class to retrieve the next **sequence number and assign it to the field.
- reference_no:
- Name: Reference No.
- Sequence Number: 20
- Reference: String
- Default Value: Create a FilterExpression java class to retrieve the Reference No. of the header.
- c_currency_id:
- Name: Currency
- Sequence Number: 30
- Reference: OBUISEL_Selector Reference
- Reference Search Key: Currency Selector
- Default Value: Currency of the Invoice
- Read Only: True
- c_currency_to_id:
- Name: Currency To
- Sequence Number: 40
- Reference: OBUISEL_Selector Reference
- Reference Search Key: Currency Selector
- Default Value:
- c_bpartner_id:
- Name: Business Partner (“To Be Paid To” Purchase, “Received From” Sales)
- Sequence Number: 50
- Reference: OBUISEL_Selector Reference
- Reference Search Key: Business Partner Selector
- Default Value: Business Partner of the Invoice
- Read Only: True
- fin_payment_method_id:
- Name: Payment Method
- Sequence Number: 60
- Reference: OBUISEL_Selector Reference
- Reference Search Key: Payment Method Selector
- Default Value: Payment Method of the Business Partner
- actual_payment:
- Name: Actual Payment
- Sequence Number: 70
- Reference: Amount
- Default Value: OutStanding Amount of the Invoice
- converted_amount:
- Name: Converted Amount
- Sequence Number: 80
- Reference: Amount
- Default Value: Expected Payment * Conversion Rate
- Read Only: True
- payment_date:
- Name: Payment Date
- Sequence Number: 90
- Reference: Date
- Default Value: Todays Date
- fin_financial_account_id:
- Name: Financial Account (“Take From” Purchase, “Deposit To” Sales)
- Sequence Number: 100
- Reference: OBUISEL_Selector Reference
- Reference Search Key: Financial Account Selector
- Default Value: Financial Account of the Business Partner
- expected_payment:
- Name: Expected Payment
- Sequence Number: 110
- Reference: Amount
- Default Value: OutStanding Amount of the Invoice
- Read Only: True
- conversion_rate:
- Name: Conversion Rate
- Sequence Number: 120
- Reference: Amount
- Default Value: Exchange Rate from the Currency of the Invoice and the Currency of the Payment.
- Read Only: True
- Column Number: 4
- transaction_type:
- Name: Transaction Type
- Sequence Number: 130
- Reference: List
- Reference Search Key: Add Payment Transaction Type
- Default Value: ‘Invoices’
- order_invoice:
- Name: Order/Invoice
- Sequence Number: 140
- Reference: Window Reference
- Reference Search Key: Order Invoice Pick & Edit
- aprm_gl_item:
- Name: GL Item
- Sequence Number: 150
- Reference: Window Reference
- Reference Search Key: APRM GL Item
- credit_to_use:
- Name: Credit To Use
- Sequence Number: 160
- Reference: Window Reference
- Reference Search Key: APRM Credit To Use
- amount_gl_items:
- Name: Amount on GL Items
- Sequence Number: 170
- Reference: Amount
- Default Value:
- Read Only: True
- amount_inv_ords:
- Name: Amount on Invoices and/or Orders
- Sequence Number: 180
- Reference: Amount
- Default Value:
- Read Only: True
- total:
- Name: Total
- Sequence Number: 190
- Reference: Amount
- Default Value:
- Read Only: True
- difference:
- Name: There is a difference of:
- Sequence Number: 200
- Reference: Amount
- Default Value:
- Read Only: True
- document_action
- Name: Action Regarding Document
- Sequence Number: 210
- Reference: OBUISEL_Selector Reference
- Reference Search Key: APRM_ActionDocumentSelector
- Default Value:
- overpayment_action
- Name: Overpayment Action
- Sequence Number: 220
- Reference: List, Overpayment Action
- Default Value:
- customer_credit
- Name: Customer Credit
- Sequence Number: 1000
- Reference: amount
- Display Logic: false
- c_doctype_id:
- Name: Document Type
- Sequence Number: 1010
- Reference: OBUISEL_Selector Reference
- Reference Search Key: Doctype Selector
- Default Value: Document Type of the Invoice
- Display Logic: false
- issotrx:
- Name: Sales Transaction
- Sequence Number: 1020
- Reference: YesNo
- Default Value: Document Type of the Invoice
- Display Logic: false
- fin_payment_id:
- Name: Payment
- Sequence Number: 1030
- Reference: TableDir
- Default Value: Create a FilterExpression java class to retrieve the fin_payment_id of the header
- Display Logic: false
- c_invoice_id:
- Name: Invoice
- Sequence Number: 1040
- Reference: TableDir
- Default Value: Create a FilterExpression java class to retrieve the c_invoice_id of the header
- Display Logic: false
- c_order_id:
- Name: Order
- Sequence Number: 1050
- Reference: TableDir
- Default Value: Create a FilterExpression java class to retrieve the c_order_id of the header
- Display Logic: false
- used_credit:
- Name: Used Credit
- Sequence Number: 1060
- Reference: Amount
- Display Logic: false
- StdPrecision:
- Name: Standard Precision
- Sequence Number: 1070
- Reference: Integer
- Display Logic: false
- generateCredit:
- Name: Generate Credit
- Sequence Number: 1080
- Reference: Amount
- Display Logic: false
- DOCBASETYPE:
- Name: Document Category
- Sequence Number: 1090
- Reference: String
- Default Value: Create a FilterExpression java class to retrieve the docbasetype of the header
- Display Logic: false
- ad_org_id:
- Name: Organization
- Sequence Number: 1100
- Reference: TableDir
- Default Value: Create a FilterExpression java class to retrieve the organization of the header
- Display Logic: false
- expectedDifference:
- Name: There is a difference of
- Sequence Number: 1110
- Reference: Amount
- Display Logic: false
New References to create
- Selectors:
- Financial Account Selector
- Doctype Selector
- Currency Selector
- Payment Method Selector
- APRM_ActionDocumentSelector
- Overpayment Action
- Lists:
- Add Payment Transaction Type (“Orders”, “Invoices”, “Order and Invoices”)
- Pick & Execute Windows:
- APRM GL Item:
- Grid to add G/L Items as part of a given payment
- Window Type: Pick and Execute
- Table: aprm_gl_item (Data Origin: HQL Query)
- Order Invoice Pick & Edit
- Grid to add G/L Items as part of a given payment
- Window Type: Pick and Execute
- Table: aprm_orderinvoice (Data Origin: HQL Query)
- APRM Credit To Use
- Grid to add G/L Items as part of a given payment
- Window Type: Pick and Execute
- Table: Aprm_Credit_To_Use (Data Origin: HQL Query)
- APRM GL Item:
User Interface Mokups
Sales Order/Invoice
Payment In
Purchase order/invoice
Payment Out