http://ofbiz.116.s1.nabble.com/Re-svn-commit-r600738-in-ofbiz-trunk-applications-accounting-script-org-ofbiz-accounting-ledger-Genel-tp186453.html
This commit reverses the permissions checking work I just did. I recommend taking another look at it.
> Author: apatel
> Date: Mon Dec 3 16:12:27 2007
> New Revision: 600738
>
> URL:
http://svn.apache.org/viewvc?rev=600738&view=rev> Log:
> Implement an automatic GL posting service triggered when a physical inventory variance is performed.
>
> Sachin Chourasia , Thanks for providing implementation. And also our thanks to Vikas Mayur, Ashish Vijaywargiya, Mridul Pathak, Pankaj Savita and others for managing and helping the team implementing these services.
>
> Modified:
> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
> ofbiz/trunk/applications/accounting/servicedef/secas.xml
> ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml
>
> Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
> URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml?rev=600738&r1=600737&r2=600738&view=diff> ==============================================================================
> --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml (original)
> +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml Mon Dec 3 16:12:27 2007
> @@ -653,4 +653,49 @@
> <field-to-result field-name="acctgTransId" result-name="acctgTransId"/>
> </simple-method>
>
> + <simple-method method-name="createAcctgTransForPhysicalInventoryVariance" short-description="Create an Account Transaction For Physical Inventory Variance">
> + <!-- retrieve ledger rounding properties -->
> + <property-to-field resource="arithmetic" property="ledger.decimals" field-name="ledgerDecimals"/>
> + <property-to-field resource="arithmetic" property="ledger.rounding" field-name="roundingMode"/>
> + <entity-and entity-name="InventoryItemDetail" list-name="inventoryItemDetails">
> + <field-map field-name="physicalInventoryId" env-name="parameters.physicalInventoryId"/>
> + <order-by field-name="inventoryItemId"/>
> + </entity-and>
> + <iterate list-name="inventoryItemDetails" entry-name="inventoryItemDetail">
> + <get-related-one value-name="inventoryItemDetail" relation-name="InventoryItem" to-value-name="inventoryItem"/>
> + <calculate field-name="origAmount" type="BigDecimal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}">
> + <calcop operator="multiply">
> + <calcop operator="get" field-name="inventoryItemDetail.quantityOnHandDiff"/>
> + <calcop operator="get" field-name="inventoryItem.unitCost "/>
> + </calcop>
> + </calculate>
> + <!-- Credit Entries -->
> + <make-value entity-name="AcctgTransEntry" value-name="creditEntry"/>
> + <set field="creditEntry.debitCreditFlag" value="C"/>
> + <set field="creditEntry.glAccountTypeId" from-field="inventoryItemDetail.reasonEnumId"/>
> + <set field="creditEntry.productId" from-field="inventoryItem.productId"/>
> + <set field="creditEntry.origAmount" from-field="origAmount"/>
> + <set field="creditEntry.origCurrencyUomId" from-field="inventoryItem.currencyUomId"/>
> + <set field="creditEntry.organizationPartyId" from-field="inventoryItem.ownerPartyId"/>
> + <!-- Debit Entries-->
> + <make-value entity-name="AcctgTransEntry" value-name="debitEntry"/>
> + <set field="debitEntry.debitCreditFlag" value="D"/>
> + <set field="debitEntry.glAccountTypeId" value="INVENTORY_ACCOUNT"/>
> + <set field="debitEntry.productId" from-field="inventoryItem.productId"/>
> + <set field="debitEntry.origAmount" from-field="origAmount"/>
> + <set field="debitEntry.origCurrencyUomId" from-field="inventoryItem.currencyUomId"/>
> + <set field="debitEntry.organizationPartyId" from-field="inventoryItem.ownerPartyId"/>
> + <set field="acctgTransEntries[]" from-field="creditEntry" type="Object"/>
> + <set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/>
> + </iterate>
> + <set field="createAcctgTransAndEntriesInMap.glFiscalTypeId" value="ACTUAL"/>
> + <set field="createAcctgTransAndEntriesInMap.acctgTransEntries" from-field="acctgTransEntries"/>
> + <set field="createAcctgTransAndEntriesInMap.physicalInventoryId" from-field="parameters.physicalInventoryId"/>
> + <set field="createAcctgTransAndEntriesInMap.acctgTransTypeId" value="ITEM_VARIANCE_ACCTG_"/>
> + <call-service service-name="createAcctgTransAndEntries" in-map-name="createAcctgTransAndEntriesInMap">
> + <result-to-field result-name="acctgTransId"/>
> + </call-service>
> + <field-to-result field-name="acctgTransId" result-name="acctgTransId"/>
> + </simple-method>
> +
> </simple-methods>
>
> Modified: ofbiz/trunk/applications/accounting/servicedef/secas.xml
> URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/secas.xml?rev=600738&r1=600737&r2=600738&view=diff> ==============================================================================
> --- ofbiz/trunk/applications/accounting/servicedef/secas.xml (original)
> +++ ofbiz/trunk/applications/accounting/servicedef/secas.xml Mon Dec 3 16:12:27 2007
> @@ -164,4 +164,11 @@
> <condition field-name="receiptId" operator="is-empty"/>
> <action service="createAcctgTransForInventoryItemCostChange" mode="sync"/>
> </eca>
> +
> + <!-- attempt to create AcctgTrans Physical Inventory Variance when Physical InventoryAndVariance is created-->
> + <eca service="createPhysicalInventoryAndVariance" event="commit">
> + <condition field-name="physicalInventoryId" operator="is-not-empty"/>
> + <action service="createAcctgTransForPhysicalInventoryVariance" 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=600738&r1=600737&r2=600738&view=diff> ==============================================================================
> --- ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml (original)
> +++ ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml Mon Dec 3 16:12:27 2007
> @@ -30,7 +30,6 @@
> <service name="createGlAccount" default-entity-name="GlAccount" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createGlAccount" auth="true">
> <description>Create a GlAccount record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="CREATE"/>
> <auto-attributes include="pk" mode="INOUT" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true"/>
> <override name="glAccountTypeId" optional="false"/>
> @@ -41,40 +40,35 @@
> <service name="updateGlAccount" default-entity-name="GlAccount" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="updateGlAccount" auth="true">
> <description>Update a GlAccount record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="UPDATE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true"/>
> </service>
> <service name="deleteGlAccount" default-entity-name="GlAccount" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="deleteGlAccount" auth="true">
> <description>Delete a GlAccount record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="DELETE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
>
> <service name="createGlAccountOrganization" default-entity-name="GlAccountOrganization" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createGlAccountOrganization" auth="true">
> <description>Create a GlAccount record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="CREATE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true"/>
> </service>
> <service name="updateGlAccountOrganization" default-entity-name="GlAccountOrganization" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="updateGlAccountOrganization" auth="true">
> <description>Update a GlAccount record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="UPDATE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true"/>
> </service>
> <service name="deleteGlAccountOrganization" default-entity-name="GlAccountOrganization" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="deleteGlAccountOrganization" auth="true">
> <description>Delete a GlAccount record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="DELETE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
>
> <!-- GlJournal -->
> - <service name="quickCreateAcctgTransAndEntries" engine="simple"
> + <service name="quickCreateAcctgTransAndEntries" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="quickCreateAcctgTransAndEntries" auth="true">
> <description>Creates an AcctgTrans and two offsetting AcctgTransEntry records</description>
> <auto-attributes mode="IN" entity-name="AcctgTrans" include="nonpk" optional="true"/>
> @@ -87,11 +81,10 @@
> <attribute name="acctgTransId" type="String" mode="OUT" optional="false"/>
> <override name="amount" optional="false"/>
> </service>
> -
> +
> <service name="calculateGlJournalTrialBalance" default-entity-name="GlJournal" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="calculateGlJournalTrialBalance" auth="true">
> <description>Calculate Trial Balance for a GlJournal</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="VIEW"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <attribute name="debitTotal" type="Double" mode="OUT" optional="false"/>
> <attribute name="creditTotal" type="Double" mode="OUT" optional="false"/>
> @@ -105,7 +98,6 @@
> <service name="createGlJournal" default-entity-name="GlJournal" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createGlJournal" auth="true">
> <description>Create a GlJournal record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="CREATE"/>
> <auto-attributes include="pk" mode="OUT" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true">
> <exclude field-name="isPosted"/>
> @@ -116,7 +108,6 @@
> <service name="updateGlJournal" default-entity-name="GlJournal" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="updateGlJournal" auth="true">
> <description>Update a GlJournal record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="UPDATE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true">
> <exclude field-name="isPosted"/>
> @@ -126,7 +117,6 @@
> <service name="deleteGlJournal" default-entity-name="GlJournal" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="deleteGlJournal" auth="true">
> <description>Delete a GlJournal record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="DELETE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
>
> @@ -134,7 +124,6 @@
> <service name="createGlReconciliation" default-entity-name="GlReconciliation" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createGlReconciliation" auth="true">
> <description>Create a GlReconciliation record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="CREATE"/>
> <auto-attributes include="pk" mode="OUT" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true">
> <exclude field-name="createdByUserLogin"/>
> @@ -145,7 +134,6 @@
> <service name="updateGlReconciliation" default-entity-name="GlReconciliation" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="updateGlReconciliation" auth="true">
> <description>Update a GlReconciliation record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="UPDATE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true">
> <exclude field-name="createdByUserLogin"/>
> @@ -155,28 +143,24 @@
> <service name="deleteGlReconciliation" default-entity-name="GlReconciliation" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="deleteGlReconciliation" auth="true">
> <description>Delete a GlReconciliation record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="DELETE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
>
> <service name="createGlReconciliationEntry" default-entity-name="GlReconciliationEntry" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createGlReconciliationEntry" auth="true">
> <description>Add an Entry to a GlReconciliation</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="CREATE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="false"/>
> </service>
> <service name="updateGlReconciliationEntry" default-entity-name="GlReconciliationEntry" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="updateGlReconciliationEntry" auth="true">
> <description>Update an Entry to a GlReconciliation record</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="UPDATE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="false"/>
> </service>
> <service name="deleteGlReconciliationEntry" default-entity-name="GlReconciliationEntry" engine="simple"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="deleteGlReconciliationEntry" auth="true">
> <description>Remove an Entry from a GlReconciliation</description>
> - <permission-service service-name="basicGeneralLedgerPermissionCheck" main-action="DELETE"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
>
> @@ -195,21 +179,27 @@
> <service name="createAcctgTrans" default-entity-name="AcctgTrans" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="createAcctgTrans" auth="true">
> <description>Create a AcctgTrans record. isPosted is forced to "N"</description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="CREATE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_CREATE"/>
> + </required-permissions>
> <implements service="interfaceAcctgTrans"/>
> <auto-attributes include="pk" mode="OUT" optional="false"/>
> </service>
> <service name="updateAcctgTrans" default-entity-name="AcctgTrans" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="updateAcctgTrans" auth="true">
> <description>Update a AcctgTrans record</description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="UPDATE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_UPDATE"/>
> + </required-permissions>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true"/>
> </service>
> <service name="deleteAcctgTrans" default-entity-name="AcctgTrans" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="deleteAcctgTrans" auth="true">
> <description>Delete a AcctgTrans record</description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="DELETE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_DELETE"/>
> + </required-permissions>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
>
> @@ -227,7 +217,9 @@
> <service name="createAcctgTransEntry" default-entity-name="AcctgTransEntry" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="createAcctgTransEntry" auth="true">
> <description>Add an Entry to a AcctgTrans. Will use baseCurrencyUomId in PartyAcctgPreference if no currencyUomId is in parameters.</description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="CREATE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_CREATE"/>
> + </required-permissions>
> <implements service="interfaceAcctgTransEntry"/>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <override name="acctgTransEntrySeqId" mode="OUT"/>
> @@ -235,14 +227,18 @@
> <service name="updateAcctgTransEntry" default-entity-name="AcctgTransEntry" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="updateAcctgTransEntry" auth="true">
> <description>Update an Entry to a AcctgTrans record</description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="UPDATE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_UPDATE"/>
> + </required-permissions>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <auto-attributes include="nonpk" mode="IN" optional="true"/>
> </service>
> <service name="deleteAcctgTransEntry" default-entity-name="AcctgTransEntry" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="deleteAcctgTransEntry" auth="true">
> <description>Remove an Entry from a AcctgTrans</description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="DELETE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_DELETE"/>
> + </required-permissions>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
>
> @@ -255,11 +251,14 @@
> check that the debits and credits balance out. The idea is that unbalanced transactions can be created here, but they will need
> to be created before they are actually posted, and a later posting service will actually check that the transaction is balanced.
> </description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="CREATE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_CREATE"/>
> + </required-permissions>
> <auto-attributes include="pk" mode="IN" optional="true"/>
> <auto-attributes include="nonpk" mode="IN" optional="true"/>
> <attribute name="acctgTransEntries" type="java.util.List" mode="IN" optional="false"/>
> <attribute name="acctgTransId" type="String" mode="OUT"/>
> + <!-- TODO: make required-permissions tag work here rather than inside the simple XML -->
> </service>
> <service name="calculateAcctgTransTrialBalance" default-entity-name="AcctgTrans" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="calculateAcctgTransTrialBalance" auth="true">
> @@ -272,30 +271,32 @@
> <service name="postAcctgTrans" default-entity-name="AcctgTrans" engine="simple"
> location="org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="postAcctgTrans" auth="true"
> transaction-timeout="600">
> - <description>Post a AcctgTrans and related entries. This will make sure that the time period is not closed and that
> - the sum of the debits and credits are equal.
> + <description>Post a AcctgTrans and related entries. This will make sure that the time period is not closed and that
> + the sum of the debits and credits are equal.
> </description>
> - <permission-service service-name="acctgTransactionPermissionCheck" main-action="CREATE"/>
> + <required-permissions join-type="OR">
> + <check-permission permission="ACCOUNTING" action="_ATX_POST"/>
> + </required-permissions>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> <attribute name="verifyOnly" type="String" mode="IN" optional="true"/>
> </service>
>
> <!-- Miscellaneous Ledger-related services -->
> - <service name="getGlAccountFromAccountType" engine="simple"
> - location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="getGlAccountFromAccountType" auth="true">
> - <description>Look up a GlAccountId first in ProductGlAccount by productId and productGlAccountTypeId, if not found,
> - then in organizationPartyId and glAccountTypeId </description>
> + <service name="getGlAccountFromAccountType" engine="simple"
> + location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="getGlAccountFromAccountType" auth="true">
> + <description>Look up a GlAccountId first in ProductGlAccount by productId and productGlAccountTypeId, if not found,
> + then in organizationPartyId and glAccountTypeId </description>
> <attribute name="organizationPartyId" type="String" mode="IN" optional="false"/>
> <attribute name="glAccountTypeId" type="String" mode="IN" optional="false"/>
> <attribute name="productId" type="String" mode="IN" optional="true"/>
> <attribute name="varianceReasonId" type="String" mode="IN" optional="true"/>
> <attribute name="glAccountId" type="String" mode="OUT" optional="true"/>
> </service>
> - <service name="getInventoryItemOwner" default-entity-name="InventoryItem" engine="simple"
> - location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="getInventoryItemOwner" auth="true">
> - <description>get an ownerPartyId from inventoryItemId </description>
> - <auto-attributes include="pk" mode="IN" optional="false"/>
> - <attribute name="ownerPartyId" type="String" mode="OUT" optional="false"/>
> + <service name="getInventoryItemOwner" default-entity-name="InventoryItem" engine="simple"
> + location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="getInventoryItemOwner" auth="true">
> + <description>get an ownerPartyId from inventoryItemId </description>
> + <auto-attributes include="pk" mode="IN" optional="false"/>
> + <attribute name="ownerPartyId" type="String" mode="OUT" optional="false"/>
> </service>
>
> <!-- Services for the automatic creation of accounting transactions based on business transactions
> @@ -306,13 +307,6 @@
> <attribute name="itemIssuanceId" type="String" mode="IN" optional="false"/>
> <attribute name="acctgTransId" type="String" mode="OUT" optional="true"/>
> </service>
> - <service name="createAcctgTransForInventoryItemCostChange" engine="simple" auth="true"
> - location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createAcctgTransForInventoryItemCostChange">
> - <description>Create accounting transaction when item cost is changed (D: INV_ADJ_VAL, C: INVENTORY_ACCOUNT)</description>
> - <attribute name="inventoryItemId" type="String" mode="IN" optional="false"/>
> - <attribute name="inventoryItemDetailSeqId" type="String" mode="IN" optional="false"/>
> - <attribute name="acctgTransId" type="String" mode="OUT" optional="true"/>
> - </service>
> <!-- DEPRECATED: use createAcctgTransForSalesShipmentIssuance instead -->
> <service name="createAcctgTransForSalesShipment" engine="simple" auth="true"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createAcctgTransForSalesShipment">
> @@ -345,7 +339,7 @@
> <description>Delete a FinAccountTypeGlAccount</description>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
> -
> +
> <!-- VarianceReasonGlAccount Services -->
> <service name="createVarianceReasonGlAccount" default-entity-name="VarianceReasonGlAccount" engine="simple"
> location="org/ofbiz/accounting/finaccount/FinAccountServices.xml" invoke="createVarianceReasonGlAccount" auth="true">
> @@ -364,7 +358,7 @@
> <description>delete a Variance Reason Gl Account</description>
> <auto-attributes include="pk" mode="IN" optional="false"/>
> </service>
> -
> +
> <!-- Permission services -->
> <service name="basicGeneralLedgerPermissionCheck" engine="simple"
> location="component://accounting/script/org/ofbiz/accounting/permissions/PermissionServices.xml" invoke="basePermissionCheck">
> @@ -375,6 +369,14 @@
> location="component://accounting/script/org/ofbiz/accounting/permissions/PermissionServices.xml" invoke="acctgTransactionPermissionCheck">
> <description>Basic General Ledger Permission Checking Logic</description>
> <implements service="permissionInterface"/>
> + </service>
> +
> + <!-- Service for the automatic creation of AcctgTransForPhysicalInventoryVariance, triggered by SECAs -->
> + <service name="createAcctgTransForPhysicalInventoryVariance" engine="simple"
> + location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" invoke="createAcctgTransForPhysicalInventoryVariance">
> + <description>Create an AcctgEntry for Physical Inventory variance</description>
> + <attribute name="physicalInventoryId" type="String" mode="IN" optional="false"/>
> + <attribute name="acctgTransId" type="String" mode="OUT" optional="false"/>
> </service>
>
> </services>
>
>
>