Firma tylko raz kupiła...

Problemy i pomysły związane z funkcjonowaniem modułu Sprzedaż

Moderator: mikey

Awatar użytkownika
krystianj
Posty: 61
Rejestracja: 22 kwie 2008, 10:45
Rola: Administrator CDN XL
Wersja: 9.0 HR1
Lokalizacja: śląsk
Kontakt:

Firma tylko raz kupiła...

Post autor: krystianj »

Witam,
To mój pierwszy post na tym forum, więc chciałem się przywitać z wszystkimi użytkownikami XL'a ;)
Potrzebuje zrobić filtr albo wykres (wszystko jedno) aby pokazać firmy które w ostatnim miesiącu (okres czasu najlepiej jak będzie do wyboru) tylko raz coś kupiły. Dodatkowym atrybutem aby była osoba wykonująca ofertę/zamówienia dla firmy...

Jak coś jest niejasnego to proszę o info.

Pozdrawiam
Rób to co kochasz a nigdy nie będziesz pracować ...
ŚwierklanyMakijaż ślubnyProfile aluminiowe

Awatar użytkownika
wojtek
Posty: 359
Rejestracja: 14 gru 2007, 12:23
Rola: Administrator CDN XL
Wersja: 9.8
Lokalizacja: pomorskie

Re: Firma tylko raz kupiła...

Post autor: wojtek »

krystianj pisze:....tylko raz coś kupiły. Dodatkowym atrybutem aby była osoba wykonująca ofertę/zamówienia dla firmy...
Witam nowego kolegę na forum.

Dla uściślenia: tylko raz coś kupiła z pokazaniem co to było czy suma wszystkich transakcji bez znaczenia jaki towar wyniosła "jeden"

pozdrawiam

Awatar użytkownika
wojtek
Posty: 359
Rejestracja: 14 gru 2007, 12:23
Rola: Administrator CDN XL
Wersja: 9.8
Lokalizacja: pomorskie

Re: Firma tylko raz kupiła...

Post autor: wojtek »

Jeśli co kupił nie ma znaczenia ważne jest tylko czy chociaż raz coś kupił to mniej wiecej bedzie to wygladało tak:

Kod: Zaznacz cały

SELECT  Lp=1,  Akronim=Knt_Akronim,Nazwa=Knt_Nazwa1,prc_akronim as Pracownik,
ilosc=Sum(Tre_Ilosc)
FROM cdn.TraElem
INNER JOIN cdn.TraNag ON Tre_GidNumer=TrN_GidNumer
INNER JOIN cdn.KntKarty On Tre_KntNumer=Knt_GidNumer
INNER JOIN cdn.TwrKarty ON Tre_TwrNumer=Twr_GidNumer
INNER JOIN cdn.PrcKarty on Prc_GIDNumer=Knt_akwNumer

WHERE TrN_GIDTyp=2001

and trn_data3 >= ?@D17|Od|Od Dnia:0@? and trn_data3 <=?@D17|Do|Do
Dnia:0@?
GROUP BY Knt_Akronim,Knt_Nazwa1,prc_akronim
order by  ilosc asc


oczywiście podpinasz to pod wykres na "Liście kontrahentów"

wykres zlicza sume transakcji w danym okresie. dodatkowo zastosowany jest warunek WHERE TrN_GIDTyp=2001 który określa typ transakcji, ja wstawiłem jako typ dokumenty WZ ponieważ najpierw wu=ystawiamy WZ a potem faktury, jeśli u siebie wystawiacie od razu FS to zmieniasz na TrN_GIDTyp=2033.

wykres sortuje sumę transakcji od najmniejszej do najwiekszej, czyli od jednego zakupu do jakiejś tam ilości.

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: Firma tylko raz kupiła...

Post autor: Kyniu »

wojtek pisze:Jeśli co kupił nie ma znaczenia ważne jest tylko czy chociaż raz coś kupił to mniej wiecej bedzie to wygladało tak:
Autorowi chyba nie o to chodziło. Nie interesują go elementy transakcji tylko fakt istnienia transakcji handlowej. Czyli inaczej mówiąc interesują go klienci którzy w zadanym miesiącu mają tylko jeden dokument typu FS lub (S)FS. Trzeba by zatem grupować transakcje sprzedaży po GID'zie kontrahenta, sumując ile ich było, i wyświetlać tylko te gdzie suma transakcji (liczba dokumentów FS/(S)FS) =1. Tak ja rozumiem prośbę.

Szybki rzut oka do archiwum i mamy licznik dokumentów:

Kod: Zaznacz cały

/*Liczba FS*/
SELECT COUNT(TrN_GIDNumer)
FROM CDN.TraNag
WHERE TrN_GIDTyp=2033 AND TrN_Stan<>6 AND TrN_SpiTyp=2033 AND TrN_SpiNumer<>0

/*Liczba (S)FS'*/
SELECT COUNT(TrN_GIDNumer)
FROM CDN.TraNag
WHERE TrN_GIDTyp=2033 AND TrN_Stan<>6 AND TrN_SpiTyp=0 AND TrN_SpiNumer=0
Teraz trzeba by zrobić tak by liczył liczbę dokumentów per kontrahent.

Kyniu

Awatar użytkownika
wojtek
Posty: 359
Rejestracja: 14 gru 2007, 12:23
Rola: Administrator CDN XL
Wersja: 9.8
Lokalizacja: pomorskie

Re: Firma tylko raz kupiła...

Post autor: wojtek »

Kyniu pisze: Autorowi chyba nie o to chodziło. Nie interesują go elementy transakcji tylko fakt istnienia transakcji handlowej.
A jak chcesz sprawdzić czy dany klient coś kupił nie sprawdzając czy została wykonana jakaś transakcja np sprzedażona FS której TrN_GIDTyp=2033
Kyniu pisze: Czyli inaczej mówiąc interesują go klienci którzy w zadanym miesiącu mają tylko jeden dokument typu FS lub (S)FS.
A co ten wykres pokazuje, bierze klienta w danym okresie, sprawdza ile miał transakcji danego typu np WZ czy FS w tym okresie i sumuje je
Kyniu pisze: Trzeba by zatem grupować transakcje sprzedaży po GID'zie kontrahenta, sumując ile ich było, i wyświetlać tylko te gdzie suma transakcji (liczba dokumentów FS/(S)FS) =1. Kyniu
I tu zaczyna się problem ponieważ jak w wykresie wstawić taki warunek " where Sum(Tre_Ilosc)=1" nie udało mi się znaleść rozwiązania, może ktoś wpadł na pomysł.

Dlatego zrobiłem sortowanie malejąco aby na samym początku miał tych klientów dla których suma transakcji danego typu w danym okresie wyniosła 1

wojtek

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: Firma tylko raz kupiła...

Post autor: Kyniu »

wojtek pisze:(...)
Zrobiłem na razie tak:

Kod: Zaznacz cały

SELECT
  1 AS Lp,
  Nazwa=(Knt_Nazwa1 + Knt_Nazwa2),  
  COUNT(*) AS 'Liczba transakcji',
  SUM(Trn_NettoR) AS 'Wartość netto sprzedaży'
FROM CDN.TraNag
INNER JOIN cdn.KntKarty ON Trn_KntNumer=Knt_GidNumer
WHERE TrN_GIDTyp=2033 AND TrN_Stan<>6 
GROUP BY Knt_GidNumer, Knt_Nazwa1, Knt_Nazwa2
ORDER BY 'Liczba transakcji', 'Wartość netto sprzedaży' ASC
Podaje ile było transakcji i na jaką wartość, po czym sortuje po ilości, a w ramach ilości dodatkowo po wartości. Rozbudowa o datę czy inne warunki nie powinna stanowić trudności.

Kyniu

Awatar użytkownika
wojtek
Posty: 359
Rejestracja: 14 gru 2007, 12:23
Rola: Administrator CDN XL
Wersja: 9.8
Lokalizacja: pomorskie

Re: Firma tylko raz kupiła...

Post autor: wojtek »

uzyskałeś dokładnie ten sam efekt powiększony o wartość. Teraz najtrudniejsze, wyświetlić tylko te z wynikiem "1" :) myśle nad tym od godziny i ciągle nic :)

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: Firma tylko raz kupiła...

Post autor: Kyniu »

wojtek pisze:uzyskałeś dokładnie ten sam efekt powiększony o wartość. Teraz najtrudniejsze, wyświetlić tylko te z wynikiem "1" :) myśle nad tym od godziny i ciągle nic :)
Hmmm, Twój wyświetla u mnie coś innego. Ale nie chciało mi się wnikać. Może jakbym ten akronim wywalił byłoby dobrze.

Kyniu

marceynowa
Posty: 341
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: Firma tylko raz kupiła...

Post autor: marceynowa »

A może tak zadziała:

Kod: Zaznacz cały

SELECT
  1 AS Lp,
  Nazwa=(Knt_Nazwa1 + Knt_Nazwa2),  
  COUNT(*) AS 'Liczba transakcji',
  SUM(Trn_NettoR) AS 'Wartość netto sprzedaży'
FROM CDN.TraNag
INNER JOIN cdn.KntKarty ON Trn_KntNumer=Knt_GidNumer
WHERE  TrN_GIDTyp=2033 AND TrN_Stan<>6 
GROUP BY Knt_GidNumer, Knt_Nazwa1, Knt_Nazwa2
HAVING COUNT(*)=1
ORDER BY 'Liczba transakcji', 'Wartość netto sprzedaży' ASC

Kyniu
Posty: 417
Rejestracja: 21 mar 2008, 10:10
Rola: Administrator CDN XL
Lokalizacja: Świętokrzyskie, Kielce

Re: Firma tylko raz kupiła...

Post autor: Kyniu »

marceynowa pisze:A może tak zadziała
Kolega krystianj powinien być usatysfakcjonowany z owoców pracy grupowej ;-)

Kyniu

ODPOWIEDZ