[Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

piotrekwu
Posty: 12
Rejestracja: 11 maja 2021, 11:09
Rola: Administrator CDN XL
Wersja: 2019

[Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: piotrekwu »

Cześć,


Potrzebuję napisać filtr, który zwróci listę zleceń produkcyjnych, w których brakuje dokumentów RW lub PW oraz ilość zrealizowana jest większa od 0.

Wiem jak odfiltrować zlecenia po ilości zrealizowanej:

Kod: Zaznacz cały

PZL_Id IN 
(
select PZL_Id from cdn.prodzlecelem as A join cdn.ProdZlecenia on PZL_Id=PZE_Zlecenie 
where
[CDN].[EL_AS_IlosciZrealizowanePozycjiZlecenia](PZE_Zlecenie, PZE_Lp) > 0
)
natomiast nie wiem jak dodatkowo wybrać tylko te PZL_Id, dla których brakuje albo dokumentu RW lub PW.

Będę wdzięczny za pomoc.

Awatar użytkownika
praiser
Posty: 685
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: [Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: praiser »

Trzeba sprawdzić czy zapytanie o powiązania do PW i RW zwraca fałsz

Tutaj jest temat jak wiązać do zleceń takie dokumenty:

viewtopic.php?t=6081
viewtopic.php?f=11&t=1589
--------------------------------
Pozdrawiam
WW

piotrekwu
Posty: 12
Rejestracja: 11 maja 2021, 11:09
Rola: Administrator CDN XL
Wersja: 2019

Re: [Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: piotrekwu »

Dzięki za odpowiedź.

Napisałem coś takiego. Ale niestety filtr zwraca pustą listę.
Zamysł mam taki, żeby pobierać RW i sprawdzać czy ilość jest <= 0
tylko nie jestem pewien czy tutaj dobrze ograniczam to zapytanie.
Jak w SQL wywołam tego select bez ostatniego warunku: AND b.PZL_Id = PZL_Id
to zapytania zwraca ilość wszystkich dokumentów RW w systemie.

Jestem początkujący w tym temacie, a muszę na szybko przygotować taki filtr więc będę wdzięczny za wszelkie wskazówki.

A jeszcze mam pytanie bo w niektórych filtrach jak sprawdzam ich konstrukcję pojawia się taki magiczny zapis {filtrSQL}.
Co on oznacza?

Kod: Zaznacz cały


PZL_Id
in
(

select A.PZL_Id from cdn.prodzlecelem as C join cdn.ProdZlecenia as A on A.PZL_Id=C.PZE_Zlecenie 
where


[CDN].[EL_AS_IlosciZrealizowanePozycjiZlecenia](PZE_Zlecenie, PZE_Lp) > 0
AND

(SELECT     count(*) 
FROM         CDN.TraNag INNER JOIN
                      CDN.TraElem ON CDN.TraNag.TrN_GIDNumer = CDN.TraElem.TrE_GIDNumer INNER JOIN
                      CDN.TraSElem ON CDN.TraElem.TrE_GIDNumer = CDN.TraSElem.TrS_GIDNumer AND CDN.TraElem.TrE_GIDLp = CDN.TraSElem.TrS_GIDLp INNER JOIN
                      CDN.ProdZasoby ON CDN.TraSElem.TrS_ZlcNumer = CDN.ProdZasoby.PZA_Id INNER JOIN
                      CDN.ProdCzynnosci ON CDN.ProdZasoby.PZA_Czynnosc = CDN.ProdCzynnosci.PCZ_Id INNER JOIN
                      CDN.ProdProcesy ON CDN.ProdProcesy.PPC_Id = CDN.ProdCzynnosci.PCZ_Proces INNER JOIN
                      CDN.ProdZlecenia AS b ON b.PZL_Id = CDN.ProdProcesy.PPC_Zlecenie INNER JOIN
                      CDN.OpeKarty ON CDN.TraNag.TrN_OpeNumerZ = CDN.OpeKarty.Ope_GIDNumer
WHERE     (CDN.TraNag.TrN_GIDTyp = 1616) AND b.PZL_Id = PZL_Id

) <= 0
 
)


Awatar użytkownika
praiser
Posty: 685
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: [Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: praiser »

{filtrsql} to warunek z otwartej listy/okna (wywołasz go np. ctrl+wykrzynik albo crtl+drukarka)

warunek istnienia linków można sprawdzić exists (select..) lub not exists (select..)
--------------------------------
Pozdrawiam
WW

piotrekwu
Posty: 12
Rejestracja: 11 maja 2021, 11:09
Rola: Administrator CDN XL
Wersja: 2019

Re: [Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: piotrekwu »

Doprecyzuje może dokładniej o co mi chodzi bo chyba, źle to wcześniej napisałem.
Posłużę się screenem z zakładki procesy w zleceniu produkcyjnym:
Screenshot 2022-04-14 at 11.14.31.jpg
Screenshot 2022-04-14 at 11.14.31.jpg (134.86 KiB) Przejrzano 2235 razy
Dokładnie chodzi o zlokalizowanie takich zleceń, które mają w polu zrealizowane (surowiec lub produkt wynikowy) wartość 0.
W której tabeli są przechowywane te zapisy?

piotrekwu
Posty: 12
Rejestracja: 11 maja 2021, 11:09
Rola: Administrator CDN XL
Wersja: 2019

Re: [Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: piotrekwu »

Chyba udało mi się to zrobić ;)

pozostawiam poniżej dla potomności:

Kod: Zaznacz cały



PZL_Id IN 
(

select pz.PZA_PZLId from cdn.prodzasoby as pz
left join cdn.traselem as tse on tse.TrS_ZlcNumer = pz.PZA_Id and tse.TrS_GIDTyp = 1616
where pz.PZA_PZLId = PZL_Id AND pz.PZA_TypZasobu = 1  AND tse.TrS_GIDNumer IS NULL

)

OR

PZL_Id in
(

select pz.PZA_PZLId from cdn.prodzasoby as pz
left join cdn.traselem as tse on tse.TrS_ZlcNumer = pz.PZA_Id and tse.TrS_GIDTyp = 1617
where pz.PZA_PZLId = PZL_Id AND pz.PZA_TypZasobu = 0  AND tse.TrS_GIDNumer IS NULL

)



Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Re: [Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: Lukas »

Cześć,

chyba nie bardzo to jest poprawny filtr, bo po wrzuceniu pokazuje u mnie przynajmniej zamknięte zlecenia. Później też popatrzę na to, bo w sumie też mi się przyda, chyba, że poprawiłeś coś i jest ok.

orzechus
Posty: 1
Rejestracja: 31 sie 2020, 14:41
Rola: Administrator CDN XL
Wersja: 2019

Re: [Filtr] zlecenia produkcyjne bez dokumentu RW lub PW

Post autor: orzechus »

Witam,
Dopinam się do tematu , filtr działa tylko rzeczywiście dobrze jest aby nie były pokazywane ZP zatwierdzone , wystarczy dodać warunek :
PZL_Status<>'zamknięte'
and

Zatem całość powinna wyglądać :

PZL_Status<>'zamknięte'

and

PZL_Id IN
(

select pz.PZA_PZLId from cdn.prodzasoby as pz
left join cdn.traselem as tse on tse.TrS_ZlcNumer = pz.PZA_Id and tse.TrS_GIDTyp = 1616
where pz.PZA_PZLId = PZL_Id AND pz.PZA_TypZasobu = 1 AND tse.TrS_GIDNumer IS NULL

)

OR

PZL_Id in
(

select pz.PZA_PZLId from cdn.prodzasoby as pz
left join cdn.traselem as tse on tse.TrS_ZlcNumer = pz.PZA_Id and tse.TrS_GIDTyp = 1617
where pz.PZA_PZLId = PZL_Id AND pz.PZA_TypZasobu = 0 AND tse.TrS_GIDNumer IS NULL

)


Pozdrawiam

ODPOWIEDZ