Koszty materiałów na Zleceniu produkcyjnym:

Problemy i pomysły związane z funkcjonowaniem modułu Produkcja

Moderator: mikey

zimas
Posty: 35
Rejestracja: 26 maja 2014, 10:29
Rola: Administrator CDN XL
Wersja: 2018

Koszty materiałów na Zleceniu produkcyjnym:

Post autor: zimas »

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

zimas
Posty: 35
Rejestracja: 26 maja 2014, 10:29
Rola: Administrator CDN XL
Wersja: 2018

Re: Koszty materiałów na Zleceniu produkcyjnym:

Post autor: zimas »

Wersja 2:

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
+ Widok

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

profisoft
Posty: 5
Rejestracja: 24 lis 2009, 21:53
Rola: Inny

Re: Koszty materiałów na Zleceniu produkcyjnym:

Post autor: profisoft »

Można i tak :) W dowolnym Systemie Comarch
Kryptoreklama

ODPOWIEDZ