Geschäftsvorfälle kopieren

Mehr
11 Jahre 11 Monate her - 11 Jahre 11 Monate her #1154 von arnd
Geschäftsvorfälle kopieren wurde erstellt von arnd
Hallo!

Bei uns kommt es öfters vor, dass identische Vorfälle mehrfach erfasst werden müssen.
Mit dieser UserQuery, angehängt an Wareneingang und GeschäftsVorfall, kann man vorhandene Vorfälle einfach kopieren.
Das funktioniert auch, falls man einen Vorfall mal versehentlich storniert hat und ihn doch wieder braucht.
Bei Ausführung wird nach einer neuen FremdVorfallNr gefragt und man muss bei der Abfrage 'Sicher' Ja eintippen.
Code:
USE [*300] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Arnd -- Create date: 20120818 -- Description: UserQuery zum Kopieren von Vorfällen -- Kann An Wareneingang und GeschäftsVorfall angehängt werden -- ============================================= CREATE PROCEDURE [dbo].[UserQueryVorfall_kopieren] ( @VorfallKürzel varchar(10), @VorfallNr varchar(8), @Neue_FremdVorfall_Nr varchar(15), @Sicher varchar(5)) AS DECLARE @VNrNeu varchar(8) IF @Sicher <> 'Ja' BEGIN RAISERROR 44447 @Sicher RETURN END IF LEN(@VorfallNr)=0 BEGIN RAISERROR 44447 'Kein Vorfall ausgewählt' RETURN END IF @Sicher='Ja' AND LEN(@VorfallKürzel)> 0 AND @VorfallNr > 0 BEGIN SET @VNrNeu = ( SELECT MAX(VorfallNr) + 1 AS nVNr FROM GeschäftsVorfall GROUP BY VorfallKürzel HAVING (VorfallKürzel = @VorfallKürzel) ) BEGIN INSERT [dbo].[GeschäftsVorfall] ([VorfallKürzel] ,[VorfallNr] ,[Arbeitsplatz] ,[Lieferbedingung] ,[Zahlungsbedingung] ,[KorrNr] ,[VorfallDatum] ,[VKPNr] ,[MwStArt] ,[WartungsvertragNr] ,[Skonto1Prozent] ,[Skonto1Betrag] ,[Skonto2Prozent] ,[Skonto2Betrag] ,[ZahlungsZielNetto] ,[ZahlungsZielSkonto1] ,[ZahlungsZielSkonto2] ,[Status] ,[VersandkostenNetto] ,[AnzahlungBetrag] ,[AnzahlAusdrucke] ,[Zusatztext1] ,[Zusatztext2] ,[Rabatt] ,[Sprache] ,[Währung] ,[Filialnummer] ,[RückstandJN] ,[TeillieferungJN] ,[Wechselkurs] ,[Status1] ,[Status2] ,[GesamtNetto] ,[GesamtBrutto] ,[VersandMwStSatz] ,[Skontofähig] ,[Gewicht] ,[Anzahlung] ,[BonusSumme] ,[PrämienSumme] ,[Abteilung] ,[FremdVorfallNr] ,[FreigabeKz] ,[FreigabeMitarbeiter] ,[Rohertrag] ,[DocumentId] ,[DocumentIdEingang] ,[Ansprechpartner] ,[MemoNr] ,[Gesperrt] ,[ErfasstAm] ,[ErfasstUm] ,[ErfasstVon] ,[VorfallUhrzeit] ,[VerbuchungsParameter]) SELECT VorfallKürzel, @VNrNeu AS VorfallNr, Arbeitsplatz, Lieferbedingung, Zahlungsbedingung, KorrNr, VorfallDatum, VKPNr, MwStArt, WartungsvertragNr, Skonto1Prozent, Skonto1Betrag, Skonto2Prozent, Skonto2Betrag, ZahlungsZielNetto, ZahlungsZielSkonto1, ZahlungsZielSkonto2, 'OFF' AS [Status], VersandkostenNetto, AnzahlungBetrag, AnzahlAusdrucke, Zusatztext1, Zusatztext2, Rabatt, Sprache, Währung, Filialnummer, RückstandJN, TeillieferungJN, Wechselkurs, Status1, Status2, GesamtNetto, GesamtBrutto, VersandMwStSatz, Skontofähig, Gewicht, Anzahlung, BonusSumme, PrämienSumme, Abteilung, @Neue_FremdVorfall_Nr AS FremdVorfallNr, FreigabeKz, FreigabeMitarbeiter, Rohertrag, DocumentId, DocumentIdEingang, Ansprechpartner, MemoNr, Gesperrt, CONVERT(varchar(8), GetDate(), 112) AS ErfasstAm, CONVERT(varchar(5), GetDate(), 108) AS ErfasstUm, ErfasstVon, VorfallUhrzeit, VerbuchungsParameter FROM GeschäftsVorfall WHERE (VorfallKürzel = @VorfallKürzel) AND (VorfallNr = @VorfallNr) END IF (select COUNT(*) from GeschäftsVorfall where VorfallKürzel = @VorfallKürzel and VorfallNr = @VNrNeu)>0 BEGIN INSERT INTO [dbo].[GeschäftsvorfallPosition] ([VorfallKürzel] ,[VorfallNr] ,[ArbeitsPlatz] ,[PositionNummer] ,[ArtikelNr] ,[Einheit] ,[Farbe] ,[Groesse] ,[SerienNummer] ,[FilialNummer] ,[MitarbeiterKürzel] ,[KorrNr] ,[MwStSatzNr] ,[BestellDatenNr] ,[GarantieMonate] ,[VerkaufVermietung] ,[FixKauf] ,[LieferDatum] ,[Text] ,[Menge] ,[GelieferteMenge] ,[EinzelpreisNetto] ,[RabattProzent] ,[RabattBetrag] ,[EinzelpreisBrutto] ,[MwStBetrag] ,[MwStProzent] ,[ZeilenSummeNetto] ,[ZeilenSummeBrutto] ,[RabattBrutto] ,[Status] ,[Status1] ,[Status2] ,[RückstandJN] ,[TeilLieferungJN] ,[Gewicht] ,[BonusBetrag] ,[Abteilung] ,[SammelText] ,[PreisfindungsArt] ,[NatRabattMenge] ,[SerienNummern] ,[Rohertrag] ,[Hierarchie] ,[PositionsArt] ,[Bemerkung] ,[SatzTyp] ,[VKPreis] ,[AnsprechpartnerNr] ,[ReferenzMenge] ,[Paketnummer] ,[FremdPositionsNr] ,[Lagerort] ,[IntraStatID] ,[EAN] ,[Konto] ,[Kostenstelle]) SELECT VorfallKürzel, @VNrNeu AS VorfallNr, ArbeitsPlatz, PositionNummer, ArtikelNr, Einheit, Farbe, Groesse, SerienNummer, FilialNummer, MitarbeiterKürzel, KorrNr, MwStSatzNr, BestellDatenNr, GarantieMonate, VerkaufVermietung, FixKauf, LieferDatum, Text, Menge, GelieferteMenge, EinzelpreisNetto, RabattProzent, RabattBetrag, EinzelpreisBrutto, MwStBetrag, MwStProzent, ZeilenSummeNetto, ZeilenSummeBrutto, RabattBrutto, Status, Status1, Status2, RückstandJN, TeilLieferungJN, Gewicht, BonusBetrag, Abteilung, SammelText, PreisfindungsArt, NatRabattMenge, SerienNummern, Rohertrag, Hierarchie, PositionsArt, Bemerkung, SatzTyp, VKPreis, AnsprechpartnerNr, ReferenzMenge, Paketnummer, FremdPositionsNr, Lagerort, IntraStatID, EAN, Konto, Kostenstelle FROM GeschäftsvorfallPosition WHERE (VorfallKürzel = @VorfallKürzel) AND (VorfallNr = @VorfallNr) END END

Grüße
Arnd.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
11 Jahre 11 Monate her - 11 Jahre 11 Monate her #427 von arnd
arnd antwortete auf Re: Geschäftsvorfälle kopieren
Passend dazu noch eine UserQuery zum Löschen des geoffneten Vorfalls, direkt im 'Geschäftsvorfall erfassen' oder 'Wareneingang'.
Natürlich mit Einschränkung, dass der Status des Vorfalls 'OFF' ist.

Code:
USE [*300] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Arnd -- Create date: 20120818 -- Description: UserQuery zum Löschen von OFF Vorfällen -- Kann An Wareneingang und GeschäftsVorfall angehängt werden -- ============================================= CREATE PROCEDURE [dbo].[UserQueryVorfall_löschen] ( @VorfallKürzel varchar(10), @VorfallNr varchar(8), @Sicher varchar(5)) AS DECLARE @Status varchar(3) SET @Status = (select [Status] from GeschäftsVorfall where VorfallNr = @VorfallNr and VorfallKürzel = @VorfallKürzel) IF @Status <> 'OFF' BEGIN RAISERROR 44447 'VerbuchungsStatus ist nicht OFF. Vorfall kann hier nicht gelöscht werden' RETURN END IF @Sicher <> 'Ja' BEGIN RAISERROR 44447 @Sicher RETURN END IF LEN(@VorfallNr)=0 BEGIN RAISERROR 44447 'Kein Vorfall ausgewählt' RETURN END IF @Sicher='Ja' AND LEN(@VorfallKürzel)> 0 AND @VorfallNr > 0 BEGIN BEGIN DELETE FROM [dbo].[GeschäftsvorfallPosition] WHERE (VorfallKürzel = @VorfallKürzel) AND (VorfallNr = @VorfallNr) END BEGIN DELETE FROM [dbo].[GeschäftsVorfall] WHERE (VorfallKürzel = @VorfallKürzel) AND (VorfallNr = @VorfallNr) END END

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
11 Jahre 1 Tag her - 11 Jahre 1 Tag her #556 von uwa
Hinweis: unter OS.NET wird empfohlen die UQ unter Vorfall erfassen->Aktionen einzubinden. Sonst wird die UQ u.U. mehrfach ausgeführt.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Signum Warenwirtschaftssysteme AG
Kasinostraße 2
DE-64293 Darmstadt

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