IngramMicro Lagerstand

Navigation:  Skripts > Programmerweiterungen > Beispiele > IngramMicro >

IngramMicro Lagerstand

Previous pageReturn to chapter overviewNext page

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