Technologia i ceny użytych częsci

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

Moderator: mikey

dark7117
Posty: 14
Rejestracja: 19 kwie 2024, 00:10
Rola: Inny
Wersja: 2023

Technologia i ceny użytych częsci

Post autor: dark7117 »

Witam serdecznie,
męczę się od jakiegoś czasu z tematem i nie widzę podobnego tematu a mianowicie mam zapytanie które pokazuje mi użyte podzespoły w danej technologii i pobieram sobie ilosci z róznych magazynów oraz wyliczam na ile gotowych produktów mi starczy ale nie wiem jak podpiąć pod to ceny zakupu żeby wyliczyć na końcu wartość kosztów.
Oto moje zapytanie SQL:

"SELECT
PTZ_Kod AS kod,
PTZ_Nazwa AS nazwa,
PTZ_Ilosc AS ilosc,
PTZ_Jednostka jednostka,
CASE
WHEN PTZ_Jednostka = '0' THEN CAST(ROUND(SUM(PTZ_Ilosc), 0) AS INTEGER)
ELSE CAST(ROUND(SUM(PTZ_Ilosc), 2) AS INTEGER)
END AS ilosc_short,
STUFF((
SELECT '|- ' +
FORMAT(s.IloscMag, 'N0') + ' szt. - ' + s.Magazyn + ' -|'
FROM CDN.IFS_Stany s
WHERE CDN.ProdBOM.PTZ_Kod = s.Towar
FOR XML PATH('')
), 1, 2, '') AS stany_magazynowe,
SUM(s.IloscMag) AS razem_ilosc,

CASE
WHEN PTZ_Ilosc <> 0 THEN CAST(ROUND(SUM(s.IloscMag) / PTZ_Ilosc, 2) AS DECIMAL(18,2))
ELSE 0
END AS zapas,
CASE
WHEN PTZ_Ilosc <> 0 THEN CAST(ROUND(SUM(CASE WHEN s.Magazyn IN ('komp', 'temp') THEN s.IloscMag ELSE 0 END) , 2) AS DECIMAL(18,2))
ELSE 0
END AS ilosc_temp_komp,
CASE
WHEN PTZ_Ilosc <> 0 THEN CAST(ROUND(SUM(CASE WHEN s.Magazyn IN ('komp', 'temp') THEN s.IloscMag ELSE 0 END) / PTZ_Ilosc, 2) AS DECIMAL(18,2))
ELSE 0
END AS zapas_temp_komp
FROM CDN.ProdBOM($id)
LEFT JOIN CDN.IFS_Stany s ON CDN.ProdBOM.PTZ_Kod = s.Towar
GROUP BY PTZ_Kod, PTZ_Nazwa, PTZ_Jednostka, PTZ_Ilosc
ORDER BY nazwa;
"

dark7117
Posty: 14
Rejestracja: 19 kwie 2024, 00:10
Rola: Inny
Wersja: 2023

Re: Technologia i ceny użytych częsci

Post autor: dark7117 »

Nikt nie ma pomysłu w której tabeli są te ceny i po jakim polu je połączyć z podzespołami potrzebnymi w technologii ??
Wyciągam to do swojego programu który tworzę w Laravel a nie miałem wcześniej styczności z Comarchem a tych tabel
tam jest mnóstwo i jak widzę niektóre mają po 40 kolumn - masakra :(

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

Re: Technologia i ceny użytych częsci

Post autor: praiser »

czy to nie jest PTZ_Cena DECIMAL(15,4) Cena ewidencyjna w CDN.ProdTechnologiaZasoby ?
--------------------------------
Pozdrawiam
WW

dark7117
Posty: 14
Rejestracja: 19 kwie 2024, 00:10
Rola: Inny
Wersja: 2023

Re: Technologia i ceny użytych częsci

Post autor: dark7117 »

Faktycznie , dzięki za podpowiedź :)
Muszę tylko to jakoś złączyć bo LEFT JOIN od razu sypie błędami.

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

Re: Technologia i ceny użytych częsci

Post autor: praiser »

Tą wartość zwraca funkcja którą użyłeś cdn.prodbom
--------------------------------
Pozdrawiam
WW

dark7117
Posty: 14
Rejestracja: 19 kwie 2024, 00:10
Rola: Inny
Wersja: 2023

Re: Technologia i ceny użytych częsci

Post autor: dark7117 »

Faktycznie , podpiąłem po prostu żeby pokazywał mi tą kolumnę PTZ_Cena ale widzę wszędzie same 0,00 tak jakby nie brał cen zakupu albo ich ktoś w bazie nie uzupełniał - chociaż firma działa towar przychodzi i produkują. Można to jakoś podpiąć pod PZ żeby brał ceny w/g kodu produktu z ostatnich zamówień ?

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

Re: Technologia i ceny użytych częsci

Post autor: praiser »

Nie jestem obeznany z modułem produkcyjnym.

Spróbuj odczytać PKE_Kwota z podłączenia CDN.ProdZasoby warunkiem PTZ_Id=PZA_TechnologiaZasob
następnie CDN.ProdKosztyElem on PZA_ID=PKE_ObiNumer
--------------------------------
Pozdrawiam
WW

dark7117
Posty: 14
Rejestracja: 19 kwie 2024, 00:10
Rola: Inny
Wersja: 2023

Re: Technologia i ceny użytych częsci

Post autor: dark7117 »

Tak to spiąłem ale wszędzie w tej kolumnie mam NULL :(

SELECT
PTZ_Kod AS kod,
PTZ_Nazwa AS nazwa,
PTZ_Ilosc AS ilosc,
PTZ_Jednostka jednostka,
PTZ_Cena cena,
CASE
WHEN PTZ_Jednostka = '0' THEN CAST(ROUND(SUM(PTZ_Ilosc), 0) AS INTEGER)
ELSE CAST(ROUND(SUM(PTZ_Ilosc), 2) AS INTEGER)
END AS ilosc_short,
STUFF((
SELECT '|- ' +
FORMAT(s.IloscMag, 'N0') + ' szt. - ' + s.Magazyn + ' -|'
FROM CDN.IFS_Stany s
WHERE CDN.ProdBOM.PTZ_Kod = s.Towar
FOR XML PATH('')
), 1, 2, '') AS stany_magazynowe,
SUM(s.IloscMag) AS razem_ilosc,

CASE
WHEN PTZ_Ilosc <> 0 THEN CAST(ROUND(SUM(s.IloscMag) / PTZ_Ilosc, 2) AS DECIMAL(18,2))
ELSE 0
END AS zapas,
CASE
WHEN PTZ_Ilosc <> 0 THEN CAST(ROUND(SUM(CASE WHEN s.Magazyn IN ('komp', 'temp') THEN s.IloscMag ELSE 0 END) , 2) AS DECIMAL(18,2))
ELSE 0
END AS ilosc_temp_komp,
CASE
WHEN PTZ_Ilosc <> 0 THEN CAST(ROUND(SUM(CASE WHEN s.Magazyn IN ('komp', 'temp') THEN s.IloscMag ELSE 0 END) / PTZ_Ilosc, 2) AS DECIMAL(18,2))
ELSE 0
END AS zapas_temp_komp,
PKE_Kwota
FROM CDN.ProdBOM(7107)
LEFT JOIN CDN.IFS_Stany s ON CDN.ProdBOM.PTZ_Kod = s.Towar
LEFT JOIN CDN.ProdZasoby on PTZ_Id=PZA_TechnologiaZasob
LEFT JOIN CDN.ProdKosztyElem on PZA_ID=PKE_ObiNumer
GROUP BY PTZ_Kod, PTZ_Nazwa, PTZ_Jednostka, PTZ_Ilosc,PTZ_Cena,PKE_Kwota
ORDER BY nazwa

dark7117
Posty: 14
Rejestracja: 19 kwie 2024, 00:10
Rola: Inny
Wersja: 2023

Re: Technologia i ceny użytych częsci

Post autor: dark7117 »

Post autor: dark7117 » 22 kwie 2024, 19:09

Znalazłem to w programie w module produkcja jak wejdę w konkretną technologię to mogę poprzez wykres i włączyć oblicz.
Widzę wtedy te dane ale skąd program to bierze ???
Mam tam kolumny :
Kod_Surowca_Tech | Nazwa_Surowca_Tech|TowarKod|Towar_Nazwa |.... |Ilosc,Dostawca | Cena | Wartosc | Waluta

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

Re: Technologia i ceny użytych częsci

Post autor: praiser »

Zajrzyj zatem do SQL wykresu.
--------------------------------
Pozdrawiam
WW

ODPOWIEDZ