CalculateInventoryValue
CalculateInventoryValue
Section titled “CalculateInventoryValue”Einführung
Section titled “Einführung”Dieses Skript wird zur Berechnung des Artikelpreis für die Inventurstatistik verwendet.
Einrichtung
Section titled “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 ClassQuelle
Section titled “Quelle”- Ursprungsdatei: calculateinventoryvalue.htm