svn commit: r798193 - in /ofbiz/trunk/applications/accounting: script/org/ofbiz/accounting/invoice/ script/org/ofbiz/accounting/ledger/ servicedef/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r798193 - in /ofbiz/trunk/applications/accounting: script/org/ofbiz/accounting/invoice/ script/org/ofbiz/accounting/ledger/ servicedef/

apatel-2
Author: apatel
Date: Mon Jul 27 15:42:54 2009
New Revision: 798193

URL: http://svn.apache.org/viewvc?rev=798193&view=rev
Log:
Cleaning up code for posting accounting gl transaction when invoices is voided.

Modified:
    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml
    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml
    ofbiz/trunk/applications/accounting/servicedef/secas_ledger.xml
    ofbiz/trunk/applications/accounting/servicedef/secas_payment.xml
    ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml

Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml?rev=798193&r1=798192&r2=798193&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml (original)
+++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml Mon Jul 27 15:42:54 2009
@@ -600,35 +600,9 @@
             <add-error><fail-message message="${uiLabelMap.AccountingInvoiceNotFound}"/></add-error>
             <check-errors/>
         </if-empty>
-        <get-related relation-name="AcctgTrans" list="acctgTransInvoiceList" value-field="invoice"/>
-        <iterate list="acctgTransInvoiceList" entry="acctgTransInvoice">
-            <set field="copyAcctgTransCtx.fromAcctgTransId" from-field="acctgTransInvoice.acctgTransId"/>
-            <set field="copyAcctgTransCtx.revert" value="Y"/>
-            <call-service service-name="copyAcctgTransAndEntries" in-map-name="copyAcctgTransCtx"/>
-        </iterate>            
         <get-related relation-name="PaymentApplication" value-field="invoice" list="paymentApplications"/>
         <iterate list="paymentApplications" entry="paymentApplication">
             <get-related-one relation-name="Payment" value-field="paymentApplication" to-value-field="payment"/>
-            <if>
-                <condition>
-                    <or>
-                        <if-compare field="updatePaymentCtx.statusId" operator="equals" value="PMNT_SENT"/>
-                        <if-compare field="updatePaymentCtx.statusId" operator="equals" value="PMNT_RECEIVED"/>
-                    </or>
-                </condition>
-                <then>
-                    <set field="paymentStatusCtx.paymentId" from-field="payment.paymentId"/>
-                    <set field="paymentStatusCtx.statusId" value="PMNT_NOT_PAID"/>
-                    <call-service service-name="setPaymentStatus" in-map-name="paymentStatusCtx"/>
-                    <get-related relation-name="AcctgTrans" value-field="payment" list="acctgTransPaymentList"/>
-                    <clear-field field="copyAcctgTransCtx"/>
-                    <iterate list="acctgTransPaymentList" entry="acctgTransPayment">
-                        <set field="copyAcctgTransCtx.fromAcctgTransId" from-field="acctgTransPayment.acctgTransId"/>
-                        <set field="copyAcctgTransCtx.revert" value="Y"/>
-                        <call-service service-name="copyAcctgTransAndEntries" in-map-name="copyAcctgTransCtx"/>
-                    </iterate>
-                </then>
-            </if>
             <set field="removePaymentApplicationCtx.paymentApplicationId" from-field="paymentApplication.paymentApplicationId"/>
             <call-service service-name="removePaymentApplication" in-map-name="removePaymentApplicationCtx"/>
         </iterate>

Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml?rev=798193&r1=798192&r2=798193&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml (original)
+++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml Mon Jul 27 15:42:54 2009
@@ -520,4 +520,36 @@
         <field-to-result field="openingBalanceCredit"/>
         <field-to-result field="debitCreditDifference"/>
     </simple-method>
+
+    <simple-method method-name="revertAcctgTransOnRemovePaymentApplications" short-description="Create Reverse Accounting Transaction and Entries on removing PaymentApplication records.">
+        <entity-one entity-name="PaymentApplication" value-field="paymentApplication"/>
+        <entity-condition entity-name="AcctgTrans" list="acctgTransPaymentList">
+            <condition-list combine="and">
+                <condition-expr field-name="invoiceId" from-field="paymentApplication.invoiceId"/>
+                <condition-expr field-name="paymentId" from-field="paymentApplication.paymentId"/>
+            </condition-list>
+        </entity-condition>
+        <iterate list="acctgTransPaymentList" entry="acctgTransPayment">
+            <set field="copyAcctgTransCtx.fromAcctgTransId" from-field="acctgTransPayment.acctgTransId"/>
+            <set field="copyAcctgTransCtx.revert" value="Y"/>
+            <call-service service-name="copyAcctgTransAndEntries" in-map-name="copyAcctgTransCtx"/>
+            <clear-field field="copyAcctgTransCtx"/>
+        </iterate>        
+    </simple-method>
+
+    <simple-method method-name="revertAcctgTransOnCancelInvoice" short-description="Reverting Accounting Transaction And Entries on Canceling an Invoice">
+        <entity-condition entity-name="AcctgTrans" list="acctgTransInvoiceList">
+            <condition-list combine="and">
+                <condition-expr field-name="paymentId" operator="equals" from-field="nullField"/>
+                <condition-expr field-name="invoiceId" operator="equals" from-field="parameters.invoiceId"/>
+            </condition-list>
+        </entity-condition>
+        <iterate list="acctgTransInvoiceList" entry="acctgTransInvoice">
+            <set field="copyAcctgTransCtx.fromAcctgTransId" from-field="acctgTransInvoice.acctgTransId"/>
+            <set field="copyAcctgTransCtx.revert" value="Y"/>
+            <call-service service-name="copyAcctgTransAndEntries" in-map-name="copyAcctgTransCtx"/>
+            <clear-field field="copyAcctgTransCtx"/>
+        </iterate>
+    </simple-method>
+
 </simple-methods>
\ No newline at end of file

Modified: ofbiz/trunk/applications/accounting/servicedef/secas_ledger.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/secas_ledger.xml?rev=798193&r1=798192&r2=798193&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/secas_ledger.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/secas_ledger.xml Mon Jul 27 15:42:54 2009
@@ -131,5 +131,8 @@
         <condition field-name="statusId" operator="equals" value="INVOICE_CANCELLED"/>
         <action service="cancelInvoice" mode="sync"/>
     </eca>
-
+    <!-- On canceling invoice reverse its Accounting Transactions -->
+    <eca service="cancelInvoice" event="invoke">
+        <action service="revertAcctgTransOnCancelInvoice" mode="sync"/>
+    </eca>
 </service-eca>
\ No newline at end of file

Modified: ofbiz/trunk/applications/accounting/servicedef/secas_payment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/secas_payment.xml?rev=798193&r1=798192&r2=798193&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/secas_payment.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/secas_payment.xml Mon Jul 27 15:42:54 2009
@@ -53,4 +53,9 @@
          <condition field-name="statusId" operator="equals" value="FINACT_TRNS_CANCELED"/>
          <action service="updatePaymentOnFinAccTransStatusSetToCancel" mode="sync"/>
      </eca>
+    
+     <!-- Create Reverse Accouting Transaction and Entries on removing PaymentApplication -->
+     <eca service="removePaymentApplication" event="invoke">
+         <action service="revertAcctgTransOnRemovePaymentApplications" mode="sync"/>
+     </eca>
 </service-eca>

Modified: ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml?rev=798193&r1=798192&r2=798193&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml Mon Jul 27 15:42:54 2009
@@ -598,4 +598,16 @@
         <attribute name="openingBalanceCredit" type="BigDecimal" mode="OUT"/>
         <attribute name="debitCreditDifference" type="BigDecimal" mode="OUT"/>
     </service>
+    
+    <service name="revertAcctgTransOnCancelInvoice" engine="simple"
+            location="component://accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="revertAcctgTransOnCancelInvoice" auth="true">
+        <description>Reverting Accounting Transaction And Entries on Canceling an Invoice</description>
+        <attribute name="invoiceId" mode="IN" type="String" optional="false"/>
+    </service>
+    <service name="revertAcctgTransOnRemovePaymentApplications" engine="simple"
+           location="component://accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="revertAcctgTransOnRemovePaymentApplications" auth="true">
+        <description>Create Reverse Accounting Transaction and Entries on removing PaymentApplication records.</description>
+        <attribute name="paymentApplicationId" mode="IN" type="String" optional="false"/>      
+    </service>
+    
 </services>