Friday, 4 December 2009
Sage 200 Write Off Stock Example
Public Function WriteOffStock(ByVal oSale As StockExchange) As Boolean
Using oTran As New Sage.ObjectStore.PersistentObjectTransaction
Using oGoodsInMovment As New Sage.Accounting.Stock.StockWriteOffMovementActivity
'Dim x As Sage.Accounting.Stock.StockWriteOffMovementActivity
Try
Sage.Accounting.Application.AllowableWarnings.Add(oGoodsInMovment, oTypeMaxStockLevel)
Sage.Accounting.Application.AllowableWarnings.Add(oGoodsInMovment, oTypeMinStockLevel)
With oGoodsInMovment
Dim oStockItem As Sage.Accounting.Stock.StockItem = Nothing
oStockItem = ImportCSVInfomationFromMSI.StockItemLookup(oSale.SKU)
If oStockItem Is Nothing Then
oStockItem = ImportCSVInfomationFromMSI.StockItemLookup(oSale.WinPafArticleID)
End If
If oStockItem IsNot Nothing Then
.StockItem = oStockItem
.Location = ImportCSVInfomationFromMSI.BinItemLookup(oStockItem, oSale.FromStoreNumber, "")
.ActivityDate = oSale.DateOfInventory
.Quantity = Math.Abs(oSale.TransferQuantity)
.CostPrice = oStockItem.AverageBuyingPrice
.IssuePrice = oStockItem.AverageBuyingPrice
.SupplierBuyingPrice = oStockItem.AverageBuyingPrice
.Reference = oSale.SalesPersonID
.SecondReference = oSale.WinPafArticleID
.DefaultNarrative = oSale.WinPafArticleID + " " + oSale.SalesPersonID + " " + oSale.FromStoreNumber
.CalculateValues()
.Validate()
'.PLNominalCode = GetStockWriteOffNominalCode()
GetStockWriteOffNominalCode(oGoodsInMovment, oSale)
'.SourceAreaType = Sage.Accounting.SourceAreaTypeEnum.EnumSourceAreaTypeWriteOff
.Update()
oTran.Commit()
Return True
Else
LogFailedInformation(oSale.RawLine)
Throw New Exception("Invalid Stock Code or SKU for stock adjustment out.")
End If
End With
Catch ex As Exception
LogFailedInformation(oSale.RawLine)
LogException(New ImportExecption(ex))
Finally
Sage.Accounting.Application.AllowableWarnings.Delete(oGoodsInMovment, oTypeMaxStockLevel)
Sage.Accounting.Application.AllowableWarnings.Delete(oGoodsInMovment, oTypeMinStockLevel)
End Try
End Using
End Using
End Function
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment