|
Author: jacopoc
Date: Tue Jan 19 11:24:34 2010 New Revision: 900727 URL: http://svn.apache.org/viewvc?rev=900727&view=rev Log: First step in the implementation of automatic transactions for fixed assets: * new entity to setup account mappings for all assets, by asset type or for a specific asset * screen to setup mappings for a specific asset Modified: ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml ofbiz/trunk/applications/accounting/servicedef/services_fixedasset.xml ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml ofbiz/trunk/applications/accounting/widget/FixedAssetForms.xml ofbiz/trunk/applications/accounting/widget/FixedAssetScreens.xml Modified: ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml?rev=900727&r1=900726&r2=900727&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml (original) +++ ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml Tue Jan 19 11:24:34 2010 @@ -896,6 +896,46 @@ <field name="description" type="description"></field> <prim-key field="fixedAssetProductTypeId"/> </entity> + <entity entity-name="FixedAssetTypeGlAccount" + package-name="org.ofbiz.accounting.fixedasset" + title="Gl Account Mapping For Fixed Asset Or Fixed Asset Types"> + <field name="fixedAssetTypeId" type="id-ne"><description>The fixed asset type for the mappings. This field can be set to _NA_ in order to define a mapping for all types or for a specific asset (specified by the id in the fixedAssetId field).</description></field> + <field name="fixedAssetId" type="id-ne"><description>The fixed asset id for the mappings. This field can be set to _NA_ in order to define a mapping for all assets of a given type (specified by the id in the fixedAssetTypeId field).</description></field> + <field name="organizationPartyId" type="id-ne"></field> + <field name="assetGlAccountId" type="id"><description>The (debit) account for the initial asset value (purchase cost)</description></field> + <field name="accDepGlAccountId" type="id"><description>The (credit) account for the accumulated depreciation</description></field> + <field name="depGlAccountId" type="id"><description>The (debit) account for the depreciation expense (matches the accDepGlAccountId)</description></field> + <field name="profitGlAccountId" type="id"><description>The (credit) account for the eventual profit derived from the sale of the asset</description></field> + <field name="lossGlAccountId" type="id"><description>The (debit) account for the eventual loss derived from the sale of the asset</description></field> + <prim-key field="fixedAssetTypeId"/> + <prim-key field="fixedAssetId"/> + <prim-key field="organizationPartyId"/> + <relation type="one-nofk" rel-entity-name="FixedAssetType"> + <key-map field-name="fixedAssetTypeId"/> + </relation> + <relation type="one-nofk" rel-entity-name="FixedAsset"> + <key-map field-name="fixedAssetId"/> + </relation> + <relation type="one" fk-name="FATGL_OP" rel-entity-name="Party"> + <key-map field-name="organizationPartyId" rel-field-name="partyId"/> + </relation> + <relation type="one" fk-name="FATGL_AGL" title="Asset" rel-entity-name="GlAccount"> + <key-map field-name="assetGlAccountId" rel-field-name="glAccountId"/> + </relation> + <relation type="one" fk-name="FATGL_ACCDGL" title="AccumulatedDepreciation" rel-entity-name="GlAccount"> + <key-map field-name="accDepGlAccountId" rel-field-name="glAccountId"/> + </relation> + <relation type="one" fk-name="FATGL_DGL" title="Depreciation" rel-entity-name="GlAccount"> + <key-map field-name="depGlAccountId" rel-field-name="glAccountId"/> + </relation> + <relation type="one" fk-name="FATGL_PGL" title="Profit" rel-entity-name="GlAccount"> + <key-map field-name="profitGlAccountId" rel-field-name="glAccountId"/> + </relation> + <relation type="one" fk-name="FATGL_LGL" title="Loss" rel-entity-name="GlAccount"> + <key-map field-name="lossGlAccountId" rel-field-name="glAccountId"/> + </relation> + </entity> + <entity entity-name="FixedAssetRegistration" package-name="org.ofbiz.accounting.fixedasset" title="Fixed Asset Registration Entity"> <field name="fixedAssetId" type="id-ne"></field> <field name="fromDate" type="date-time"></field> Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml?rev=900727&r1=900726&r2=900727&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml (original) +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml Tue Jan 19 11:24:34 2010 @@ -864,4 +864,17 @@ </if> </simple-method> + <simple-method method-name="createFixedAssetTypeGlAccount" short-description="Create a Fixed Asset Type Gl Account Mapping"> + <make-value entity-name="FixedAssetTypeGlAccount" value-field="newEntity"/> + <set-pk-fields value-field="newEntity" map="parameters"/> + <set-nonpk-fields value-field="newEntity" map="parameters"/> + <if-empty field="newEntity.fixedAssetId"> + <set field="newEntity.fixedAssetId" from-field="_NA_"/> + </if-empty> + <if-empty field="newEntity.fixedAssetTypeId"> + <set field="newEntity.fixedAssetTypeId" from-field="_NA_"/> + </if-empty> + <create-value value-field="newEntity"/> + </simple-method> + </simple-methods> Modified: ofbiz/trunk/applications/accounting/servicedef/services_fixedasset.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_fixedasset.xml?rev=900727&r1=900726&r2=900727&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/servicedef/services_fixedasset.xml (original) +++ ofbiz/trunk/applications/accounting/servicedef/services_fixedasset.xml Tue Jan 19 11:24:34 2010 @@ -303,6 +303,20 @@ <attribute name="assetNBVAfterDepreciation" type="List" mode="OUT" optional="true"/> <attribute name="assetDepreciationInfoList" type="List" mode="OUT" optional="true"/> </service> + <service name="createFixedAssetTypeGlAccount" engine="simple" default-entity-name="FixedAssetTypeGlAccount" + location="component://accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml" invoke="createFixedAssetTypeGlAccount" auth="true"> + <description>Create a Fixed Asset Type Gl Account Mapping</description> + <permission-service service-name="fixedAssetPermissionCheck" main-action="CREATE"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + <attribute name="fixedAssetTypeId" type="String" mode="IN" optional="true"/> + <attribute name="fixedAssetId" type="String" mode="IN" optional="true"/> + <attribute name="organizationPartyId" type="String" mode="IN" optional="false"/> + </service> + <service name="deleteFixedAssetTypeGlAccount" default-entity-name="FixedAssetTypeGlAccount" engine="entity-auto" invoke="delete" auth="true"> + <description>Delete a Fixed Asset Type Gl Account Mapping</description> + <permission-service service-name="fixedAssetPermissionCheck" main-action="DELETE"/> + <auto-attributes include="pk" mode="IN" optional="false"/> + </service> <!-- FixedAssetGeoPoint services --> <service name="createFixedAssetGeoPoint" default-entity-name="FixedAssetGeoPoint" engine="entity-auto" invoke="create" auth="true"> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=900727&r1=900726&r2=900727&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Tue Jan 19 11:24:34 2010 @@ -2324,7 +2324,18 @@ <response name="success" type="view" value="ShowFixedAssetDepreciation"/> <response name="error" type="view" value="ShowFixedAssetDepreciation"/> </request-map> - + <request-map uri="createFixedAssetTypeGlAccountForFixedAsset"> + <security https="true" auth="true"/> + <event type="service" invoke="createFixedAssetTypeGlAccount"/> + <response name="success" type="view" value="ShowFixedAssetDepreciation"/> + <response name="error" type="view" value="ShowFixedAssetDepreciation"/> + </request-map> + <request-map uri="deleteFixedAssetTypeGlAccountForFixedAsset"> + <security https="true" auth="true"/> + <event type="service" invoke="deleteFixedAssetTypeGlAccount"/> + <response name="success" type="view" value="ShowFixedAssetDepreciation"/> + <response name="error" type="view" value="ShowFixedAssetDepreciation"/> + </request-map> <!-- Commented out for now WIP <request-map uri="taxAuthorityVATReport"> <security https="true" auth="true"/> Modified: ofbiz/trunk/applications/accounting/widget/FixedAssetForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/FixedAssetForms.xml?rev=900727&r1=900726&r2=900727&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/FixedAssetForms.xml (original) +++ ofbiz/trunk/applications/accounting/widget/FixedAssetForms.xml Tue Jan 19 11:24:34 2010 @@ -642,4 +642,107 @@ <field name="debitCreditFlag"><display/></field> <field name="isPosted"><display/></field> </form> + <form name="AddFixedAssetTypeGlAccount" type="single" target="createFixedAssetTypeGlAccountForFixedAsset" title="" + header-row-style="header-row" default-table-style="basic-table"> + <auto-fields-service service-name="createFixedAssetTypeGlAccount" default-field-type="edit"/> + <field name="fixedAssetId"><hidden/></field> + <field name="fixedAssetTypeId"><hidden value="_NA_"/></field> + <field name="organizationPartyId"><hidden value="${fixedAsset.partyId}"/></field> + <field name="assetGlAccountId"> + <drop-down allow-empty="true"> + <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"> + <entity-constraint name="organizationPartyId" operator="equals" value="${fixedAsset.partyId}"/> + <entity-constraint name="glAccountClassId" operator="equals" value="LONGTERM_ASSET"/> + <entity-order-by field-name="accountCode"/> + </entity-options> + </drop-down> + </field> + <field name="accDepGlAccountId"> + <drop-down allow-empty="true"> + <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"> + <entity-constraint name="organizationPartyId" operator="equals" value="${fixedAsset.partyId}"/> + <entity-constraint name="glAccountClassId" operator="equals" value="ACCUM_DEPRECIATION"/> + <entity-order-by field-name="accountCode"/> + </entity-options> + <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"> + <entity-constraint name="organizationPartyId" operator="equals" value="${fixedAsset.partyId}"/> + <entity-constraint name="glAccountClassId" operator="equals" value="ACCUM_AMORTIZATION"/> + <entity-order-by field-name="accountCode"/> + </entity-options> + </drop-down> + </field> + <field name="depGlAccountId"> + <drop-down allow-empty="true"> + <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"> + <entity-constraint name="organizationPartyId" operator="equals" value="${fixedAsset.partyId}"/> + <entity-constraint name="glAccountClassId" operator="equals" value="DEPRECIATION"/> + <entity-order-by field-name="accountCode"/> + </entity-options> + <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"> + <entity-constraint name="organizationPartyId" operator="equals" value="${fixedAsset.partyId}"/> + <entity-constraint name="glAccountClassId" operator="equals" value="AMORTIZATION"/> + <entity-order-by field-name="accountCode"/> + </entity-options> + </drop-down> + </field> + <field name="profitGlAccountId"> + <drop-down allow-empty="true"> + <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"> + <entity-constraint name="organizationPartyId" operator="equals" value="${fixedAsset.partyId}"/> + <entity-constraint name="glAccountClassId" operator="equals" value="CASH_INCOME"/> + <entity-order-by field-name="accountCode"/> + </entity-options> + </drop-down> + </field> + <field name="lossGlAccountId"> + <drop-down allow-empty="true"> + <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"> + <entity-constraint name="organizationPartyId" operator="equals" value="${fixedAsset.partyId}"/> + <entity-constraint name="glAccountClassId" operator="equals" value="SGA_EXPENSE"/> + <entity-order-by field-name="accountCode"/> + </entity-options> + </drop-down> + </field> + <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field> + </form> + <form name="GlobalFixedAssetTypeGlAccounts" type="list" + odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar"> + <actions> + <entity-condition entity-name="FixedAssetTypeGlAccount" list="globalFixedAssetTypeGlAccounts"> + <condition-list combine="and"> + <condition-expr field-name="fixedAssetId" value="_NA_"/> + <condition-list combine="or"> + <condition-expr field-name="fixedAssetTypeId" from-field="fixedAsset.fixedAssetTypeId"/> + <condition-expr field-name="fixedAssetTypeId" value="_NA_"/> + </condition-list> + </condition-list> + </entity-condition> + </actions> + <field name="fixedAssetTypeId"><display-entity entity-name="FixedAssetType"/></field> + <field name="assetGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="accDepGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="depGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="profitGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="lossGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + </form> + <form name="FixedAssetTypeGlAccounts" type="list" + odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar"> + <actions> + <entity-condition entity-name="FixedAssetTypeGlAccount" list="fixedAssetTypeGlAccounts"> + <condition-expr field-name="fixedAssetId" from-field="fixedAssetId"/> + </entity-condition> + </actions> + <field name="assetGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="accDepGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="depGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="profitGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="lossGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field> + <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> + <hyperlink target="deleteFixedAssetTypeGlAccountForFixedAsset" description="${uiLabelMap.CommonDelete}" also-hidden="false"> + <parameter param-name="fixedAssetTypeId"/> + <parameter param-name="fixedAssetId"/> + <parameter param-name="organizationPartyId"/> + </hyperlink> + </field> + </form> </forms> Modified: ofbiz/trunk/applications/accounting/widget/FixedAssetScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/FixedAssetScreens.xml?rev=900727&r1=900726&r2=900727&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/FixedAssetScreens.xml (original) +++ ofbiz/trunk/applications/accounting/widget/FixedAssetScreens.xml Tue Jan 19 11:24:34 2010 @@ -544,6 +544,13 @@ </screenlet> </fail-widgets> </section> + <screenlet title="GL Mappings"> + <include-form name="AddFixedAssetTypeGlAccount" location="component://accounting/widget/FixedAssetForms.xml"/> + <label style="h3">Fixed Asset Mappings</label> + <include-form name="FixedAssetTypeGlAccounts" location="component://accounting/widget/FixedAssetForms.xml"/> + <label style="h3">Global Mappings</label> + <include-form name="GlobalFixedAssetTypeGlAccounts" location="component://accounting/widget/FixedAssetForms.xml"/> + </screenlet> <screenlet title="${uiLabelMap.AccountingTransactions}"> <include-form name="FixedAssetTransactions" location="component://accounting/widget/FixedAssetForms.xml"/> </screenlet> |
| Free forum by Nabble | Edit this page |
