Beschreibung
Das folgende Skript ruft den Realtime-Lagerstand für einzelne Artikel von Ingram-Micro ab.
Voraussetzung
Auftragsverwaltung ab Version 12.1.1
Ablauf des Skripts
1. Der User ruft das Kontextmenü des Artikels auf und geht dort auf die Liste "Lagerstand"
2. Der Skript ruft Asynchron die Webseite von IngramMicro auf und lädt dort den aktuellen Lagerstand.
3. Der Lagerstand wird in der Lagerstand Liste angezeigt.
Installation
Der Skript muss sich im Ordner Scripts\Lagerabfrage befinden und wird beim Start der Anwendung geladen.
Skript
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports Styletronix.AuftragsverwaltungV2.Common
Imports Styletronix.AuftragsverwaltungV2
Imports Styletronix.AuftragsverwaltungV2.IPC
Namespace LagerstandAbfrage
Public Class DynamicCode
Implements ILagerstandabfrage
Implements IPC.IPluginDetails
Public Sub DoQuery(Artikel As Dictionary(Of String, String), Tag As Long) Implements ILagerstandabfrage.DoQuery
Dim dat As New ILagerstandabfrage.LagerstandAbfrageResult
dat.LagerText = "IngramMicro"
dat.Tag = Tag
Try
Dim URL = "http://ec.ingrammicro.de/cgi-bin/avail/avail.pl?CCD=DE&BNR=44&KNR=479629&PWD=TEST&SKU=" & Artikel("Artikelnummer")
Dim cl As New Net.WebClient
dat.Menge = cl.DownloadString(URL)
If String.IsNullOrWhitespace(dat.Menge) Then dat.menge = "Artikel nicht gefunden"
dat.Success = True
Catch e As exception
dat.Menge = "fehler"
dat.Success = False
dat.Beschreibung = e.Message
End Try
RaiseEvent QueryResult(Me, dat)
RaiseEvent QueryCompleted(Me, Tag)
End Sub
Public Event QueryCompleted(sender As Object, Tag As Long) Implements ILagerstandabfrage.QueryCompleted
Public Event QueryResult(sender As Object, e As ILagerstandabfrage.LagerstandAbfrageResult) Implements ILagerstandabfrage.QueryResult
Public ReadOnly Property Plugin_Company As String Implements IPC.IPluginDetails.Plugin_Company
Get
Return "Styletronix.net"
End Get
End Property
Public ReadOnly Property Plugin_Description As String Implements IPC.IPluginDetails.Plugin_Description
Get
Return "Lagerstandanzeige von IngramMicro"
End Get
End Property
Public ReadOnly Property Plugin_Icon As System.Drawing.Image Implements IPC.IPluginDetails.Plugin_Icon
Get
Return Nothing
End Get
End Property
Public ReadOnly Property Plugin_Name As Object Implements IPC.IPluginDetails.Plugin_Name
Get
Return "Lagerstand - IngramMicro"
End Get
End Property
Public ReadOnly Property Plugin_Version As System.Version Implements IPC.IPluginDetails.Plugin_Version
Get
Return New Version(1, 0, 0)
End Get
End Property
End Class
End Namespace