Author: jacopoc
Date: Wed Mar 24 11:28:17 2010
New Revision: 927014
URL: http://svn.apache.org/viewvc?rev=927014&view=rev
Log:
Reimplemented "inventory valuation" report (that was buggy) and its csv and pdf
variants: the new version is now based on the new LIFO and FIFO costing methods
and it is more efficient because it is based on a single view-entity (that I
have extended in order to be used in the new report).
Removed:
ofbiz/trunk/applications/accounting/webapp/accounting/reports/InventoryValuationReport.fo.ftl
Modified:
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
ofbiz/trunk/applications/product/entitydef/entitymodel.xml
Modified:
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml?rev=927014&r1=927013&r2=927014&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
(original)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
Wed Mar 24 11:28:17 2010
@@ -496,41 +496,34 @@ under the License.
<entity-order-by field-name="facilityId"/>
</entity-options>
</drop-down>
- </field>
- <field name="cogsMethodId" position="2">
- <drop-down allow-empty="false">
- <!--TODO for now Average Cost is being calculated-->
- <!--<entity-options entity-name="Enumeration"
description="${description}" key-field-name="enumId">
- <entity-constraint name="enumTypeId" operator="equals"
value="COGS_METHODS"/>
- <entity-order-by field-name="description"/>
- </entity-options>-->
- <option key="COGS_AVG_COST"
description="${uiLabelMap.ProductAverageCost}"/>
- </drop-down>
</field>
- <field name="productId" position="1"><lookup
target-form-name="LookupProduct"/></field>
- <field name="productCategoryId" position="2"><lookup
target-form-name="LookupProductCategory"/></field>
- <field name="fromDate" position="1"><date-time/></field>
- <field name="thruDate" position="2"><date-time/></field>
+ <field name="productId"><lookup
target-form-name="LookupProduct"/></field>
+ <field name="thruDate"><date-time
default-value="${nowTimestamp}"/></field>
<field name="organizationPartyId"><hidden/></field>
<field name="showSearchResults"><hidden value="Y"/><!-- if this isn't
there then with all fields empty no query will be done --></field>
<field name="submitButton" widget-style="smallSubmit"><submit
button-type="button"/></field>
</form>
- <form name="InventoryValuationList" extends="ListInventoryAverageCosts"
extends-resource="component://product/widget/facility/FacilityForms.xml"
- odd-row-style="alternate-row" default-table-style="basic-table
hover-bar" list-name="inventoryValuationList"
paginate-target="InventoryValuation">
- <field name="productAverageCost"
use-when="currencyUomId!=null"><display type="currency"
currency="${currencyUomId}"/></field>
- <field name="productAverageCost" use-when="currencyUomId==null"
title="${uiLabelMap.FormFieldTitle_unitCost}"><display
description="${uiLabelMap.ProductDifferentCurrencies}"/></field>
- <field name="totalInventoryCost" use-when="currencyUomId!=null"
title="${uiLabelMap.CommonTotalValue}"><display type="currency"
currency="${currencyUomId}"/></field>
- <field name="totalInventoryCost" use-when="currencyUomId==null"
title="${uiLabelMap.CommonTotalValue}"><display
description="${uiLabelMap.ProductDifferentCurrencies}"/></field>
- </form>
-
- <form name="InventoryValuationCsv" type="list"
list-name="inventoryValuationList" view-size="99999">
- <field name="productId"
title="${uiLabelMap.AccountingProductId}"><display/></field>
- <field name="totalQuantityOnHand"
title="${uiLabelMap.AccountingTotalQuantityOnHand}"><display/></field>
- <field name="productAverageCost" use-when="currencyUomId!=null"
title="${uiLabelMap.FormFieldTitle_unitCost}" ><display type="currency"
currency="${currencyUomId}"/></field>
- <field name="productAverageCost" use-when="currencyUomId==null"
title="${uiLabelMap.FormFieldTitle_unitCost}" ><display
description="${uiLabelMap.ProductDifferentCurrencies}"/></field>
- <field name="totalInventoryCost" use-when="currencyUomId!=null"
title="${uiLabelMap.CommonTotalValue}" ><display type="currency"
currency="${currencyUomId}"/></field>
- <field name="totalInventoryCost" use-when="currencyUomId==null"
title="${uiLabelMap.CommonTotalValue}"><display
description="${uiLabelMap.ProductDifferentCurrencies}"/></field>
+ <form name="InventoryValuationList" type="list"
list-name="inventoryValuationList" odd-row-style="alternate-row"
default-table-style="basic-table hover-bar">
+ <actions>
+ <entity-condition entity-name="InventoryItemDetailForSum"
list="inventoryValuationList" use-cache="false">
+ <condition-list>
+ <condition-expr field-name="ownerPartyId"
operator="equals" from-field="parameters.organizationPartyId"/>
+ <condition-expr field-name="accountingQuantityDiff"
operator="not-equals" value="0.0"/>
+ <condition-expr field-name="effectiveDate"
operator="less-equals" from-field="parameters.thruDate"/>
+ <condition-expr field-name="facilityId" operator="equals"
from-field="parameters.facilityId" ignore-if-empty="true"/>
+ <condition-expr field-name="productId" operator="equals"
from-field="parameters.productId" ignore-if-empty="true"/>
+ </condition-list>
+ <select-field field-name="productId"/>
+ <select-field field-name="unitCost"/>
+ <select-field field-name="currencyUomId"/>
+ <select-field field-name="accountingQuantitySum"/>
+ </entity-condition>
+ </actions>
+ <field name="productId"><display/></field>
+ <field name="unitCost" widget-style="tabletextright"><display
currency="${currencyUomId}" type="currency"/></field>
+ <field name="accountingQuantitySum"
widget-style="tabletextright"><display/></field>
+ <field name="value" widget-style="tabletextright"><display
description="${accountingQuantitySum * unitCost}" currency="${currencyUomId}"
type="currency"/></field>
</form>
<form name="TrialBalanceFinancialTimePeriodSelection" type="single"
header-row-style="header-row" target="TrialBalance"
default-table-style="basic-table">
Modified:
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml?rev=927014&r1=927013&r2=927014&view=diff
==============================================================================
---
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
(original)
+++
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
Wed Mar 24 11:28:17 2010
@@ -1367,42 +1367,22 @@ under the License.
<condition>
<if-compare
field="parameters.showSearchResults" operator="equals" value="Y"/>
</condition>
- <actions>
- <service
service-name="getInventoryValuationList" result-map="inventoryValuation"/>
- <set field="inventoryValuationList"
from-field="inventoryValuation.inventoryValuationList" type="List"/>
- </actions>
<widgets>
- <section>
- <condition>
- <not><if-empty
field="inventoryValuationList"/></not>
- </condition>
- <widgets>
- <link
text="${uiLabelMap.AccountingExportAsPdf}" style="button"
target="InventoryValuation.pdf">
- <parameter
param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
- <parameter
param-name="facilityId" from-field="parameters.facilityId"/>
- <parameter
param-name="productId" from-field="parameters.productId"/>
- <parameter
param-name="productCategoryId" from-field="parameters.productCategoryId"/>
- <parameter
param-name="fromDate" from-field="parameters.fromDate"/>
- <parameter
param-name="thruDate" from-field="parameters.thruDate"/>
- <parameter
param-name="cogsMethodId" from-field="parameters.cogsMethodId"/>
- </link>
- <link
text="${uiLabelMap.AccountingExportAsCsv}" style="button"
target="InventoryValuation.csv">
- <parameter
param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
- <parameter
param-name="facilityId" from-field="parameters.facilityId"/>
- <parameter
param-name="productId" from-field="parameters.productId"/>
- <parameter
param-name="productCategoryId" from-field="parameters.productCategoryId"/>
- <parameter
param-name="fromDate" from-field="parameters.fromDate"/>
- <parameter
param-name="thruDate" from-field="parameters.thruDate"/>
- <parameter
param-name="cogsMethodId" from-field="parameters.cogsMethodId"/>
- </link>
- <screenlet
title="${uiLabelMap.AccountingInventoryValuationList}">
- <include-form
name="InventoryValuationList"
location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
- </screenlet>
- </widgets>
- <fail-widgets>
- <label
style="h3">${uiLabelMap.AccountingNoRecordFound}</label>
- </fail-widgets>
- </section>
+ <link
text="${uiLabelMap.AccountingExportAsPdf}" style="button"
target="InventoryValuation.pdf">
+ <parameter
param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
+ <parameter param-name="facilityId"
from-field="parameters.facilityId"/>
+ <parameter param-name="productId"
from-field="parameters.productId"/>
+ <parameter param-name="thruDate"
from-field="parameters.thruDate"/>
+ </link>
+ <link
text="${uiLabelMap.AccountingExportAsCsv}" style="button"
target="InventoryValuation.csv">
+ <parameter
param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
+ <parameter param-name="facilityId"
from-field="parameters.facilityId"/>
+ <parameter param-name="productId"
from-field="parameters.productId"/>
+ <parameter param-name="thruDate"
from-field="parameters.thruDate"/>
+ </link>
+ <screenlet
title="${uiLabelMap.AccountingInventoryValuationList}">
+ <include-form
name="InventoryValuationList"
location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+ </screenlet>
</widgets>
</section>
</decorator-section>
@@ -1418,18 +1398,15 @@ under the License.
<property-map resource="CommonUiLabels" map-name="uiLabelMap"
global="true"/>
<property-map resource="AccountingUiLabels"
map-name="uiLabelMap" global="true"/>
<property-map resource="ProductUiLabels" map-name="uiLabelMap"
global="true"/>
- <set field="organizationPartyId"
from-field="parameters.organizationPartyId"/>
- <service service-name="getInventoryValuationList"
result-map="inventoryValuation"/>
- <set field="inventoryValuationList"
from-field="inventoryValuation.inventoryValuationList" type="List"/>
+ <set field="viewSize" value="99999"/>
</actions>
<widgets>
<decorator-screen name="SimpleDecorator"
location="component://common/widget/CommonScreens.xml">
<decorator-section name="body">
- <platform-specific>
- <xsl-fo>
- <html-template
location="component://accounting/webapp/accounting/reports/InventoryValuationReport.fo.ftl"/>
- </xsl-fo>
- </platform-specific>
+ <container>
+ <label style="h1"
text="${uiLabelMap.AccountingInventoryValuation}"/>
+ <include-form name="InventoryValuationList"
location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+ </container>
</decorator-section>
</decorator-screen>
</widgets>
@@ -1441,13 +1418,11 @@ under the License.
<property-map resource="CommonUiLabels" map-name="uiLabelMap"
global="true"/>
<property-map resource="AccountingUiLabels"
map-name="uiLabelMap" global="true"/>
<property-map resource="ProductUiLabels" map-name="uiLabelMap"
global="true"/>
- <set field="organizationPartyId"
from-field="parameters.organizationPartyId"/>
- <service service-name="getInventoryValuationList"
result-map="inventoryValuation"/>
- <set field="inventoryValuationList"
from-field="inventoryValuation.inventoryValuationList" type="List"/>
+ <set field="viewSize" value="99999"/>
</actions>
<widgets>
<container>
- <include-form name="InventoryValuationCsv"
location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+ <include-form name="InventoryValuationList"
location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
</container>
</widgets>
</section>
Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=927014&r1=927013&r2=927014&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Wed Mar 24
11:28:17 2010
@@ -2050,9 +2050,13 @@ under the License.
<alias entity-alias="II" name="inventoryItemTypeId"
group-by="true"></alias>
<alias entity-alias="II" name="facilityId" group-by="true"></alias>
<alias entity-alias="II" name="productId" group-by="true"></alias>
+ <alias entity-alias="II" name="unitCost" group-by="true"></alias>
+ <alias entity-alias="II" name="currencyUomId" group-by="true"></alias>
<alias entity-alias="IID" name="effectiveDate"><description>For query
only, not in fields to select.</description></alias>
<alias entity-alias="IID" name="orderId"><description>For query only,
not in fields to select.</description></alias>
+ <alias entity-alias="II" name="ownerPartyId"><description>For query
only, not in fields to select.</description></alias>
<alias entity-alias="IID" name="quantityOnHandDiff"><description>For
query only, not in fields to select.</description></alias>
+ <alias entity-alias="IID"
name="accountingQuantityDiff"><description>For query only, not in fields to
select.</description></alias>
<view-link entity-alias="II" rel-entity-alias="IID">
<key-map field-name="inventoryItemId"/>
</view-link>