Hallo zusammen,
die Auswertung wird ja über die Ameise ab Version 1.4 möglich sein (issue Tracker Link). Ich hab jetzt schonmal was übergangsweise gebaut, um die Verpackungsgewichte pro Bestellung auszulesen, zu der es eine Rechnung gibt.
Legt euch einfach 2 eigene Felder (dezimal) in den Artikeln an und pflegt dort die Gewichte in Gramm pro Artikel.
Im Code müsst ihr lediglich die IDs der Attribute tauschen. Führt den Code der letzten Zeile aus um rauszufinden, welche IDs eure eigenen Felder haben und ändert die IDs (bei mir 149 und 150) im Code auf eure IDs, fertig ist die Auswertung.
ich hab mir den Code als externe SQL ODBC Datenquelle im Excel hinterlegt und lasse mir die Daten beim Öffnen der Datei aktualisieren - so habe ich immer den aktuellsten Stand. Im Excel kann man dann noch eintragen, was man pro Land lizensiert hat und per bedingter Formatierung warnen, wenn x % der Menge erreicht ist.
Hier mein SQL, ohne Gewähr:
Vielleicht hilft das dem ein oder anderen.
die Auswertung wird ja über die Ameise ab Version 1.4 möglich sein (issue Tracker Link). Ich hab jetzt schonmal was übergangsweise gebaut, um die Verpackungsgewichte pro Bestellung auszulesen, zu der es eine Rechnung gibt.
Legt euch einfach 2 eigene Felder (dezimal) in den Artikeln an und pflegt dort die Gewichte in Gramm pro Artikel.
Im Code müsst ihr lediglich die IDs der Attribute tauschen. Führt den Code der letzten Zeile aus um rauszufinden, welche IDs eure eigenen Felder haben und ändert die IDs (bei mir 149 und 150) im Code auf eure IDs, fertig ist die Auswertung.
ich hab mir den Code als externe SQL ODBC Datenquelle im Excel hinterlegt und lasse mir die Daten beim Öffnen der Datei aktualisieren - so habe ich immer den aktuellsten Stand. Im Excel kann man dann noch eintragen, was man pro Land lizensiert hat und per bedingter Formatierung warnen, wenn x % der Menge erreicht ist.
Hier mein SQL, ohne Gewähr:
SQL:
/*
Zeigt Gewichte für Kunststoff und Papier pro Land für das aktuelle Jahr
*/
SELECT
TLA.cLand AS 'Lieferland'
,SUM(ATS_149.fWertDecimal)/1000 AS 'Papier-Pappe-Karton in kg'
,SUM(ATS_150.fWertDecimal)/1000 AS 'Kunststoffe in kg'
FROM tBestellPos TBP
INNER JOIN tBestellung TB ON TBP.tBestellung_kBestellung = TB.kBestellung
INNER JOIN tRechnung TR ON TB.tRechnung_kRechnung = TR.kRechnung /* Nur Aufträge, wo schon eine Rechnung geschrieben ist */
JOIN tlieferadresse TLA ON TB.kLieferAdresse = TLA.kLieferAdresse
LEFT JOIN tArtikelAttribut AT ON TBP.tArtikel_kArtikel = AT.kArtikel
LEFT JOIN tArtikelAttributSprache ATS_149 ON AT.kArtikelAttribut = ATS_149.kArtikelAttribut And AT.kAttribut = 149 /* 150 = Papier-Pappe-Karton */
LEFT JOIN tArtikelAttributSprache ATS_150 ON AT.kArtikelAttribut = ATS_150.kArtikelAttribut And AT.kAttribut = 150 /* 150 = Kunststoffe */
WHERE TBP.cArtNr <> ''
AND YEAR(TR.dErstellt) = YEAR(getdate()) /* Dieses Jahr */
AND TB.cType = 'B' /* Nur Bestellungen und keine Umlagerungen. Umlagerungen wären Typ U */
GROUP BY TLA.cLand
-- select * from tAttributSprache /* Check der Attribut-ID */
Vielleicht hilft das dem ein oder anderen.