Bakiye Durumu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Bakiye Durumu

Mesaj gönderen erdogan_ozkaya »

Arkadaşlar, aşağıdaki kod ile ile borç alacak bakiyesine bakıyorum fakat baykiyeyi eksi ise -500 gibi veriyor artı isede 500 veriyor ekside olsa artıda olsa sadece rakamı yazmasını nasıl sağlayabilirim

teşekkürler

Kod: Tümünü seç

declare @bakiyeler table
(
	ID bigint,
	KOD nvarchar(150), // Cari Kod
	CCFI nvarchar(150), // CarıCalısılanFırmaId 
	UNVAN nvarchar(255), // Cari Ünvan
	CALISMA_YILI nvarchar(255), // Cari Çalışma Yılı
	DEVIR_YAPILDIMI nvarchar(255),  // Cari Yıl Sonu Devir
	BORC numeric(18,2), // Cari Borc
	ALACAK numeric(18,2), // Cari Alacak
	BAKIYE numeric(18,2), // Cari Bakiye 
	DURUM nvarchar(255)  // Cari Bakiye Durumu -Borçlu- -Alacaklı-
	 

)
 
insert into @bakiyeler  
select 
ct.Cari_ID,  
ct.Genel_Cari_Kodu, 
ct.Calisilan_Firma_ID,
ct.Genel_Cari_Unvan, 
ct.CALISMA_YILI,
ct.DEVIR_YAPILDIMI,


sum(ch.Fis_Genel_Toplami_Borc) as BORC, 
sum(ch.Fis_Genel_Toplami_Alacak) as ALACAK , 

(
sum(ch.Fis_Genel_Toplami_Borc) -
sum(ch.Fis_Genel_Toplami_Alacak) 

)

 as BAKIYE, ct.Genel_Cari_Unvan 

from HESAP_HAREKETLERI as ch, CARI_KART_LISTE as ct 
where 
ch.Cari_Kart_ID = ct.Cari_ID 

AND 
 Durumu <> 'Ödendi' 

/*AND 
CHMUSTERITIP='Alıcı+Satıcı' OR 
CHMUSTERITIP='Alıcı' OR 
CHMUSTERITIP='Satıcı' 
*/
group by ct.Cari_ID,  
ct.Genel_Cari_Kodu, 
ct.Calisilan_Firma_ID,
ct.Genel_Cari_Unvan, 
ct.CALISMA_YILI,
ct.DEVIR_YAPILDIMI

Order By Cari_ID ASC
 
declare @borclular table (id bigint);
insert into @borclular select ID from @bakiyeler where BAKIYE > 0

declare @alacaklilar table (id bigint);
insert into @alacaklilar select ID from @bakiyeler where BAKIYE < 0

declare @temizler table (id bigint);
insert into @temizler select ID from @bakiyeler where BAKIYE = 0 or BAKIYE = null
 
update @bakiyeler set durum = 'Borçlu' where ID in ( select id from @borclular )
update @bakiyeler set durum = 'Alacaklı' where ID in ( select id from @alacaklilar )
update @bakiyeler set durum = '-' where ID in ( select id from @temizler )
 
select * from @bakiyeler



Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Bakiye Durumu

Mesaj gönderen vkamadan »

merhaba ,
ABS() kullanabilirsiniz mutlak değer fonksiyonudur. MSSQL bilmiyorum MSSQL için Absulate,ABS vb gibi aratabilirsiniz.
Volkan KAMADAN
www.polisoft.com.tr
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: Bakiye Durumu

Mesaj gönderen erdogan_ozkaya »

evet hocam oldu çok teşekkürler

:)

Kod: Tümünü seç

declare @bakiyeler table
(
	ID bigint,
	KOD nvarchar(150),
	CCFI nvarchar(150),
	UNVAN nvarchar(255),
	CALISMA_YILI nvarchar(255),
	DEVIR_YAPILDIMI nvarchar(255),
	BORC numeric(18,2),
	ALACAK numeric(18,2),
	BAKIYE numeric(18,2),
	DURUM nvarchar(255) 
	 

)
 
insert into @bakiyeler  
select 
ct.Cari_ID,  
ct.Genel_Cari_Kodu, 
ct.Calisilan_Firma_ID,
ct.Genel_Cari_Unvan, 
ct.CALISMA_YILI,
ct.DEVIR_YAPILDIMI,


sum(ch.Fis_Genel_Toplami_Borc) as BORC, 
sum(ch.Fis_Genel_Toplami_Alacak) as ALACAK , 

abs(( ////////////bu kısım
sum(ch.Fis_Genel_Toplami_Borc) -
sum(ch.Fis_Genel_Toplami_Alacak) 

))

 as BAKIYE, ct.Genel_Cari_Unvan 

from HESAP_HAREKETLERI as ch, CARI_KART_LISTE as ct 
where 
ch.Cari_Kart_ID = ct.Cari_ID 

AND 
 Durumu <> 'Ödendi' 

/*AND ABS(-17.5)
CHMUSTERITIP='Alıcı+Satıcı' OR 
CHMUSTERITIP='Alıcı' OR 
CHMUSTERITIP='Satıcı' 
*/
group by ct.Cari_ID,  
ct.Genel_Cari_Kodu, 
ct.Calisilan_Firma_ID,
ct.Genel_Cari_Unvan, 
ct.CALISMA_YILI,
ct.DEVIR_YAPILDIMI

Order By Cari_ID ASC
 
declare @borclular table (id bigint);
insert into @borclular select ID from @bakiyeler where BAKIYE > 0

declare @alacaklilar table (id bigint);
insert into @alacaklilar select ID from @bakiyeler where BAKIYE < 0

declare @temizler table (id bigint);
insert into @temizler select ID from @bakiyeler where BAKIYE = 0 or BAKIYE = null
 
update @bakiyeler set durum = 'Borçlu' where ID in ( select id from @borclular )
update @bakiyeler set durum = 'Alacaklı' where ID in ( select id from @alacaklilar )
update @bakiyeler set durum = '-' where ID in ( select id from @temizler )
 
select * from @bakiyeler



Cevapla