Firma tylko raz kupiła...

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

Moderator: mikey

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 »

HAVING COUNT(*)=1
lub w mojej wersji
having Sum(Tre_Ilosc)=1

tego było trzeba

no to mamy gotowy wykres dla kolegi pokazujący sprzedaż tylko raz w danym okresie dokonana przez jakiego pracownika i bonusowo na jaką wartość :)
ponieważ było dwóch na jednego wklejam wykres kynia i marceynowa

Kod: Zaznacz cały

SELECT
  1 AS Lp,prc_akronim as Pracownik,
  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
INNER JOIN cdn.PrcKarty on Prc_GIDNumer=Knt_akwNumer
WHERE  TrN_GIDTyp=2033 AND TrN_Stan<>6 and  trn_data3 >= ?@D17|Od|Od Dnia:0@? and trn_data3 <=?@D17|Do|Do
Dnia:0@?

GROUP BY Knt_GidNumer, Knt_Nazwa1, Knt_Nazwa2,prc_akronim
HAVING COUNT(*)=1
ORDER BY 'Liczba transakcji', 'Wartość netto sprzedaży' ASC


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

Re: Firma tylko raz kupiła...

Post autor: krystianj »

Hej,
Dzięki za tak szybką odpowiedź i miłe przywitanie ;)
Sprawdzałem wszystkie kody i ostani kod, czyli kod Wojtka mi nie działa (nie zwraca żadnych wyników lub jedną firmę) a wydaje się być tym o co mi chodziło ;)
Z pozostałych kodów zbliżony rezultat jaki chciałem osiągnąć przedstawia kod Koniu

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
tylko jest jedno małe ale... nie pokazuje mi Nazwy kontrahenta - wszędzie jest 0 i nie wiem o co chodzi

Wojtek jak wiesz w czym tkwi problem z tym że nie pokazują mi się żadne wartości to byłbym wdzięczny.
Rób to co kochasz a nigdy nie będziesz pracować ...
ŚwierklanyMakijaż ślubnyProfile aluminiowe

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 »

krystianj pisze:Koniu
:evil:
krystianj pisze:tylko jest jedno małe ale... nie pokazuje mi Nazwy kontrahenta - wszędzie jest 0 i nie wiem o co chodzi
A zaznaczyłeś "Tylko tabela" ??

Kyniu

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

Re: Firma tylko raz kupiła...

Post autor: krystianj »

Przepraszam Kyniu, to się już więcej nie powtórzy ;)

Zaznaczyłem "Tylko tabela" i DZIAŁA !!!

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

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

Re: Firma tylko raz kupiła...

Post autor: krystianj »

Hello,
Dodałem do skryptu funkcjonalność aby dodatkowo można było wybrać okres w jakim ma być sprawdzana firma.
Kod wygląda tak:

Kod: Zaznacz cały

@PAR ?@D17|DataOd|&DataOd:REG={DateClwFirstDay('m')} @? PAR@
@PAR ?@D17|DataDo|&DataDo:REG={DateClwLastDay('m')} @? PAR@

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
INNER JOIN cdn.KntGrupy ON KnG_GIDNumer=Knt_GidNumer
WHERE TrN_GIDTyp=2033 AND TrN_Stan<>6
and trn_data3 >= ??DataOd and trn_data3 <=??DataDo and KnG_GrONumer = 1126
GROUP BY Knt_GidNumer, Knt_Nazwa1, Knt_Nazwa2
ORDER BY 'Liczba transakcji', 'Wartość netto sprzedaży' ASC
Jednak chce zrobić jeszcze jedną rzecz a nie bardzo wiem jak... Mam kontrahentów podzielonych na grupy i chciałbym to sprawdzać jeszcze wybierając daną grupę z listy kontrahentów. Teraz wpisałem to na sztywno KnG_GrONumer = 1126. Mam pytanie czy da się zrobić pod spodem albo przed uruchomieniem wykresu taki formularz w którym wybieramy którą grupę chcemy sprawdzić?
Rób to co kochasz a nigdy nie będziesz pracować ...
ŚwierklanyMakijaż ślubnyProfile aluminiowe

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 »

krystianj pisze:Mam pytanie czy da się zrobić pod spodem albo przed uruchomieniem wykresu taki formularz w którym wybieramy którą grupę chcemy sprawdzić?
Pewnie się da ale na razie natrafiłem na inną zagwozdkę - analiza zakupów (TrN_GIDTyp=1521) pokazała mi jakieś dziwne zakupy - i to jest ich aż 54 - od kontrahenta TrN_KntNumer=0 które bynajmniej nie są anulowanymi transakcjami TrN_Stan<>6 i teraz zaczynam ich szukać i zastanawiać się co to jest i skąd się wzięło.

UPDATE:

No i ciekawostka. Wychodzi na to że są to transakcje kosztowe, wprowadzone przez księgowość, które nie przeszły przez moduł SPRZEDAŻ i nie są widoczne na liście dokumentów ZAKUP/FZ, a kontrahent jest typu JEDNORAZOWY. No to teraz zagadka - jak w TraNag wybrać tylko te zakupy które były zakupami towarów handlowych i kosztów pośrednich (np. transport) a nie liczyć faktur kosztowych typu energia elektryczna czy rozmowy telefoniczne. Tymczasowo zrobiłem to przez TrN_VatRejestr ale "elegancja" tego rozwiązania mi się nie podoba.

Kyniu
Ostatnio zmieniony 23 kwie 2008, 09:05 przez Kyniu, łącznie zmieniany 2 razy.

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 »

Witam
krystianj pisze: Wojtek jak wiesz w czym tkwi problem z tym że nie pokazują mi się żadne wartości to byłbym wdzięczny.
Jeśli piszesz o tym kodzie

Kod: Zaznacz cały

SELECT
  1 AS Lp,prc_akronim as Pracownik,
  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
INNER JOIN cdn.PrcKarty on Prc_GIDNumer=Knt_akwNumer
WHERE  TrN_GIDTyp=2033 AND TrN_Stan<>6 and  trn_data3 >= ?@D17|Od|Od Dnia:0@? and trn_data3 <=?@D17|Do|Do
Dnia:0@?

GROUP BY Knt_GidNumer, Knt_Nazwa1, Knt_Nazwa2,prc_akronim
HAVING COUNT(*)=1
ORDER BY 'Liczba transakcji', 'Wartość netto sprzedaży' ASC
to pewnie dlatego że nie wpisałeś na dole daty w jakim okresie ma sprawdzac
krystianj pisze: Dodałem do skryptu funkcjonalność aby dodatkowo można było wybrać okres w jakim ma być sprawdzana firma.

Miałeś już gotowca z datą :) no i dodatkowo masz tam pracownika ktory dokonal sprzedaz

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: Jednak chce zrobić jeszcze jedną rzecz a nie bardzo wiem jak... Mam kontrahentów podzielonych na grupy i chciałbym to sprawdzać jeszcze wybierając daną grupę z listy kontrahentów. Teraz wpisałem to na sztywno KnG_GrONumer = 1126. Mam pytanie czy da się zrobić pod spodem albo przed uruchomieniem wykresu taki formularz w którym wybieramy którą grupę chcemy sprawdzić?
Pierwsze co mi przyszło do głowy to tak:

Kod: Zaznacz cały

@PAR ?@D17|DataOd|&DataOd:REG={DateClwFirstDay('m')} @? PAR@
@PAR ?@D17|DataDo|&DataDo:REG={DateClwLastDay('m')} @? PAR@
@PAR ?@R(SELECT KgD_GidNumer, KGD_Kod from CDN.KntGrupyDom)|Grupa|&Wybierz Grupe:REG= @? PAR@

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
INNER JOIN cdn.KntGrupyDom ON KGD_GIDNumer=Knt_GidNumer

WHERE TrN_GIDTyp=2033 AND TrN_Stan<>6
and trn_data3 >= ??DataOd and trn_data3 <=??DataDo and KgD_GrONumer = ??Grupa
GROUP BY  Knt_GidNumer,Knt_Nazwa1, Knt_Nazwa2
ORDER BY 'Liczba transakcji', 'Wartość netto sprzedaży' ASC

ale nie działa to tak jak bym chciał :roll: oprócz grup zdefiniowanych wskazuje mi jeszcze jakieś dziwne grupy :shock:

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

Re: Firma tylko raz kupiła...

Post autor: krystianj »

wojtek - to jest dokładnie to o co mi chodziło ;)
a te dziwny grupy są spowodowane tym że jak popatrzysz na tabele z której są pobierane grupy CDN.KntGrupyDom i kolumnę KGD_Kod to oprócz grup zdefiniowanych w programie pojawiają się tam akronimy firm ... więc dodatkowo wprowadziłem do zapytania "SELECT KgD_GidNumer, KGD_Kod from CDN.KntGrupyDom" - "where KGD_GrONumer = 0" i pokazują sie tylko grupy czyli w moim przypadku regiony o które mi chodziło ;)
Poniżej kod:

Kod: Zaznacz cały

    @PAR ?@D17|DataOd|&DataOd:REG={DateClwFirstDay('m')} @? PAR@
    @PAR ?@D17|DataDo|&DataDo:REG={DateClwLastDay('m')} @? PAR@
    @PAR ?@R(SELECT KgD_GidNumer, KGD_Kod from CDN.KntGrupyDom where KGD_GrONumer = '0')|Grupa|&Wybierz Grupe:REG= @? PAR@

    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
    INNER JOIN cdn.KntGrupyDom ON KGD_GIDNumer=Knt_GidNumer

    WHERE TrN_GIDTyp=2033 AND TrN_Stan<>6
    and trn_data3 >= ??DataOd and trn_data3 <=??DataDo and KgD_GrONumer = ??Grupa
    GROUP BY  Knt_GidNumer,Knt_Nazwa1, Knt_Nazwa2
    ORDER BY 'Liczba transakcji', 'Wartość netto sprzedaży' ASC

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 »

no właśnie wiedziałem że coś nie tak :)

ODPOWIEDZ