Hi guys,
I'm looking on a way to get item posting's ledger account. Based on my research, I'm trying to use this function :
LedgerDimensionAccount ledgerDimensionAccount;
InventPosting inventPosting;
InventPostingItemLedgerDimensionParameters searchParameter;
InventTable inventTable = InventTable::findByProduct('xyz');
while select inventPosting group by InventAccountType
{ {
searchParameter = InventPostingItemLedgerDimensionParameters::newFromParameters(inventPosting.InventAccountType, inventTable.ItemId);
ledgerDimensionAccount = InventPosting::itemLedgerDimensionFromParameter(searchParameter);
.
.
}
Looking at the searchParameters, especially from the function /InventPostingItemLedgerDimensionParameters::newFromParameters(inventPosting.InventAccountType, inventTable.ItemId)/, I realized there is something missing for the parameter or mybe in the next function /InventPosting::itemLedgerDimensionFromParameter(searchParameter)/.
That in that function, we cannot differentiate or retrieve the correct ledgerDimensionAccount based on whether it is Stocked item or non stocked item. Since the parameters for the 1st statement only have these :
whereby Stocked or non stocked is handled in Item Model Group.
Meaning if my item posting have setup both posting account type of /Purchase expenditure for product/ and /Purchase expenditure for expense/, it can be wrongly retrieve incorrect ledger account. Unless I have to do some manual condition addition in my code.
Is there any other function for that /Search parameter/ or something else to use that looking at the item is stocked or not to correctly get the ledger account ?
Thanks