• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

SQL Sorgu Logoda birim fiyat ve birim fiyat net

Koboy66

Yeni Üye
Katılım
12 Ara 2018
Mesajlar
42
En iyi yanıt
0
Puanları
8
Yaş
43
Konum
İstanbul
Ad Soyad
Erkan uzun
Merhaba sql sorgu ile son birim fiyatı alıyorum ançak malzeme hareketlerine girdiğimde
birim fiyat ve birim fiyat net yazıyor ben birim fiyat neti nasıl bulurum
coz.jpg

SQL:
   SELECT     TOP (100) PERCENT ITM.CODE AS Kodu, ITM.NAME AS Adı, TOT.ONHAND AS [Eldeki Miktar],
                          (SELECT     TOP (1) isnull(LINENET,0) / AMOUNT * 10000 / 10000 AS Expr1
                            FROM          dbo.LG_017_01_STLINE
                            WHERE      (STOCKREF = ITM.LOGICALREF) AND (TRCODE IN (1)) AND (LPRODSTAT = 0) AND (LINETYPE = 0) OR
                                         (STOCKREF = ITM.LOGICALREF) AND (TRCODE IN (1, 14)) AND (LPRODSTAT = 0) AND (LINETYPE = 0) AND (BILLED = 0)
                                                
                            ORDER BY DATE_ DESC) AS [SONALIS],  TOT.STOCKREF, ITM.LOGICALREF
FROM         dbo.LV_017_01_GNTOTST AS TOT INNER JOIN
                      dbo.LG_017_ITEMS AS ITM ON ITM.LOGICALREF = TOT.STOCKREF
WHERE     (TOT.INVENNO = -0) AND (ITM.ACTIVE = 0)
 

Vedat ÖZER

Logo Uzmanı
Geliştirici
Katılım
4 Haz 2018
Mesajlar
288
En iyi yanıt
4
Puanları
63
Yaş
33
Konum
Antalya / Merkez
Ad Soyad
Vedat ÖZER
Office Vers.
2019
Merhaba,

Sanırım Maliyet Dağıtım Fişlerini kullanıyorsunuz. Stlıne.COSTDISTPRICE sorguya ekleyerek çözüme gidebilir siniz.
Buna benzer bir çözüm yazmıştık zamanında inceleyin.

SQL:
SELECT 
ITEMS.CODE 'Stok Kodu',
ITEMS.NAME 'Stok Adı',
ITEMS.NAME3 'Açıklama2',
ITEMS.STGRPCODE 'Stok Grup', 
CASE WHEN ITEMS.ACTIVE=0 THEN 'Kullanımda' else 'Kullanım Dışı' end 'Kart Durumu', 
[Fiili Stok]=ISNULL((SELECT ROUND(SUM(TOT.ONHAND),2) FROM LV_006_01_STINVTOT TOT WHERE TOT.STOCKREF=ITEMS.LOGICALREF AND 
TOT.INVENNO=-1),0),
UNITSETL.CODE [Ana Birim],
ISNULL(ALIS.[Birim Fiyat],0)[Birim Fiyat],
ISNULL(ALIS.[Birim Fiyat (Net)],0) [Birim Fiyat (Net)],
[Tanımlı Satış Fiyatı]=CAST(ISNULL((SELECT TOP 1 Lİ.PRICE FROM LG_006_PRCLIST AS Lİ WHERE Lİ.CARDREF=ITEMS.LOGICALREF AND Lİ.PTYPE='2' 
AND((Lİ.BEGDATE>=CONVERT(DATETIME,GETDATE(),104) AND Lİ.BEGDATE<=CONVERT(DATETIME,GETDATE(),104) ) OR 
(Lİ.ENDDATE>=CONVERT(DATETIME,GETDATE(),104) AND Lİ.ENDDATE<=CONVERT(DATETIME,GETDATE(),104) ) OR 
(Lİ.BEGDATE<=CONVERT(DATETIME,GETDATE(),104) AND Lİ.ENDDATE>=CONVERT(DATETIME,GETDATE(),104)))),0) AS decimal(38,2))
FROM LG_006_ITEMS ITEMS WITH(NOLOCK) LEFT OUTER JOIN LG_006_UNITSETL UNITSETL WITH(NOLOCK) ON ITEMS.UNITSETREF=UNITSETL.UNITSETREF AND UNITSETL.MAINUNIT=1
OUTER APPLY
(
SELECT TOP 1 STOCKREF,DATE_,FTIME,
CAST(ISNULL(VATMATRAH/NULLIF(AMOUNT,0),0) AS decimal(38,2)) [Birim Fiyat],
CAST(ISNULL((VATMATRAH+COSTDISTPRICE)/NULLIF(AMOUNT,0),0) AS decimal(38,2)) [Birim Fiyat (Net)]
FROM (
SELECT
STLINE.STOCKREF,
STLINE.DATE_,
STLINE.FTIME,
STLINE.VATMATRAH,
STLINE.COSTDISTPRICE,
(STLINE.AMOUNT*(CASE WHEN STLINE.UINFO2=0 THEN 1 ELSE STLINE.UINFO2 END)/(CASE WHEN STLINE.UINFO1=0 THEN 1 ELSE STLINE.UINFO1 END)) AMOUNT
FROM LG_006_01_STLINE STLINE WITH(NOLOCK)
WHERE STLINE.TRCODE IN(1,14) AND STFICHEREF<>0 AND STLINE.CANCELLED=0) AS T
WHERE T.STOCKREF=ITEMS.LOGICALREF
ORDER BY DATE_ DESC,FTIME DESC
) AS ALIS
WHERE ITEMS.CARDTYPE<>22 
ORDER BY 1,2
 

Koboy66

Yeni Üye
Katılım
12 Ara 2018
Mesajlar
42
En iyi yanıt
0
Puanları
8
Yaş
43
Konum
İstanbul
Ad Soyad
Erkan uzun
merhaba vedat bey fiili stok sıfırdan büyük ve işlem dövizine göre birim fiyatı nasıl yapabilirim
 

Vedat ÖZER

Logo Uzmanı
Geliştirici
Katılım
4 Haz 2018
Mesajlar
288
En iyi yanıt
4
Puanları
63
Yaş
33
Konum
Antalya / Merkez
Ad Soyad
Vedat ÖZER
Office Vers.
2019
Merhaba,

Birinci sorunuzla alakalı sorun sanırım çözüldü ?

İkinci sorunuz ile alakalı ;

Fiili stok için Where kısmına >0 gibi yazmanız lazım.

Örneğin;
SQL:
ISNULL((SELECT ROUND(SUM(TOT.ONHAND),2) FROM LV_006_01_STINVTOT TOT WHERE TOT.STOCKREF=ITEMS.LOGICALREF AND
TOT.INVENNO=-1),0)>0

İkinci sorunuz ile alakalı ;

Outer apply ile getirdiğim verilere PRCURR [Döviz Tipi],PRRATE [Kur] gibi alanları kullanarak istediğiniz sonuca gidebilir siniz.
 
Üst Alt