Autor Wątek: Zestawienie pokazuje zduplikowane symbole i ich stare wersje (?)  (Przeczytany 4401 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Lucus

  • Użytkownik
  • **
  • Wiadomości: 50
  • Reputacja +0/-0
  • Wersja programu: Subiekt Gt 1.70
Hej,

Mam takie zestawienie:
SELECT
tw_symbol,
pwd_data01

FROM
tw__towar

LEFT JOIN pw_Dane ON pwd_IdObiektu = tw_Id

Wynik jest jednak dość dziwny bo pokazuje mi np. dwa razy ten sam symbol, a oprócz tego symbole, które były kiedyś zmieniane.
Np.
Stary symbol produktu to KW1,8.
Został później on jednak zmieniony na KW1.8
I w tym zestawieniu pojawiają się obydwa - z czego to może wynikać?
Symbole były zmieniane przy użyciu zewnętrznego oprogramowania (pominę nazwę bo nie jestem pewien czy można podawać na forum)

W zakładce towary wszystko pojawia się poprawnie, ogólnie stare faktury też w subiekcie wyświetlają się z najnowszymi wersjami symboli.
Ogólnie zestawienia też wydają się działać poprawnie, ale mam wrażenie, że dużo dłużej trwa wyliczanie

Z czego to może wynikać i jak to naprawić?

Offline Lucus

  • Użytkownik
  • **
  • Wiadomości: 50
  • Reputacja +0/-0
  • Wersja programu: Subiekt Gt 1.70
Odp: Zestawienie pokazuje zduplikowane symbole i ich stare wersje (?)
« Odpowiedź #1 dnia: Lipiec 07, 2023, 14:31:23 »
Po uruchomieniu programu ponownie zniknęły stare wersje symbolów, ale wciąż w wynikach wyświetlają się zduplikowane symbole gdzie przy jednym wartość pwd_Data01 jest pusta a przy drugim posiada wartość.
Wiem, że mogę je zlikwidować wpisująć WHERE pwd_Data01 IS NOT NULL, ale nie jestem pewien czy to dobre rozwiązanie (w tym zestawieniu ok, ale jak w innych? np. przy pokazywaniu ilości sprzedanych sztuk?)

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9228
  • Reputacja +1306/-21
  • Wersja programu: Najnowsza
Odp: Zestawienie pokazuje zduplikowane symbole i ich stare wersje (?)
« Odpowiedź #2 dnia: Lipiec 07, 2023, 14:46:51 »
Tabela pw_Dane zawiera pola wielu typów (dokumenty, towary kontrahenci, finanse). Trzeba uściślić w połączeniu  jakiego typu pole chcesz użyć
Sławek, Zduńska Wola

Offline Lucus

  • Użytkownik
  • **
  • Wiadomości: 50
  • Reputacja +0/-0
  • Wersja programu: Subiekt Gt 1.70
Odp: Zestawienie pokazuje zduplikowane symbole i ich stare wersje (?)
« Odpowiedź #3 dnia: Lipiec 11, 2023, 11:51:59 »
Nie chcę śmiecić forum nowymi tematami więc pozwolę sobie do tego tematu zadać jeszcze jedno pytanie:
Mam napisane przez siebie zestawienie sprzedaży, które działa prawidłowo dopóki nie połączę tabel z cechami aby móc wybrać cechy.
Właściwie dokładniej to gdy wyfiltruję w kontrolce tylko po jednej cesze to jest ok, ale jak już towar zawiera kilka cech i po nich wyfiltruje to mi mnoży x razy wartość sprzedaży.
Chwilę się z tym już męczyłem i nie bardzo wiem jak to rozwiązać. Jedyne co mi przyszło do głowy to jakoś wyliczyć ile dany towar posiada cech i dzielić  wartość sprzedaży przez ilość posiadanych cech

Offline Lucus

  • Użytkownik
  • **
  • Wiadomości: 50
  • Reputacja +0/-0
  • Wersja programu: Subiekt Gt 1.70
Odp: Zestawienie pokazuje zduplikowane symbole i ich stare wersje (?)
« Odpowiedź #4 dnia: Lipiec 12, 2023, 13:45:07 »
Nie wiem czy poprawnie, ale poradziłem sobie w poniższy sposób i wygląda na to, że działa - może komuś się przyda:
SELECT
T1.tw_Symbol,
CEILING ({I:Mnożnik:1} * (SUM(T1.Ilosc) /  {I:Ile miesięcy wstecz})) AS StanMin


FROM (SELECT DISTINCT
dok_Id,
ob_Id,
ob_TowId,
tw_Symbol,
(ob_IloscMag * ob_Znak) AS ilosc

FROM vwZstSprzWgKhnt

LEFT JOIN tw__towar ON ob_TowId = tw_Id
LEFT JOIN tw_CechaTw ON ob_TowId = cht_IdTowar

WHERE
dok_MagId = 1
AND
(dok_DataWyst BETWEEN DATEADD(MONTH, - {I:Ile miesięcy wstecz},GETDATE()) AND GETDATE())
AND
ob_TowRodzaj = 1
AND
tw_Zablokowany = 0
AND
 (tw_IdGrupa IN ({CHL_DB: SELECT -1, '(dowolna)' AS "nazwaGrupy" UNION ALL SELECT grt_Id, grt_Nazwa AS "nazwaGrupy" FROM sl_GrupaTw ORDER BY "nazwaGrupy":Grupa:-1:(dowolna)})
        OR
        -1 IN ({CHL_DB: SELECT -1, '(dowolna)' AS "nazwaGrupy" UNION ALL SELECT grt_Id, grt_Nazwa AS "nazwaGrupy" FROM sl_GrupaTw ORDER BY "nazwaGrupy":Grupa:-1:(dowolna)})
        ) --Dwie kontrolki (CHL_DB) mają na celu wymusić domyślnie wybraną opcję [dowolna]
AND
(cht_idCecha IN ({CHL_DB:SELECT -1, '(dowolna)' AS "nazwaCechy" UNION ALL SELECT ctw_id, ctw_Nazwa AS "nazwaCechy" FROM sl_cechaTw ORDER BY "nazwaCechy":Cecha:-1:(dowolna)})
        OR
        -1 IN ({CHL_DB:SELECT -1, '(dowolna)' AS "nazwaCechy" UNION ALL SELECT ctw_id, ctw_Nazwa AS "nazwaCechy" FROM sl_cechaTw ORDER BY "nazwaCechy":Cecha:-1:(dowolna)})   
        ) --Dwie kontrolki (CHL_DB) mają na celu wymusić domyślnie wybraną opcję [dowolna]
) AS T1


GROUP BY
T1.tw_Symbol

Forum Użytkownikow Subiekt GT

Odp: Zestawienie pokazuje zduplikowane symbole i ich stare wersje (?)
« Odpowiedź #4 dnia: Lipiec 12, 2023, 13:45:07 »