- Beiträge: 156
- Dank erhalten: 19
Rezepturen drucken
- asu
-
Autor
- Offline
- Moderator
-
Weniger
Mehr
11 Jahre 4 Monate her - 11 Jahre 4 Monate her #780
von asu
"Wer Rechtschreibfehler findet, darf sie behalten."
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."
Bitte Anmelden oder Registrieren um der Konversation beizutreten.