Rezepturen drucken

Mehr
7 Jahre 10 Monate her - 7 Jahre 10 Monate her #780 von asu
Rezepturen drucken wurde erstellt von asu
Mit Hilfe von einer UserQuery ( Eigene Abfrage ), welche Sie beim Artikel im Kontextmenü anbinden, können Sie sich solch einen Ausdruck Ihrer Rezeptur erstellen. Basis ist in diesem Beispiel die Rezeptur ( Stückliste, geht nachtürlich auch für einen Geschenkkorb ) in der ersten Stufe. Besonderheiten daran sind ein Multifunktionsfeld mit Zubereitungs-Anweisung ( im Beispiel die Nr. 102 ), es sind aber auch weitere Felder wie Kalorien, Inhaltsstoffe usw, denkbar, sowie das beim Artikel hinterlegte Bild. Die Küche soll ja auch wissen, wie es am Ende auszusehen hat . Ebenso wurde in diesem Ausdruck der Verlust in % ( Schwund % ) mit eingebaut, der aus der hinterlegten Bruttomenge die Netto-Menge informativ errechnet. Die Berechnung der Warenkosten ( Wareninsatz in % ) erfolgt ebenso. Ein weiteres Detail ist die Abfrage nach einer Menge beim Start des Drucks für die Mengen-Kalkulation der Komponeten und der Kosten.
CREATE Procedure [dbo].[UserQueryRezeptur]
@100_100 varchar(20), @100_101 smallint
as
SELECT TOP (100) PERCENT 
Stückliste.ArtikelNr, 
ISNULL(UserPreise_2.Verkaufspreis, 0) AS Verkaufspreis, 
Artikel.Kurztext, 
Stückliste.PositionsNummer, 
Stückliste.UArtikelNr, 
Stückliste.UEinheit, 
UserPreise_1.ListenEK, 
Stückliste.Menge, 
Einheit.Bezeichnung, 
Artikel_1.Kurztext AS ArtikelText, 
HandelsArtikel.StücklisteJN AS Typ, 
dbo.UserFunctionMwSt(Artikel.MwStSatz, CONVERT(varchar(8), GETDATE(), 112), 'D')AS [MwSt%], 
ArtikelBild.DateiName, 
UserAHM102.Herstellung AS Herstellung, 
Stückliste.AufteilungProz, 
Artikel_1.Hauptlieferant
FROM Stückliste INNER JOIN
                      Artikel ON Stückliste.ArtikelNr = Artikel.ArtikelNr INNER JOIN
                      Einheit ON Stückliste.UEinheit = Einheit.Einheit INNER JOIN
                      Artikel AS Artikel_1 ON Stückliste.UArtikelNr = Artikel_1.ArtikelNr INNER JOIN
                      HandelsArtikel ON Stückliste.ArtikelNr = HandelsArtikel.ArtikelNr AND Stückliste.Einheit = HandelsArtikel.Einheit AND 
                      Stückliste.Farbe = HandelsArtikel.Farbe AND Stückliste.Grösse = HandelsArtikel.Grösse LEFT OUTER JOIN
                      --subselect für die Herstellungsanweisung
                      (SELECT ArtikelNr, Feldnummer, CONVERT(varchar(500), Memofeld) AS Herstellung FROM ArtikelHatMultiFeld WHERE (Feldnummer = 102))
                      as UserAHM102 ON Stückliste.ArtikelNr = UserAHM102.ArtikelNr LEFT OUTER JOIN
                      ArtikelBild ON Stückliste.ArtikelNr = ArtikelBild.ArtikelNr LEFT OUTER JOIN
                      -- subselect Preise
                      (SELECT     HandelsArtikel.ArtikelNr, HandelsArtikel.Einheit, UserEK.ListenEK, UserVK.Verkaufspreis
FROM         HandelsArtikel LEFT OUTER JOIN
                      --subselect EK
                      (SELECT     dbo.AdressArtikelKondition.ArtikelNr, dbo.AdressArtikelKondition.Einheit, dbo.AdressArtikelKondition.Farbe, dbo.AdressArtikelKondition.Grösse, 
                      dbo.AdressArtikelKondition.ListenEK
FROM         dbo.AdressArtikelKondition INNER JOIN
                      dbo.Artikel ON dbo.AdressArtikelKondition.KorrNr = dbo.Artikel.Hauptlieferant AND dbo.AdressArtikelKondition.ArtikelNr = dbo.Artikel.ArtikelNr)
                      as UserEK 
                      ON HandelsArtikel.Grösse = UserEK.Grösse AND HandelsArtikel.Farbe = UserEK.Farbe AND 
                      HandelsArtikel.Einheit = UserEK.Einheit AND HandelsArtikel.ArtikelNr = UserEK.ArtikelNr LEFT OUTER JOIN
                      --subselect VK
                      (SELECT ArtikelNr, Einheit, Farbe, Grösse, Verkaufspreis from dbo.ArtikelVkPreise WHERE (Filialnummer = 0) AND (VKPNr = 1))
                      as UserVK 
                      ON HandelsArtikel.Grösse = UserVK.Grösse AND HandelsArtikel.Farbe = UserVK.Farbe AND 
                      HandelsArtikel.Einheit = UserVK.Einheit AND HandelsArtikel.ArtikelNr = UserVK.ArtikelNr)
                       AS UserPreise_2 
                      ON Stückliste.Einheit = UserPreise_2.Einheit AND Stückliste.ArtikelNr = UserPreise_2.ArtikelNr LEFT OUTER JOIN
                      -- subselect Preise
                      (SELECT     HandelsArtikel.ArtikelNr, HandelsArtikel.Einheit, UserEK.ListenEK, UserVK.Verkaufspreis
FROM         HandelsArtikel LEFT OUTER JOIN
                      --subselect EK
                      (SELECT     dbo.AdressArtikelKondition.ArtikelNr, dbo.AdressArtikelKondition.Einheit, dbo.AdressArtikelKondition.Farbe, dbo.AdressArtikelKondition.Grösse, 
                      dbo.AdressArtikelKondition.ListenEK
FROM         dbo.AdressArtikelKondition INNER JOIN
                      dbo.Artikel ON dbo.AdressArtikelKondition.KorrNr = dbo.Artikel.Hauptlieferant AND dbo.AdressArtikelKondition.ArtikelNr = dbo.Artikel.ArtikelNr)
                      as UserEK 
                      ON HandelsArtikel.Grösse = UserEK.Grösse AND HandelsArtikel.Farbe = UserEK.Farbe AND 
                      HandelsArtikel.Einheit = UserEK.Einheit AND HandelsArtikel.ArtikelNr = UserEK.ArtikelNr LEFT OUTER JOIN
                      --subselect VK
                      (SELECT ArtikelNr, Einheit, Farbe, Grösse, Verkaufspreis from dbo.ArtikelVkPreise WHERE (Filialnummer = 0) AND (VKPNr = 1))
                      as UserVK 
                      ON HandelsArtikel.Grösse = UserVK.Grösse AND HandelsArtikel.Farbe = UserVK.Farbe AND 
                      HandelsArtikel.Einheit = UserVK.Einheit AND HandelsArtikel.ArtikelNr = UserVK.ArtikelNr)
                       AS UserPreise_1 
                      ON Stückliste.UEinheit = UserPreise_1.Einheit AND Stückliste.UArtikelNr = UserPreise_1.ArtikelNr 
WHERE     (Stückliste.ArtikelNr = @100_100) AND (Stückliste.Einheit = @100_101)
ORDER BY Stückliste.PositionsNummer

"Wer Rechtschreibfehler findet, darf sie behalten."
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.