CalculateInventoryValue

Navigation:  Skripts > Diverse Skripte >

CalculateInventoryValue

Previous pageReturn to chapter overviewNext page

Einführung

Dieses Skript wird zur Berechnung des Artikelpreis für die Inventurstatistik verwendet.

 

Einrichtung

Das Skript wird im Hauptmenü unter Systemeinstellungen - > Zusatzmodule -> Lagerstatistik bearbeitet.

 

 

 

Beispiel

Option Infer On
Option Explicit Off
Option Strict Off
 
Imports Styletronix.AuftragsverwaltungV2.Common
Imports Styletronix.AuftragsverwaltungV2
Imports System.Linq
Imports System
Imports System.Data
Imports System.Collections.Generic
Imports Microsoft.VisualBasic
Imports Styletronix.AuftragsverwaltungV2.IPC
Imports System.Drawing
Imports Styletronix.Threading
Imports System.Threading
 
Public Class DynamicCode
 
    Public Shared Sub CalculateInventoryValue(e As CalculateInventoryValueEventArgs)
        Dim art = e.Artikel
        Dim lager = e.Lager
 
        Dim Artikelpreis As Decimal = 0
        Dim Zuschlagpreis As Decimal = 0
        Dim IstEK As Boolean = False
        Dim PreisFertig1 As Decimal = 0
        Dim PreisFertig2 As Decimal = 0
        Dim PreisUnfertig1 As Decimal = 0
        Dim PreisUnfertig2 As Decimal = 0
 
        If Not art.tbl_Warengruppen Is Nothing AndAlso (art.tbl_Warengruppen.Bezeichnung.StartsWith("Erzeugnisse") Or art.tbl_Warengruppen.Bezeichnung.StartsWith("Konsilager")) Then
            Dim Staffel = art.PreisstaffelEx
            If Staffel.Count > 0 Then
                Dim MaxMenge = (From a In Staffel Select a.Menge).Max
 
                Artikelpreis = (From b In Staffel Where b.Artikel.ID = art.ID And b.Menge = MaxMenge Select b.Endpreis).FirstOrDefault
 
                If Artikelpreis <= 0 Then
                    Artikelpreis = If(art.EK_ProLagereinheit, 0)
                    IstEK = True
                Else
                    Artikelpreis = Artikelpreis / art.EinheitFaktor_LagerPreis
                    Zuschlagpreis = (From c In Staffel Where c.Artikel.ID <> art.ID And c.Menge = MaxMenge Select c.Endpreis).Sum
                    Zuschlagpreis = Zuschlagpreis / art.EinheitFaktor_LagerPreis
                End If
            Else
                Artikelpreis = If(art.EK_ProLagereinheit, 0)
                IstEK = True
            End If
        Else
            Artikelpreis = If(art.EK_ProLagereinheit, 0)
            IstEK = True
        End If
 
 
        If IstEK Then
            PreisFertig1 = Artikelpreis
            PreisFertig2 = 0
            PreisUnfertig1 = Artikelpreis
            PreisUnfertig2 = 0
        Else
            PreisFertig1 = Artikelpreis * 0.75
            PreisFertig2 = Zuschlagpreis * 1.0
            PreisUnfertig1 = Artikelpreis * 0.25
            PreisUnfertig2 = Zuschlagpreis * 0.25
        End If
 
 
        If lager.Bezeichnung.Contains("(Unfertig)") Then
            e.AmountPerItem = (PreisUnfertig1 + PreisUnfertig2)
        Else
            e.AmountPerItem = (PreisFertig1 + PreisFertig2)
        End If
 
        e.Handled = True
    End Sub
 
End Class