easyWinArt

easyWinArt Inventur von Chargenfähigen Artikeln

Wir haben den Workaround. Jetzt können auch sie chargenfähige Artikel zählen

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)
  1. Projekt anlegen (Name: z.B.: Inventur 2014) – zur Nachvollziehbarkeit
  2. Sich selbst als Lieferanten anlegen
  3. Sicherung der Datenbank, der Config und der User Reports (Link ?)
  4. Lagerbestände mittels Skript leeren (Skript erstellt zu jedem Bestand eine Buchung *-1 und einen Eintrag im Lagerjournal mit der Bemerkung „Inventur 2014“
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

  1. Erstellen Sie über das Projekt Eingangslieferung(en) – zur Nachvollziehbarkeit
Buchen Sie den Zählbestand zu jedem Artikel und jeder Charge nach Zählung ein
  1. Über die Lagerbestandsliste können Sie dann eine Inventurliste erstellen.
UPDATE vom 05.12.2016:7. Nachdem die Lagerbestände zurückgesetzt wurden muss die SDK-Funktion wieder deaktiviert werden.– easyWinArt beenden– Funktion im SDK auskommentieren– SDK neu kompilieren– easyWinArt erneut starten
0 Antworten

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Feel free to contribute!

Schreibe einen Kommentar