Ağırlıklı ortalama maliyet yöntemine göre rapor...

Gönderen Konu: Ağırlıklı ortalama maliyet yöntemine göre rapor...  (Okunma sayısı 2546 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı luxtor

  • Yeni Kullanıcı
  • *
  • Karma: 0
Merhaba arkadaşlar...

Stok tarafında ağırlıklı ortalama maliyet yöntemine göre nasıl rapor alabilirim.

yalnız bu raporun bana sql kodları lazım.. program içinden veya navigator ile değil...

Yardımlarınız için şimdiden teşekkürler...

Çevrimdışı ARSLAN_Aslan

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 3
  • yazilimyeri.com
------------------------
ALINTI ;
Ağırlıklı ortalama maliyet:
Bu ortalama maliyette, satın alınan malların miktarları göz önünde bulundurulur. Satın alınan mal miktarı ile birim fiyatı çarpılarak miktarlara göre ağırlık verilmiştir. Mal miktarları ile birim fiyatları çarpımı olan mal alış değerleri toplamının alınan toplam mal miktarına bölünmesiyle ağırlıklı ortalama maliyet bulunmuş olur.

Örnek: Bir malın alış miktarları ve alış fiyatları aşağıdaki gibidir.

20 adet malın tanesi 5.000 TL
15 adet malın tanesi 4.000 TL
40 adet malın tanesi 6.000 TL

Ağırlıklı ortalama maliyet yöntemine göre malın maliyeti:

20 x 5.000 = 100.000 TL
15 x 4.000 = 60.000 TL
40 x 6.000 = 240.000 TL

Ağırlıklı ortalama birim maliyet = Toplam maliyet / Toplam adet

(100.000 + 60.000 + 240.000) / ( 20 + 15 + 40)

400.000 / 75 = 5.333 TL

--------------------

Yukardaki duruma göre SQL kod örneği kafanda oluşturmaya çalış,

? Satır Tutarları Toplamı /Satır Miktarları toplamı
? İndirimlerin toplamını ve promosyonların toplamını ne yapacağız onuda düşünmek lazım.

bence SQL maliyet hesabı başarılı olacağına kanaat vermiyorum.
Program bile hesaplamakta çoğu zaman yan etkenlerden dolayı sonuç başarısız olmakta.
« Son Düzenleme: 05.09.2012, 16:36 Gönderen: Maruf ARSLAN »

Çevrimdışı luxtor

  • Yeni Kullanıcı
  • *
  • Karma: 0
Sonunda biri cevap verdi  :D

Ö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

'


Çevrimdışı ARSLAN_Aslan

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 3
  • yazilimyeri.com
(+) stok hareketleri ve (-) stok hareketleri olmak üzere view yazın. view INSERT INTO ile her akşam zamanlanmış görevle SQL tablo oluştursun.
( mevcut tabloyu ezerek) bu tablolarla yol alırsanız daha sağlıklı hızlı çalışır kanaatindeyim.

tip,tarih,tutar,miktar gibi bilgiler içeren view olsa  .....

sesli düşündüm.