bios-tec Magazin
Immer auf dem neuesten Stand
Unser Magazin bietet Ihnen Infos zu aktuellen Themen aus den Bereichen IT und IT Sicherheit für den Mittelstand.
Zudem können Sie zusätzliche Informationen über unserem Newsletter anfordern.
Immer auf dem neuesten Stand
Unser Magazin bietet Ihnen Infos zu aktuellen Themen aus den Bereichen IT und IT Sicherheit für den Mittelstand.
Zudem können Sie zusätzliche Informationen über unserem Newsletter anfordern.
Sie haben easyWinArt im Laufe des Jahres als ERP System eingeführt und müssen jetzt die gesetzlich vorgeschriebene Inventur machen? Kein Problem! Es gibt eine Inventurfunktion.
Es sei denn Sie haben sich dazu entschieden chargenfähige Artikel zu verwenden. Denn laut Hersteller ist die nicht möglich (es steht zwar nirgends und ist aus meiner Sicht auch nicht logisch, aber man hätte das ja in der 30 tägigen Testphase testen und bemerken können). Wenn man so eine Funktion haben möchte, muss man dies individuell programmieren lassen (Kosten ca. 10T€).
Da wir bei mehreren Kunden easyWinArt im Einsatz haben und die zum Teil auch chargenfähige Artikel verwenden haben wir einen kleinen Workaround für die Inventur entwickelt. Sie benötigen hierfür aber das SDK (Software Developer Kit)
Fügen Sie diesen Text in TriggerFormFramework ein:
#Region “ TriggerFormFramework_NachLoad-Ereignis “Private Sub TriggerFormFramework_NachLoad2(sender As Object, e As FormFrameworkEventArgs) Handles Me.NachLoadTry‚>>> Wenn das Artikel-Fenster goöffnet wird, dann sollen die folgenden Anweisungen ausgeführt werden.If TypeOf sender Is ArtikelFRM ThenDim fehlerText As StringDim tmpDBZ As SQLServerZugriff = Datenbank.DatenDBDim tmpSQL As String = „SELECT “ & TBL.ArtikelLagerBestand.LagerBestandDBL & „,“ & _TBL.ArtikelLagerBestand.TBL & „.“ & TBL.ArtikelLagerBestand.MagazinGUID & „,“ & _TBL.ArtikelLagerBestand.TBL & „.“ & TBL.ArtikelLagerBestand.LagerOrtGUID & „,“ & _TBL.ArtikelLagerBestand.TBL & „.“ & TBL.ArtikelLagerBestand.ArtikelGUID & „,“ & _TBL.ArtikelLagerBestandChargen.TBL & „.“ & TBL.ArtikelLagerBestandChargen.ChargeVC & „,“ & _TBL.ArtikelLagerBestandChargen.TBL & „.“ & TBL.ArtikelLagerBestandChargen.ChargenMengeDBL & _“ FROM “ & TBL.ArtikelLagerBestand.TBL & _“ LEFT OUTER JOIN “ & TBL.ArtikelLagerBestandChargen.TBL & _“ ON “ & TBL.ArtikelLagerBestandChargen.TBL & „.“ & TBL.ArtikelLagerBestandChargen.ArtikelLagerBestandGUID & “ = “ & TBL.ArtikelLagerBestand.TBL & „.“ & TBL.ArtikelLagerBestand.GUID‚>>> Die eben gehollten GUIDs in eine Tabelle niederschreibenDim tmpTable As DataTable = tmpDBZ.BildeDataTableSQL(tmpSQL, TBL.ArtikelLagerBestand.TBL)‚>>> Das Objekt tmpLager erzeugen, um gleich in der Schleife die Tatsächliche Lagerbuchung durchzuführen.Dim tmpLager As New Lager(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False)‚>>> Schleife durchläuft alle Zeilen der tmpTable und bucht bei dem vorgegebenen Lagerort/Magazin Menge 1 ab.For Each zeile As DataRow In tmpTable.RowsDim LagerBestandDBL As Double = C.ToDoubleX(zeile(0)) * (-1)Dim lagerMagazinGUID As Guid = C.ToGuidX(zeile(1))Dim lagerOrtGUID As Guid = C.ToGuidX(zeile(2))Dim artikelGUID As Guid = C.ToGuidX(zeile(3))Dim charge As String = C.ToStringX(zeile(4))Dim chargenMenge As Double = C.ToDoubleX(zeile(5)) * (-1)‚>>> Befehl für die tatsächliche Lagerbuchung.If charge Is Nothing OrElse charge = „“ ThentmpLager.AddLagerBuchung(artikelGUID, LagerBestandDBL, lagerOrtGUID, lagerMagazinGUID, „Inventur 2014“, „Inventur 2014“)ElsetmpLager.AddLagerBuchung(artikelGUID, chargenMenge, lagerOrtGUID, lagerMagazinGUID, „Inventur 2014“, „Inventur 2014“, , , , charge)End IfNext‚>>> Fehler in „fehlerText“ schreiben ?????LagerBuchungsTransaktion????fehlerText = tmpLager.LagerBuchungsTransaktion‚>>> Wenn „fehlerText“ nicht leer dann eine Meldung bringenIf fehlerText <> „“ ThenFkt.Meldung(fehlerText)End IfEnd IfCatch ex As ExceptionThrow New EwaException(ex)End TryEnd Sub#End Region
Buchen Sie den Zählbestand zu jedem Artikel und jeder Charge nach Zählung ein