You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by pa...@apache.org on 2018/02/19 11:55:41 UTC
svn commit: r1824742 -
/ofbiz/branches/release16.11/applications/accounting/minilang/ledger/GeneralLedgerServices.xml
Author: paulfoxworthy
Date: Mon Feb 19 11:55:40 2018
New Revision: 1824742
URL: http://svn.apache.org/viewvc?rev=1824742&view=rev
Log:
Applied fix from trunk for revision: 1824740 === Fixed: The invoiceTaxTotal value is missing from createAcctgTransForPurchaseInvoice service (OFBIZ-6330)
Modified:
ofbiz/branches/release16.11/applications/accounting/minilang/ledger/GeneralLedgerServices.xml
Modified: ofbiz/branches/release16.11/applications/accounting/minilang/ledger/GeneralLedgerServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/applications/accounting/minilang/ledger/GeneralLedgerServices.xml?rev=1824742&r1=1824741&r2=1824742&view=diff
==============================================================================
--- ofbiz/branches/release16.11/applications/accounting/minilang/ledger/GeneralLedgerServices.xml (original)
+++ ofbiz/branches/release16.11/applications/accounting/minilang/ledger/GeneralLedgerServices.xml Mon Feb 19 11:55:40 2018
@@ -1856,17 +1856,23 @@ under the License.
<set field="debitEntry.partyId" from-field="invoice.partyIdFrom"/>
<set field="debitEntry.roleTypeId" from-field="transPartyRoleTypeId"/>
<set field="debitEntry.productId" from-field="invoiceItem.productId"/>
+ <!-- glAccountTypeId is overloaded. For sales and purchase invoices, it has the invoiceItemTypeId,
+ and the getGlAccountFromAccountType service knows that -->
<set field="debitEntry.glAccountTypeId" from-field="invoiceItem.invoiceItemTypeId"/>
<set field="debitEntry.glAccountId" from-field="invoiceItem.overrideGlAccountId"/>
<set field="debitEntry.origAmount" from-field="amountFromInvoice"/>
<set field="debitEntry.origCurrencyUomId" from-field="invoice.currencyUomId"/>
<set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/>
</iterate>
+
<!-- debit entry for SALES_TAX-->
+ <set field="invoiceTaxTotal" type="BigDecimal" value="0"/>
+
<call-class-method method-name="getInvoiceTaxAuthPartyAndGeos" class-name="org.apache.ofbiz.accounting.invoice.InvoiceWorker"
ret-field="taxAuthPartyAndGeos">
<field field="invoice" type="org.apache.ofbiz.entity.GenericValue"/>
</call-class-method>
+
<iterate-map key="taxAuthPartyId" value="taxAuthGeoIds" map="taxAuthPartyAndGeos">
<iterate list="taxAuthGeoIds" entry="taxAuthGeoId">
<clear-field field="debitEntry"/>
@@ -1883,9 +1889,18 @@ under the License.
<set field="debitEntry.origCurrencyUomId" from-field="invoice.currencyUomId"/>
<set field="debitEntry.partyId" from-field="taxAuthPartyId"/>
<set field="debitEntry.roleTypeId" value="TAX_AUTHORITY"/>
+ <set field="debitEntry.glAccountTypeId" from-field="TAX_ACCOUNT"/>
+
<set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/>
+ <calculate field="invoiceTaxTotal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
+ <calcop operator="add">
+ <calcop operator="get" field="invoiceTaxTotal"/>
+ <calcop operator="get" field="taxAmount"/>
+ </calcop>
+ </calculate>
</iterate>
</iterate-map>
+
<!-- Another entry for tax not attributed to a taxAuthPartyId -->
<clear-field field="debitEntry"/>
<make-value entity-name="AcctgTransEntry" value-field="debitEntry"/>
@@ -1897,7 +1912,14 @@ under the License.
</call-class-method>
<set field="debitEntry.origAmount" from-field="taxAmount"/>
<set field="debitEntry.origCurrencyUomId" from-field="invoice.currencyUomId"/>
+ <set field="debitEntry.glAccountTypeId" value="TAX_ACCOUNT"/>
<set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/>
+ <calculate field="invoiceTaxTotal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
+ <calcop operator="add">
+ <calcop operator="get" field="invoiceTaxTotal"/>
+ <calcop operator="get" field="taxAmount"/>
+ </calcop>
+ </calculate>
<!-- Credit -->
<make-value entity-name="AcctgTransEntry" value-field="creditEntry"/>
@@ -2017,6 +2039,8 @@ under the License.
<set field="debitEntry.partyId" from-field="invoice.partyIdFrom"/>
<set field="debitEntry.roleTypeId" value="BILL_FROM_VENDOR"/>
<set field="debitEntry.productId" from-field="invoiceItem.productId"/>
+ <!-- glAccountTypeId is overloaded. For sales and purchase invoices, it has the invoiceItemTypeId,
+ and the getGlAccountFromAccountType service knows that -->
<set field="debitEntry.glAccountTypeId" from-field="invoiceItem.invoiceItemTypeId"/>
<set field="debitEntry.glAccountId" from-field="invoiceItem.overrideGlAccountId"/>
<if-compare field="amountFromOrder" operator="greater" value="0" type="BigDecimal">
@@ -2030,6 +2054,7 @@ under the License.
<set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/>
</iterate>
<!-- debit entry for SALES_TAX-->
+ <set field="invoiceTaxTotal" type="BigDecimal" value="0"/>
<call-class-method method-name="getInvoiceTaxAuthPartyAndGeos" class-name="org.apache.ofbiz.accounting.invoice.InvoiceWorker"
ret-field="taxAuthPartyAndGeos">
<field field="invoice" type="org.apache.ofbiz.entity.GenericValue"/>
@@ -2050,7 +2075,14 @@ under the License.
<set field="debitEntry.origCurrencyUomId" from-field="invoice.currencyUomId"/>
<set field="debitEntry.partyId" from-field="taxAuthPartyId"/>
<set field="debitEntry.roleTypeId" value="TAX_AUTHORITY"/>
+ <set field="debitEntry.glAccountTypeId" value="TAX_ACCOUNT"/>
<set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/>
+ <calculate field="invoiceTaxTotal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
+ <calcop operator="add">
+ <calcop operator="get" field="invoiceTaxTotal"/>
+ <calcop operator="get" field="taxAmount"/>
+ </calcop>
+ </calculate>
</iterate>
</iterate-map>
<!-- Another entry for tax not attributed to a taxAuthPartyId -->
@@ -2071,9 +2103,16 @@ under the License.
<set field="debitEntry.organizationPartyId" from-field="invoice.partyId"/>
<set field="debitEntry.origAmount" from-field="taxAmount"/>
<set field="debitEntry.origCurrencyUomId" from-field="invoice.currencyUomId"/>
+ <set field="debitEntry.glAccountTypeId" value="TAX_ACCOUNT"/>
<set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/>
+ <calculate field="invoiceTaxTotal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
+ <calcop operator="add">
+ <calcop operator="get" field="invoiceTaxTotal"/>
+ <calcop operator="get" field="taxAmount"/>
+ </calcop>
+ </calculate>
</then>
- </if>
+ </if>
<!-- Credit -->
<make-value entity-name="AcctgTransEntry" value-field="creditEntry"/>
<set field="creditEntry.debitCreditFlag" value="C"/>
@@ -2171,6 +2210,8 @@ under the License.
<!-- Credit -->
<make-value entity-name="AcctgTransEntry" value-field="creditEntry"/>
<set field="creditEntry.debitCreditFlag" value="C"/>
+ <!-- glAccountTypeId is overloaded. For sales and purchase invoices, it has the invoiceItemTypeId,
+ and the getGlAccountFromAccountType service knows that -->
<set field="creditEntry.glAccountTypeId" from-field="invoiceItem.invoiceItemTypeId"/>
<set field="creditEntry.organizationPartyId" from-field="invoice.partyIdFrom"/>
<set field="creditEntry.productId" from-field="invoiceItem.productId"/>
@@ -2185,6 +2226,7 @@ under the License.
</iterate>
<!-- credit entry for SALES_TAX-->
+ <set field="invoiceTaxTotal" type="BigDecimal" value="0"/>
<call-class-method method-name="getInvoiceTaxAuthPartyAndGeos" class-name="org.apache.ofbiz.accounting.invoice.InvoiceWorker"
ret-field="taxAuthPartyAndGeos">
<field field="invoice" type="org.apache.ofbiz.entity.GenericValue"/>
@@ -2218,6 +2260,12 @@ under the License.
</else>
</if-not-empty>
<set field="acctgTransEntries[]" from-field="creditEntry" type="Object"/>
+ <calculate field="invoiceTaxTotal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
+ <calcop operator="add">
+ <calcop operator="get" field="invoiceTaxTotal"/>
+ <calcop operator="get" field="taxAmount"/>
+ </calcop>
+ </calculate>
</iterate>
</iterate-map>
<!-- Another entry for tax not attributed to a taxAuthPartyId -->
@@ -2234,6 +2282,12 @@ under the License.
<set field="creditEntry.origCurrencyUomId" from-field="invoice.currencyUomId"/>
<set field="creditEntry.glAccountTypeId" value="TAX_ACCOUNT"/>
<set field="acctgTransEntries[]" from-field="creditEntry" type="Object"/>
+ <calculate field="invoiceTaxTotal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
+ <calcop operator="add">
+ <calcop operator="get" field="invoiceTaxTotal"/>
+ <calcop operator="get" field="taxAmount"/>
+ </calcop>
+ </calculate>
</if-compare>
<!-- Debit -->
@@ -2241,10 +2295,6 @@ under the License.
<set field="debitEntry.debitCreditFlag" value="D"/>
<set field="debitEntry.glAccountTypeId" value="ACCOUNTS_RECEIVABLE"/>
<set field="debitEntry.organizationPartyId" from-field="invoice.partyIdFrom"/>
- <call-class-method method-name="getInvoiceTaxTotal" class-name="org.apache.ofbiz.accounting.invoice.InvoiceWorker"
- ret-field="invoiceTaxTotal">
- <field field="invoice" type="GenericValue"/>
- </call-class-method>
<calculate field="totalOrigAmount" type="BigDecimal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
<calcop operator="add">
<calcop operator="get" field="totalOrigAmount"/>