Witam,
Może się komuś przyda:
Wersja 1:
--------------START-----------------
SET NOCOUNT ON;
IF (select Ope_Ident from cdn.OpeKarty where Ope_Ident={_QXLOpeIdent()}) in ('[Kto ma dostęp]')
BEGIN
@PAR ?@S20|wgo1|&Produkt: @? @U() PAR@
select distinct PZL_Id AS id-- TrN_GIDNumer, TrN_TrNTyp, TrN_FrsID, TrN_Data2
,case
when trn.TrN_GIDTyp = 1617 then 'PW-'
when trn.TrN_GIDTyp = 1616 then 'RW-'
end
+ CONVERT(varchar, trn.TrN_TrNNumer) + '/' + CONVERT(varchar, trn.TrN_TrNRok - 2000) + '/' + CONVERT(varchar, trn.TrN_TrNMiesiac) [RW]
,'ZP-'+CONVERT (varchar,PZL_Numer)+'/'+ CONVERT(varchar, PZL_Rok-2000)+'/'+ CONVERT(varchar, PZL_Seria)+'/'+CONVERT (varchar,PZL_Miesiac) [ZP]
,(DATEADD(day,PZL_DataWystawienia,CONVERT(DATETIME,'1800-12-28',120))) [Data_wys_ZP]
,PTC_Kod [Kod Czynnosci]
,ProdCzynnosci.PCZ_Ilosc [Ilość zamówiona]
,ProdTechnologia.PTE_Kod [Kod Technologii]
,t1.Twr_Nazwa [Nazwa Materialu]
,t.Twr_Kod [Kod Materiału]
,t.Twr_Nazwa [Nazwa]
--,TIS.TrS_Ilosc [Ilosc = RW-RWK ]
--,PTZ_Ilosc [Wskaźnik(ilosc wg TP /1 szt)]
--,(PTZ_Ilosc * PCZ_Ilosc) [Ilość zużyta wg TP]
--,TIS.TrS_Ilosc - (PTZ_Ilosc * PCZ_Ilosc) [Różnica]
,PKE_Kwota [Koszt materiału]
,(PKE_Kwota / ProdCzynnosci.PCZ_Ilosc) [Koszt jednostkowy materału]
--,trk.TrN_DokumentObcy [Korekta]
--,tre.TrE_Ilosc
--,tek.TrE_Ilosc [Korekta o]
from cdn.ProdZlecenia
inner join cdn.ProdProcesy on PZL_Id=PPC_Zlecenie
inner join cdn.ProdCzynnosci on ppc_id = pcz_proces
inner join cdn.ProdZasoby on PCZ_Id = PZA_Czynnosc
inner join cdn.ProdTechnologiaCzynnosci on PCZ_TechnologiaCzynnosc = PTC_Id
inner join cdn.ProdTechnologia on ProdTechnologiaCzynnosci.PTC_Technologia = ProdTechnologia.PTE_Id
inner join cdn.ProdKosztyElem on PZA_Id=PKE_ObiNumer
left join cdn.TraSElem on ProdZasoby.PZA_Id = TraSElem.TrS_ZlcNumer
inner join cdn.TwrKarty t1 on ProdTechnologia.PTE_TwrNumer = t1.Twr_GIDNumer
left join cdn.TraNag trn on TraSElem.TrS_GIDNumer = trn.TrN_GIDNumer
left join cdn.TraElem tre on TraSElem.TrS_GIDLp = tre.TrE_GIDLp and TraSElem.TrS_GIDNumer = tre.TrE_GIDNumer and TraSElem.TrS_GIDTyp = tre.TrE_GIDTyp
left join cdn.TwrKarty t on tre.TrE_TwrNumer = t.Twr_GIDNumer
inner join CDN.ProdTechnologiaZasoby on PTC_Id = PTZ_TechnologiaCzynnosc and PTZ_Kod = t.Twr_Kod and PTZ_ZrodloZasobu <> 1
--Musisz wykorzystać tabelę traselem w trs_zlctyp i trs_zlcnumer wpisane są gidy z tabeli prod_zasoby, z prod_zasoby łączysz się do prod_czynnosci
--następnie do prod_procesy i w koncu do prod_zlecenia
where
trn.TrN_GIDTyp in (1616) and (trn.TrN_FrsID IN( 12, 14, 13, 57))
and (ProdTechnologia.PTE_Kod like ??wgo1 +'%' )
and ?@s255_NQ|FiltrApp|Filtr z aplikacji:@?
END
ELSE
RAISERROR('#CDN_INFO/# #CDN_1=Nie posiadasz uprawnień do wygenerowania wykresu!/# #CDN_2=Skontaktuj się z administraotrem./# #CDN_3=Skontaktuj się z administratorem/#',16,1)
-------------KONIEC-----------------
SET NOCOUNT OFF
Koszty materiałów na Zleceniu produkcyjnym:
Moderator: mikey
Re: Koszty materiałów na Zleceniu produkcyjnym:
Wersja 2:
+ Widok
Kod: Zaznacz cały
--------------START-----------------
SET NOCOUNT ON;
IF (select Ope_Ident from cdn.OpeKarty where Ope_Ident={_QXLOpeIdent()}) in ('[Kto może wygenerowac wykres')
BEGIN
@PAR ?@S20|wgo1|&Produkt: @? @U() PAR@
/****** Script for SelectTopNRows command from SSMS ******/
SELECT
--max([id]) as [id],
max([PZL_Id]) as [PZL_Id]
,MAX([ZP]) as ZP
-- ,max([PTC_Id]) as [PTC_Id]
,max([Technologia]) as [Wyrob_Gotowy]
-- ,max([PTC_Technologia]) as [PTC_Technologia]
,max([Czynnosc]) as [Czynnosc]
-- ,max([Twr_Numer]) as [Twr_Numer]
,max([Material]) as [Material]
--,max([PTE_Id]) as [PTE_Id]
-- ,PTZ_Id as [PTZ_Id]
,max([Kod_Nazwa]) as [Kod_Nazwa]
,max([Ilosc_proc]) as [Ilosc_proc]
,sum([Wydano]) as [Wydano]
,sum([Koszt_materialu]) as [Koszt_materialu]
,sum([Koszt_jednostkowy_materialu]) as [Koszt_jednostkowy_materialu]
,max([Atr_Wartosc]) as [Atr_Wartosc]
FROM [CDNXL_2x3].[dbo].[koszty_mat_na_zleceniach_prod]
where --PZL_Id=3537
-- filtrPZL_Id=3320-- and pte.PTE_Kod = 'M-T-TW-0001'
---- and [Technologia] = 'P-F-AL-0845'
-- and [Technologia] = '96010-11900'
([Technologia] like ??wgo1 +'%' )
and ?@s255_NQ|FiltrApp|Filtr z aplikacji:@?
--and {filtrSQL}
and [Technologia] <> [Material] -- nie pokazuj wyrobów gotowych
group by PTZ_Id
END
ELSE
RAISERROR('#CDN_INFO/# #CDN_1=Nie posiadasz uprawnień do wygenerowania wykresu!/# #CDN_2=Skontaktuj się z administraotrem./# #CDN_3=Skontaktuj się z administratorem/#',16,1)
-------------KONIEC-----------------
SET NOCOUNT OFF
Kod: Zaznacz cały
SELECT TOP (100) PERCENT 1 AS id, pzl.PZL_Id, 'ZP-' + CONVERT(varchar, pzl.PZL_Numer) + '/' + CONVERT(varchar, pzl.PZL_Rok - 2000) + '/' + CONVERT(varchar,
pzl.PZL_Seria) + '/' + CONVERT(varchar, pzl.PZL_Miesiac) AS ZP, PTC.PTC_Id, PTC.PTC_Technologia, PTC.PTC_Kod AS Czynnosc, PTE.PTE_TwrNumer AS Twr_Numer,
PTZ.PTZ_Id, PTZ.PTZ_Kod AS Material, PTE.PTE_Id, PTE.PTE_Kod AS Technologia, TK.Twr_Nazwa AS Kod_Nazwa, pcz.PCZ_Ilosc AS Ilosc_proc,
pza.PZA_Ilosc AS Wydano, CDN.ProdKosztyElem.PKE_Kwota AS Koszt_materialu,
CDN.ProdKosztyElem.PKE_Kwota / pcz.PCZ_Ilosc AS Koszt_jednostkowy_materialu, CDN.Atrybuty.Atr_Wartosc
FROM CDN.ProdZlecenia AS pzl LEFT OUTER JOIN
CDN.ProdProcesy AS ppc ON pzl.PZL_Id = ppc.PPC_Zlecenie LEFT OUTER JOIN
CDN.ProdCzynnosci AS pcz ON ppc.PPC_Id = pcz.PCZ_Proces LEFT OUTER JOIN
CDN.ProdZasoby AS pza ON pcz.PCZ_Id = pza.PZA_Czynnosc LEFT OUTER JOIN
CDN.ProdTechnologiaZasoby AS PTZ ON PTZ.PTZ_Id = pza.PZA_TechnologiaZasob LEFT OUTER JOIN
CDN.ProdTechnologiaCzynnosci AS PTC ON PTC.PTC_Id = PTZ.PTZ_TechnologiaCzynnosc LEFT OUTER JOIN
CDN.ProdTechnologia AS PTE ON PTE.PTE_Id = PTC.PTC_Technologia LEFT OUTER JOIN
CDN.TwrKarty AS TK ON TK.Twr_GIDNumer = PTZ.PTZ_TwrNumer INNER JOIN
CDN.Atrybuty ON CDN.Atrybuty.Atr_ObiNumer = TK.Twr_GIDNumer AND CDN.Atrybuty.Atr_AtkId = 29 AND CDN.Atrybuty.Atr_ObiTyp = 16 AND
(CDN.Atrybuty.Atr_Wartosc = 'Półprodukty' OR
CDN.Atrybuty.Atr_Wartosc = 'Materiały') INNER JOIN
CDN.ProdKosztyElem ON pza.PZA_Id = CDN.ProdKosztyElem.PKE_ObiNumer
ORDER BY Technologia, Material
Re: Koszty materiałów na Zleceniu produkcyjnym:
Można i tak W dowolnym Systemie Comarch
Kryptoreklama
Kryptoreklama