Sonunda biri cevap verdi
Öncelikle cevap için teşekkür ederim...
Göndermiş olduğunuz sayfayı internette bulup ona göre bi kod hazırlamıştım zaten aşağıda sizinlede paylaşayım. Sizin dediğiniz gibi stok maliyetlerinin ağırlıklı ortalamaya göre hesaplanması bir çok firmada mümkün değil bunun için bir çok etken sayabilirim.. fakat en azından yaklaşık sonucu alabileceğim teyit edebileceğim bir kod yapısına ihtiyacım var... en azından sizede fikir olması için kodları yazıyorum sizde bi gözden geçirin bakalım... bunun üstünden nereye varabiliriz...
'
select
MALZEME.LOGICALREF Mref,
ISNULL(NULLIF(SUM(CASE WHEN SATIR.LINETYPE IN (0,1) AND SATIR.TRCODE in (1,14) THEN SATIR.AMOUNT*(SATIR.UINFO2/BIRIM.CONVFACT2) ELSE 0 END -
CASE WHEN SATIR.LINETYPE IN (0,1) AND SATIR.TRCODE = 6 THEN SATIR.AMOUNT*(SATIR.UINFO2/BIRIM.CONVFACT2) ELSE 0 END),0),1) AlimMiktar,
SUM(CASE WHEN SATIR.LINETYPE in (0,1) AND SATIR.TRCODE in (1,14) THEN SATIR.TOTAL - SATIR.DISTDISC ELSE 0 END -
CASE WHEN SATIR.LINETYPE in (0,1) AND SATIR.TRCODE = 6 THEN SATIR.TOTAL - SATIR.DISTDISC ELSE 0 END) AlımTutar,
SUM(CASE WHEN SATIR.LINETYPE in (0,1) AND SATIR.TRCODE in (1,14) THEN SATIR.TOTAL - SATIR.DISTDISC ELSE 0 END -
CASE WHEN SATIR.LINETYPE in (0,1) AND SATIR.TRCODE = 6 THEN SATIR.TOTAL - SATIR.DISTDISC ELSE 0 END) / ISNULL(NULLIF(SUM(CASE WHEN SATIR.LINETYPE IN (0,1) AND SATIR.TRCODE in (1,14) THEN SATIR.AMOUNT*(SATIR.UINFO2/BIRIM.CONVFACT2) ELSE 0 END -
CASE WHEN SATIR.LINETYPE IN (0,1) AND SATIR.TRCODE = 6 THEN SATIR.AMOUNT*(SATIR.UINFO2/BIRIM.CONVFACT2) ELSE 0 END),0),1) BirimMaliyet
from
LogoD_2012..LG_412_01_STLINE SATIR WITH(NOLOCK),
LogoD_2012..LG_412_ITEMS MALZEME WITH(NOLOCK),
LogoD_2012..LG_412_ITMUNITA BIRIM WITH(NOLOCK),
LogoD_2012..LG_412_UNITSETL BIRIM2 WITH(NOLOCK)
where
SATIR.STOCKREF=MALZEME.LOGICALREF AND
MALZEME.LOGICALREF=BIRIM.ITEMREF AND
BIRIM.UNITLINEREF=BIRIM2.LOGICALREF
AND TRCODE in (1,6,14)
AND MALZEME.CODE NOT LIKE '99%'
AND BIRIM2.CODE IN ('ADET','AD')
AND SATIR.LINETYPE in (0,1)
group by
MALZEME.LOGICALREF
'