wydruk zamówienia - pozycje niezrealizowane
Moderator: mikey
Re: wydruk zamówienia - pozycje niezrealizowane
A czy jest możliwość utworzenia takiego filtra, który wyświetli zamówienia do których przypisane są zasoby do wszystkich elementów zamówienia?
Re: wydruk zamówienia - pozycje niezrealizowane
Nie bardzo rozumię tą część zdania:
Chodzi ci, aby filtr pokazał zamówienia niezrealizowane, które już możesz w całości zrealizować, ponieważ brakujący towar już znajduje się na magazynie?arekp pisze:wyświetli zamówienia do których przypisane są zasoby do wszystkich elementów zamówienia?
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: wydruk zamówienia - pozycje niezrealizowane
Dokładnie mam na myśli taką sytuacjęChodzi ci, aby filtr pokazał zamówienia niezrealizowane, które już możesz w całości zrealizować, ponieważ brakujący towar już znajduje się na magazynie?
Re: wydruk zamówienia - pozycje niezrealizowane
Kod: Zaznacz cały
ZaN_GIDNumer in (
SELECT DISTINCT REZ1.Rez_ZrdNumer
FROM CDN.Rezerwacje REZ1
LEFT JOIN (SELECT TwZ_TwrNumer, SUM(TwZ_Ilosc) MagIl
FROM CDN.TwrZasoby
GROUP BY TwZ_TwrNumer
) MagIlosc ON MagIlosc.TwZ_TwrNumer = Rez_TwrNumer
LEFT JOIN ( SELECT COUNT(src.Mag) Licznik_Mag, src.Mag
FROM(
SELECT Rez_ZrdNumer as 'Mag'
FROM CDN.TwrZasoby
JOIN CDN.Rezerwacje ON Rez_TwrNumer = TwZ_TwrNumer
GROUP BY TwZ_TwrNumer, Rez_ZrdNumer
) src
GROUP BY src.Mag
) Magazyn ON Magazyn.Mag = REZ1.Rez_ZrdNumer
LEFT JOIN ( SELECT COUNT(Rez_ZrdNumer) Licznik_Rez, Rez_ZrdNumer
FROM CDN.Rezerwacje
GROUP BY Rez_ZrdNumer
) Rezerwacje ON Rezerwacje.Rez_ZrdNumer = REZ1.Rez_ZrdNumer
WHERE Magazyn.Licznik_Mag = Rezerwacje.Licznik_Rez
GROUP BY Rez_ZrdTyp, Rez1.Rez_ZrdNumer, Rez_ZrdLp, Rez_TwrNumer, MagIl, Licznik_Mag, Rezerwacje.Licznik_Rez
HAVING ((CAST(SUM(ISNULL(Rez_Ilosc,0) - ISNULL(Rez_IloscMag,0) - ISNULL(Rez_Zrealizowano,0) - ISNULL(Rez_IloscImp,0) - ISNULL(Rez_IloscSAD,0) - ISNULL(Rez_IloscSSC,0)) as DECIMAL(10,0))) < (ISNULL(MagIlosc.MagIl, 0)))
)
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: wydruk zamówienia - pozycje niezrealizowane
Filtr świetnie działa, pokazuje zamówienia w których niektóre elementy mają już przypisane zasoby, a czy można go zmodyfikować tak, aby wyświetlał zamówienia w których zasoby są przypisane do wszystkich elementów?
Re: wydruk zamówienia - pozycje niezrealizowane
Czyli ma pokazywać zamówienia dla których są już stany dla wszystkich elementów na magazynie i są one zarezerowane?
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: wydruk zamówienia - pozycje niezrealizowane
są zarezerwowane i mają przypisaną dostawę.Czyli ma pokazywać zamówienia dla których są już stany dla wszystkich elementów na magazynie i są one zarezerowane?
Re: wydruk zamówienia - pozycje niezrealizowane
Bry
Nie miałem czasu, aby wcześniej się tym zająć, ale udało się w końcu.
Proszę o to filtr:
Nie miałem czasu, aby wcześniej się tym zająć, ale udało się w końcu.
Proszę o to filtr:
Kod: Zaznacz cały
SELECT REZ1.Rez_ZrdNumer
FROM CDN.Rezerwacje REZ1
LEFT JOIN (SELECT TwZ_TwrNumer, SUM(TwZ_Ilosc) MagIl
FROM CDN.TwrZasoby
JOIN CDN.TwrKarty ON TwZ_TwrTyp = Twr_GIDTyp AND TwZ_TwrNumer = Twr_GIDNumer
WHERE Twr_Typ in (1,2)
GROUP BY TwZ_TwrNumer
) MagIlosc ON MagIlosc.TwZ_TwrNumer = Rez_TwrNumer
LEFT JOIN ( SELECT COUNT(src.Mag) Licznik_Mag, src.Mag
FROM(
SELECT Rez_ZrdNumer as 'Mag'
FROM CDN.TwrZasoby
JOIN CDN.Rezerwacje ON Rez_TwrNumer = TwZ_TwrNumer
JOIN CDN.TwrKarty ON Rez_TwrTyp = Twr_GIDTyp AND Rez_TwrNumer = Twr_GIDNumer
WHERE Twr_Typ in (1,2)
GROUP BY TwZ_TwrNumer, Rez_ZrdNumer
) src
GROUP BY src.Mag
) Magazyn ON Magazyn.Mag = REZ1.Rez_ZrdNumer
LEFT JOIN ( SELECT COUNT(Rez_ZrdNumer) Licznik_Rez, Rez_ZrdNumer
FROM CDN.Rezerwacje
JOIN CDN.TwrKarty ON Rez_TwrTyp = Twr_GIDTyp AND Rez_TwrNumer = Twr_GIDNumer
WHERE Twr_Typ in (1,2)
GROUP BY Rez_ZrdNumer
) Rezerwacje ON Rezerwacje.Rez_ZrdNumer = REZ1.Rez_ZrdNumer
LEFT JOIN ( SELECT COUNT(Rez_DstNumer) Licznik_Dst, Rez_ZrdNumer
FROM CDN.Rezerwacje
JOIN CDN.TwrKarty ON Rez_TwrTyp = Twr_GIDTyp AND Rez_TwrNumer = Twr_GIDNumer
where Twr_Typ in (1,2) AND Rez_DstNumer > 0
GROUP BY Rez_ZrdNumer, Rez_DstNumer
) Dostawy ON Dostawy.Rez_ZrdNumer = REZ1.Rez_ZrdNumer
JOIN CDN.TwrKarty ON Rez1.Rez_TwrTyp = Twr_GIDTyp AND Rez1.Rez_TwrNumer = Twr_GIDNumer
WHERE Twr_Typ in (1,2) AND Rezerwacje.Licznik_Rez = Dostawy.Licznik_Dst AND Magazyn.Licznik_Mag = Rezerwacje.Licznik_Rez
GROUP BY Rez1.Rez_ZrdNumer, MagIlosc.MagIl
HAVING ((CAST(SUM(ISNULL(Rez_Ilosc,0) - ISNULL(Rez_IloscMag,0) - ISNULL(Rez_Zrealizowano,0) - ISNULL(Rez_IloscImp,0) - ISNULL(Rez_IloscSAD,0) - ISNULL(Rez_IloscSSC,0)) as DECIMAL(10,0))) <= (ISNULL(MagIlosc.MagIl, 0)))Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: wydruk zamówienia - pozycje niezrealizowane
Nie prościej tak?
Jeżeli na bieżąco weryfikuje się poprawność rezerwacji w systemie, to nie ma potrzeby porównywać ilości.
Pozdrawiam,
Mateusz
Kod: Zaznacz cały
SELECT Rez_ZrdNumer
FROM
(
SELECT *
FROM CDN.Rezerwacje
WHERE Rez_ZrdTyp = 960
) AS Wew
WHERE
EXISTS (SELECT 1 FROM CDN.TwrZasoby WHERE TwZ_DstNumer = Rez_DstNumer) -- Wyeliminowanie błędów (XL czasami zostawia takie śmieci - najlepiej to wyczyścić osobnym skryptem)
GROUP BY Rez_ZrdNumer
HAVING SUM(CASE WHEN Rez_DstNumer <> 0 THEN 1 ELSE 0 END) = COUNT(Rez_GIDNumer) -- Sprawdzenie czy każda pozycja ma w pełni przypisany zasób
Pozdrawiam,
Mateusz
Re: wydruk zamówienia - pozycje niezrealizowane
Jasne, że prościej, ale u mnie w firmie to się nie zda, gdyż przetestowałem twój filtr i pokazuje mi zlecenia, gdzie np. mam do realizacji 10szt., 2szt. już przyszły a 8 szt. nadal nie ma dostawy określonej.
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz