FIN0801 Create Store Transactions
The generation procedure generates new Store Transactions. Their purpose is to distribute the cost, calculated in the Results table of the Distribution document, in the store transaction lines from the Outputs table.
General Information
Module | Finance.CostAccounting |
---|---|
Code | FIN0801 |
Parent Document | Distribution |
Sub-document | Store Transactions |
Full Name | Create store transactions for the distributed amounts |
Status | ACTIVE |
Supports Transitional Documents | NO |
Replaces | GenerateStoreTransactions |
Orphan Rows | Ignore |
Split Function | Output[DistributionResult.OutputLineNo].StoreTransactionLine.StoreTransaction.Store find the Store of the StoreTransaction of the StoreTransactionLine of the Output with LineNo equal to the DistributionResult.OutputLineNo |
Introduced In Version | 2018.2 |
Date of Suspension | - |
Business Logic
The generation procedure is used to create cost store transactions from Distribution document. When the Distribution document calculate the cost distribution amounts for all cost types and all cost objects, these amounts are added in the store for the same product as it is in the original store transaction line (all parameters are copied from the original store transaction - like lots, product variants, serial numbers, store bins and measurement units). The cost store transaction is with quantities of 0 and LineCost carrying the amount from the Distribution. The new store transaction movement type is always Receipt. When created, the document notes are filled with the automatic message of "Generated for cost distribution purposes."
The generation procedure creates separated document for each store from the Distribution document cost objects.
The header of the Store Transaction is created with the following data:
StoreTransaction.Store = DistributionResult.Output[OutputLineNo == Output.LineNo; Distribution == Output.CostDistribution].StoreTransactionLine.StoreTransaction.Store
StoreTransaction.DocumentDate = Distribution.DocumentDate
StoreTransaction.MovementType = Receipt
StoreTransaction.ParentStoreOrder = null
StoreTransaction.CostSource = Document
StoreTransaction.IsScrap = false
StoreTransaction.FromParty = Distribution.EnterpriseCompany.Party
StoreTransaction.ScrapType = null
StoreTransaction.IssuingPerson = null
StoreTransaction.ReceivingPerson = null
StoreTransaction.DocumentCurrency = Distribution.EnterpriseCompany.BaseCurrency
StoreTransaction.ToParty = null
StoreTransaction.DocumentNotes = "Generated for cost distribution purposes."
Note
The attributes which are not specified here are filled in as described in Standard Document Attributes
Note
The new store transaction is saved only if it has at least one row.
Fulfillments
Name | DistributionResultToStoreTransactionLine |
---|---|
Parent Entity | Distribution Result |
Child Entity | StoreTransactionLine |
Parent / Child Relationship | StoreTransactionLine.ParentDocument = DistributionResult.Distribution;StoreTransactionLine.ParentLineNo = DistributionResult.LineNo |
Fulfillment Name | Metric Name | Measurement Unit | Parent Value | Child Value | New Record |
---|---|---|---|---|---|
DistributionResultToStoreTransactionLine | DistributedAmountBase | Distribution.EnterpriseCompany.BaseCurrency | DistributionResult.DistributedAmountBase | StoreTransactionLine.LineCost | YES |
The DistributionResultToStoreTransactionLine fulfilment creates StoreTransactionLines as follows:
StoreTransactionLine.Quantity = 0
StoreTransactionLine.QuantityBase = 0
StoreTransactionLine.Product = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.Product
StoreTransactionLine.OriginalProduct = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.Product
StoreTransactionLine.TransactionTimestamp = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.TransactionTimestamp
StoreTransactionLine.MeasurementUnit = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.MeasurementUnit
StoreTransactionLine.ProductVariant = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.ProductVariant
StoreTransactionLine.SerialNumber = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.SerialNumber
StoreTransactionLine.Lot = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.Lot
StoreTransactionLine.StoreBin = DistributionResult.DistributionOutput[LineNo=OutputLineNo].StoreTransactionLine.StoreBin
StoreTransactionLine.LineCost = REMAINING(DistributedAmountBase)
StoreTransactionLine.LineBaseCost = StoreTransaction.StoreTransactionLine.LineCost
StoreTransactionLine.ParentDocument = Distribution
StoreTransactionLine.ParentLineNo = DistributionResult.LineNo