Skip to main content
Beantwortet

Export Verkaufspreise mit Staffeln und Gruppen 086


Phuc-An Tran
Forum|alt.badge.img

Hallo,

ich ersuche, meine Staffelpreise zu exportieren. Es gibt den Bericht 086. Dieser erzeugt für jeden Artikel, mit jedem Preis und Staffel eine eigene Zeile, was sehr gut ist. Allerdings fehlt die Beziehung der Werte zur Kundengruppe bzw. Kundennummer. Kann mir jemand helfen, das SQL Statement um Kundengruppe und Kundenummer zu erweitern?

Das aktuelle lautet:

SELECT 
p.name_de, 
p.nummer,
p.gueltig_ab, 
p.gueltig_bis,
p.ab_menge, 
p.preis, 
p.waehrung,
p.art
FROM (
(SELECT 'EK' as art, a.nummer, a.name_de, ek.preis, ek.waehrung, ek.ab_menge, '' as gueltig_ab, IF(ek.gueltig_bis = '0000-00-00', 'unbegrenzt', DATE_FORMAT(ek.gueltig_bis, '%d.%m.%Y')) AS gueltig_bis
FROM einkaufspreise ek 
LEFT JOIN artikel a ON ek.artikel = a.id
WHERE a.geloescht = 0)
UNION ALL
(SELECT 'VK' as art, a.nummer, a.name_de, vk.preis, vk.waehrung, vk.ab_menge, IF(vk.gueltig_ab = '0000-00-00', 'aktuell', DATE_FORMAT(vk.gueltig_ab, '%d.%m.%Y')) AS gueltig_ab, IF(vk.gueltig_bis = '0000-00-00', 'unbegrenzt', DATE_FORMAT(vk.gueltig_bis, '%d.%m.%Y')) AS gueltig_bis FROM verkaufspreise vk LEFT JOIN artikel a ON vk.artikel = a.id WHERE a.geloescht = 0) 
) p
ORDER BY p.nummer

 

Danke vorab!

Phuc-An

Beste Antwort von Christian H von digitalXL

@Phuc-An Tran für Einkaufspreise gibt es keine Gruppen. Ansonsten sollte es wie folgt funktionieren:
Du bekommst halt nur die IDs der Gruppe und Adresse ausgegeben. 
 

SELECT 
    p.name_de, 
    p.nummer,
    p.gueltig_ab, 
    p.gueltig_bis,
    p.ab_menge, 
    p.preis, 
    p.waehrung,
    p.art,
    p.adresse,
    p.gruppe
FROM (
    (SELECT 
        'EK' as art, 
        a.nummer, 
        a.name_de, 
        ek.preis, 
        ek.waehrung, 
        ek.ab_menge, 
        '' as gueltig_ab, 
        IF(ek.gueltig_bis = '0000-00-00', 'unbegrenzt', DATE_FORMAT(ek.gueltig_bis, '%d.%m.%Y')) AS gueltig_bis,
        ek.adresse, 
        NULL as gruppe
    FROM 
        einkaufspreise ek 
    LEFT JOIN 
        artikel a ON ek.artikel = a.id
    WHERE 
        a.geloescht = 0)

    UNION ALL

    (SELECT 
        'VK' as art, 
        a.nummer, 
        a.name_de, 
        vk.preis, 
        vk.waehrung, 
        vk.ab_menge, 
        IF(vk.gueltig_ab = '0000-00-00', 'aktuell', DATE_FORMAT(vk.gueltig_ab, '%d.%m.%Y')) AS gueltig_ab, 
        IF(vk.gueltig_bis = '0000-00-00', 'unbegrenzt', DATE_FORMAT(vk.gueltig_bis, '%d.%m.%Y')) AS gueltig_bis,
        vk.adresse, 
        vk.gruppe
    FROM 
        verkaufspreise vk 
    LEFT JOIN 
        artikel a ON vk.artikel = a.id
    WHERE 
        a.geloescht = 0)
) p
ORDER BY 
    p.nummer

 

Original anzeigen
War diese Information hilfreich?

David Tatzl
Partner
Forum|alt.badge.img+4

Hallo @Phuc-An Tran 

du kannst in Xentral die Datenbankansicht aufrufen und darin nachschauen wie das Feld in der Datenbank heisst. Ich tipp auf p.gruppe oder p.kunde für due Felder die du suchst.

 

liebe Grüsse

David


Phuc-An Tran
Forum|alt.badge.img
  • Bekannter Teilnehmer
  • 23. August 2024

Hallo Daniel,

in der Datenbankansicht gibt es “gruppen”, jedoch keine kundennummer.

Ich tue mir schwer, das Script zu verändern. Könntest Du mir beispielhaft im Script zeigen, wie ich p.gruppen abrufe?

Danke

Phuc-An


XenDoIt.de
Partner
Forum|alt.badge.img+5

Hallo @Phuc-An Tran ,

schau gerne mal, ob wir diese Variante des Berichts nicht bereits in unserem Shop haben: https://xendoit.de/?s=preise&post_type=product&type_aws=true

Falls nicht, können wir die Anpassung auch für die vornehmen. Nutze dann das Kontaktformular auf unserer Seite. 

Dein Xendoit-Team


David Tatzl
Partner
Forum|alt.badge.img+4

Hi @Phuc-An Tran 

Alternativ habe ich dir hier auch einen Bericht mit mehr Filtermöglichkeiten. Wenn du nur die Preise Exportieren möchtest. 

Filter:

  • Artikelnummer
  • Artikelkategorie
  • Kunde
  • Kundengruppe
  • Matrixartikel

Preis: 59 EUR


Christian H von digitalXL
Super User
Forum|alt.badge.img+3

@Phuc-An Tran für Einkaufspreise gibt es keine Gruppen. Ansonsten sollte es wie folgt funktionieren:
Du bekommst halt nur die IDs der Gruppe und Adresse ausgegeben. 
 

SELECT 
    p.name_de, 
    p.nummer,
    p.gueltig_ab, 
    p.gueltig_bis,
    p.ab_menge, 
    p.preis, 
    p.waehrung,
    p.art,
    p.adresse,
    p.gruppe
FROM (
    (SELECT 
        'EK' as art, 
        a.nummer, 
        a.name_de, 
        ek.preis, 
        ek.waehrung, 
        ek.ab_menge, 
        '' as gueltig_ab, 
        IF(ek.gueltig_bis = '0000-00-00', 'unbegrenzt', DATE_FORMAT(ek.gueltig_bis, '%d.%m.%Y')) AS gueltig_bis,
        ek.adresse, 
        NULL as gruppe
    FROM 
        einkaufspreise ek 
    LEFT JOIN 
        artikel a ON ek.artikel = a.id
    WHERE 
        a.geloescht = 0)

    UNION ALL

    (SELECT 
        'VK' as art, 
        a.nummer, 
        a.name_de, 
        vk.preis, 
        vk.waehrung, 
        vk.ab_menge, 
        IF(vk.gueltig_ab = '0000-00-00', 'aktuell', DATE_FORMAT(vk.gueltig_ab, '%d.%m.%Y')) AS gueltig_ab, 
        IF(vk.gueltig_bis = '0000-00-00', 'unbegrenzt', DATE_FORMAT(vk.gueltig_bis, '%d.%m.%Y')) AS gueltig_bis,
        vk.adresse, 
        vk.gruppe
    FROM 
        verkaufspreise vk 
    LEFT JOIN 
        artikel a ON vk.artikel = a.id
    WHERE 
        a.geloescht = 0)
) p
ORDER BY 
    p.nummer

 


Phuc-An Tran
Forum|alt.badge.img
  • Bekannter Teilnehmer
  • 28. August 2024

Danke sehr Christian, das funktioniert! Ich musste nur die ids der Kunden und Gruppen gegen deren Namen manuell austauschen


Christian H von digitalXL
Super User
Forum|alt.badge.img+3
Phuc-An Tran schrieb:

Danke sehr Christian, das funktioniert! Ich musste nur die ids der Kunden und Gruppen gegen deren Namen manuell austauschen

Das könnte man bei Bedarf auch noch erweitern. Ist halt aufwendiger, weil diese Informationen in anderen Tabellen in Xentral stehen. 


Antworten


Cookie-Richtlinen

Wir machen Gebrauch von Cookies um Ihr Erlebnis zu personalisieren und zu optimisieren. Wenn Sie zustimmen oder weiter browsen stimmen Sie unseren Bestimmungen bzgl. Cookies zu. Klicken Sie hier um mehr über unsere Cookies zu erfahren.

 
Cookie-Einstellungen