Gelöschte Artikelnummer als EAN

Mehr
15 Jahre 1 Monat her - 15 Jahre 1 Monat her #686 von arnd
Gelöschte Artikelnummer als EAN wurde erstellt von arnd
Hallo!

Ich fände es ganz praktisch, wenn beim "Löschen" bzw. Verschieben eines Artikels mit vorhandenen Bewegungen, die gelöschte Artikelnummer im Zielartikel als EAN übernommen werden könnte.
Eventuell auch nur, wenn der gelöschte Artikel noch einen Lagerbestand hat.
So könnten Artikel auch wenn sie verschoben wurden, weiter kassiert werden und man müsste keine neuen Etiketten drucken.
Alternativ wäre auch eine Abfrage denkbar, ob für den betroffenen Artikel Etiketten, gemäß Lagerbestand des gelöschten Artikels, mit der neuen Artikelnummer gedruckt werden sollen.

Grüße
Arnd.

Bitte Anmelden um der Konversation beizutreten.

Mehr
14 Jahre 3 Wochen her - 14 Jahre 3 Wochen her #101 von arnd
Hallo !

für das Thema habe ich mir eine kleine Lösung zusamengestellt. Ist wahrscheinlich nicht die Eleganteste, aber bei uns funktioniert sie. Vielleicht kann es ja sonst noch jemand gebrauchen... natürlich auf eigenes Risiko

Viele Grüße
arnd.

Code:
USE [****300] GO /****** Temporäre Tabelle für alte und neue Artikelnummer ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[USER_TempArtNrEAN]( [ArtikelNrAlt] [varchar](20) NOT NULL, [ArtikelNrNeu] [varchar](20) NOT NULL, [Einheit] [smallint] NOT NULL, [Farbe] [smallint] NOT NULL, [Grösse] [varchar](4) NOT NULL, [Typ] [varchar](1) NULL, [DruckEAN] [smallint] NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Trigger für Artikellagerkarte. Kopiert alte und neue Artikelnummer in die USER_TempArtNrEAN******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE Trigger [dbo].[USER_Temp_Artnr_EAN] ON [dbo].[ArtikelLagerkarte] FOR UPDATE AS SET NOCOUNT ON IF (UPDATE([Modul]) AND (SELECT COUNT(*) FROM inserted WHERE [Modul] IS NOT NULL)>0) BEGIN IF (SELECT COUNT(*) FROM inserted Where (left([modul],1)='(' and substring([modul],(Len(inserted.ArtikelNr)+2),2)='):'))>'0' BEGIN delete from USER_TempArtnrEAN insert into dbo.USER_TempArtnrEAN (ArtikelNrAlt, ArtikelNrNeu, Einheit, Farbe, Grösse, Typ, DruckEAN) select distinct d.ArtikelNr, i.ArtikelNr , h.Einheit ,h.Farbe, h.Grösse,NULL as Typ,'0' as DruckEAN from deleted d inner join handelsartikel h on d.ArtikelNr =h.ArtikelNr inner join ArtikelFilialBestand afb on afb.Artikelnr=d.Artikelnr cross join inserted i --where afb.filialnummer=0 and afb.bestand>0 /****** Auskommentiern, wenn nur bei Artikeln mit Bestand ******/ END END GO /****** Trigger fügt alte ArtNr als EAN ein, wenn Artikel gelöscht wird ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE Trigger [dbo].[USER_TempArtnrEAN_Delete] ON [dbo].[Artikel] FOR DELETE AS IF (SELECT COUNT(*) FROM USER_tempArtnrEAN)=1 begin Insert into ean (ArtikelNr, Einheit, Farbe, Grösse, EAN, Typ, DruckEAN) Select ArtikelNrNeu, Einheit,Farbe,Grösse,ArtikelNrAlt,Typ,DruckEAN From USER_tempArtnrEAN t inner join deleted d on t.ArtikelNrAlt =d.ArtikelNr end GO

Bitte Anmelden um der Konversation beizutreten.

Mehr
13 Jahre 11 Monate her - 13 Jahre 11 Monate her #103 von jerhardt
jerhardt antwortete auf Re: Gelöschte Artikelnummer als EAN
Hallo Arnd,

vielen Dank für das Bereitstellen dieser Lösung! "Eingebaut" ist ja nur die Variante, die EANs des zu verschiebenden Artikels mit auf den Zielartikel zu kopieren, die Lösung hier ergänzt das sehr gut für den anderen Fall.

Ich habe den Beitrag - da ja eine Lösung vorhanden ist - in das Forum Tipps&Tricks verschoben. Wir denken aber trotzdem darüber nach, ob wir das als integrierte Funktionalität mit aufnehmen.

Nochmals "Danke" und viele Grüße

erh

Bitte Anmelden um der Konversation beizutreten.

Signum Warenwirtschaftssysteme GmbH
Kasinostraße 2
DE-64293 Darmstadt

Tel: +49 (6151) 15 18 - 0
Fax: +49 (6151) 15 18 - 100
team@signum.info