Autor Wątek: Zestawienie: towar, cena zakupu i cena kartotekowa  (Przeczytany 47882 razy)

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

Offline Aldo

  • Ekspert
  • *****
  • Wiadomości: 10690
  • Reputacja +433/-13
  • Wersja programu: najnowsza
Odp: Zestawienie: towar, cena zakupu i cena kartotekowa
« Odpowiedź #45 dnia: Październik 22, 2018, 09:54:41 »
Mówimy o tysiącach faktur (ostatni miesiąc), tworzeniu kompletów, wielokrotnym montażu i demontażu.
Zamiast demontażu, który nie jest idealny można po prostu kasować RW i PW związane z danym kompletem.

Offline Kry47

  • Nowy użytkownik
  • *
  • Wiadomości: 11
  • Reputacja +0/-0
  • Wersja programu: 1.60
Odp: Zestawienie: towar, cena zakupu i cena kartotekowa
« Odpowiedź #46 dnia: Styczeń 16, 2021, 09:47:34 »
Witam! Bardzo fajny Kod :)
Chciałbym zadać pytanie bo próbowałem sam dodać ale nic z tego nie wyszło, mianowicie... Chciałbym dodać kolumnę z:
"Ostatnia wartość przychodu" - próbowałem dbo.tw_Cena_X gdzie X wartości od 1-12 i ciągle błąd zapytania
Nazwa ostatniego dostawcy - Jeżeli jeden towar jest od kilku dostawców to jest możliwość wpisania nazwy ostatniego dostawcy?
Data ostatniej dostawy - to gdzieś widziałem na forum to powinienem poradzić sobie
Cena netto, cena detaliczna i zysk na pozycji...

select
'Symbol' = t.tw_Symbol,
'Nazwa' = t.tw_Nazwa,
'Producent' = k.adr_Nazwa,
'Grupa' = g.grt_Nazwa,
'Cena kartotekowa' = isnull(c.tc_CenaNetto0,0),
'Cena ost. zakupu' = isnull(o1.ost_cena,0),
'Cena ost. dostawy' = isnull(o.ost_cena,0),
'Stan' = s.st_Stan,
'Magazyn' = m.mag_Nazwa
from
dbo.tw__Towar t
inner join dbo.tw_Stan s on (s.st_TowId = t.tw_Id)
inner join dbo.sl_Magazyn m on (s.st_MagId = m.mag_Id)
left join dbo.vwKlienci k on (k.kh_id = t.tw_IdProducenta)
left join dbo.sl_GrupaTw g on (t.tw_IdGrupa = g.grt_Id)
left join
(
select
mr_TowId,
mr_data,
mw_data,
ost_cena
from
(
select
mr_TowId,
mr_data,
mr_id,
mw_data,
ost_cena = isnull(b.mw_Cena,0),
rn = row_number() over (partition by mr_TowId order by mr_data desc, mr_id desc, mw_data desc)
from dbo.dok_magruch a
join dbo.dok_magwart b
on (a.mr_SeriaId = b.mw_SeriaId)
where (a.mr_Id = a.mr_seriaId)
) x
where (rn = 1)
) o on (t.tw_Id = o.mr_TowId)
left join
(
select
ob_TowId,
dok_DataWyst,
ost_cena
from
(
select
a.ob_TowId,
d.dok_DataWyst,
ost_cena = isnull(((a.ob_CenaNetto+
   isnull(b.ob_CenaNetto,0))*(a.ob_Ilosc+isnull(b.ob_Ilosc,0))) /
   nullif((a.ob_IloscMag+isnull(b.ob_IloscMag,0)),0),0),
rn = row_number() over (partition by a.ob_TowId order by d.dok_DataWyst desc, d.dok_Id desc)
from dok_Pozycja a
inner join dok__Dokument d on (d.dok_Id = a.ob_DokHanId)
left join dok_Pozycja b on (b.ob_Id = a.ob_DoId)
where d.dok_Typ in (1,5)
) x
where (rn = 1)
) o1 on (t.tw_Id = o1.ob_TowId)
left join dbo.tw_Cena c on (t.tw_Id = c.tc_IdTowar)
where (case when (s.st_Stan = 0) then 2 else 1 end in ({CHL_DB: select stan = 1, stan_nazwa = 'niezerowy' union all select 2, stan = 'zerowy':Stan:1:niezerowy}))
and ( t.tw_IdGrupa  in ({CHL_DB: select grt_Id, grt_Nazwa from dbo.sl_GrupaTw order by grt_Nazwa:Grupa:0:Nie wybrana}))
and ( s.st_MagId   in  ({CHL_DB: select mag_Id, mag_Nazwa from dbo.sl_Magazyn order by mag_Nazwa:Magazyn:0:Nie wybrany}))
order by t.tw_symbol

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4913
  • Reputacja +173/-11
Odp: Zestawienie: towar, cena zakupu i cena kartotekowa
« Odpowiedź #47 dnia: Styczeń 17, 2021, 14:10:24 »
Witam! Bardzo fajny Kod :)
Chciałbym zadać pytanie bo próbowałem sam dodać ale nic z tego nie wyszło, mianowicie... Chciałbym dodać kolumnę z:
"Ostatnia wartość przychodu" - próbowałem dbo.tw_Cena_X gdzie X wartości od 1-12 i ciągle błąd zapytania
Wynik do przewidzenia, bo próbujesz odwołać się do obiektu którego nie ma w bazie danych.
Masz opis tabel w helpie ("Opis struktury zbiorów danych").
Od razu uprzedzam - ostatnia cena zakupu/przychodu itp to są ceny wyliczane na bieżąco (nie są zapisane w tabeli z cenami).
Do takich cen nie ma możliwości odwołania się wprost w zestawieniach własnych SQL. Są wyliczane procedurami składowanymi.
Trzeba sobie samemu to wyliczyć w zestawieniu, ew. np robiąc funkcję.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Forum Użytkownikow Subiekt GT

Odp: Zestawienie: towar, cena zakupu i cena kartotekowa
« Odpowiedź #47 dnia: Styczeń 17, 2021, 14:10:24 »