Müşteriye Özel Fiyat Tanımlamak....
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Müşteriye Özel Fiyat Tanımlamak....
Merhabalar,
İki tane tablom var. Birincisinde Müşteriler ikincisinde ise ürünleri tutuyorum. Kabaca örnek olarak yazayım
Ürünler Tablosu
=================
Kodu Adi Fiyatı
001 Kalem 10
002 Defter 15
003 Silgi 5
Müşteriler Tablosu
=================
Kodu Adi
01 Ahmet
02 Hakan
03 Pelin
yukarıdakiler örnek amacı ile verilmiştir.
Benim yapmak istediğim Ürün tablosunda bulunan genel fiyatlar geçerli olmak şartıyla ayrıca her müşteri için özel fiyat tanımlamak mesala Kalem 10 YTL ama ben Ahmet için kalem fiyatını 5 YTL ve Pelin için 8 YTL olarak belirlemek istiyorum yani müşteriye özel fiyat belirlemek istiyorum. İlk başta basit gibi görünen bu işlemin SQL sorgusu için saatlerdir uğraşıyorum bir durum için doğru olan sonuc diğerine uymuyor. Mesala indirimli ürünleri getiriyorum ama yanında normal fiyatlı üründe geliyor ben bunu istemiyorum. İndirim varsa sadece indirimli yoksa normal fiyatı gelsin. Yardımcı olursanız çok sevinirim. şimdiden teşekkürler.
İki tane tablom var. Birincisinde Müşteriler ikincisinde ise ürünleri tutuyorum. Kabaca örnek olarak yazayım
Ürünler Tablosu
=================
Kodu Adi Fiyatı
001 Kalem 10
002 Defter 15
003 Silgi 5
Müşteriler Tablosu
=================
Kodu Adi
01 Ahmet
02 Hakan
03 Pelin
yukarıdakiler örnek amacı ile verilmiştir.
Benim yapmak istediğim Ürün tablosunda bulunan genel fiyatlar geçerli olmak şartıyla ayrıca her müşteri için özel fiyat tanımlamak mesala Kalem 10 YTL ama ben Ahmet için kalem fiyatını 5 YTL ve Pelin için 8 YTL olarak belirlemek istiyorum yani müşteriye özel fiyat belirlemek istiyorum. İlk başta basit gibi görünen bu işlemin SQL sorgusu için saatlerdir uğraşıyorum bir durum için doğru olan sonuc diğerine uymuyor. Mesala indirimli ürünleri getiriyorum ama yanında normal fiyatlı üründe geliyor ben bunu istemiyorum. İndirim varsa sadece indirimli yoksa normal fiyatı gelsin. Yardımcı olursanız çok sevinirim. şimdiden teşekkürler.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Müşteriler tablosuna 2 adet alan ekleyip birine Boolean tipinde İskontolu müşteri, diğer alana da integer tipinde iskonto yüzdesi tanımlayarak bu işi halledebilirsiniz.
Satış esnasında da bu müşteriye ürün satarken iskonto alanı işaretliyse iskonto oranında indirim yaparak satış yapabilirsiniz.
ve her müşteri için de ayrı ayır iskonto oranı tanımlama şansınız vardır.
Kolay gelsin.
Satış esnasında da bu müşteriye ürün satarken iskonto alanı işaretliyse iskonto oranında indirim yaparak satış yapabilirsiniz.
ve her müşteri için de ayrı ayır iskonto oranı tanımlama şansınız vardır.
Kolay gelsin.
Merhaba,
Ürün tablosu burada gördüğünüz gibi tek fiyattan oluşmuyor.Aslında bizde sizin dediğiniz gibi iskonto kullanıyoruz ama müşteri değil ürüne tanımlı bu iskontolar. Dolayısıyla müşteriler tablosuna böyle bir ekleme yapmaktan ziyade bu işi ürünler tablosu üzerinden çözmeye çalışıyoruz. Bu konuda yardımınızı bekliyorum.
Ürün tablosu burada gördüğünüz gibi tek fiyattan oluşmuyor.Aslında bizde sizin dediğiniz gibi iskonto kullanıyoruz ama müşteri değil ürüne tanımlı bu iskontolar. Dolayısıyla müşteriler tablosuna böyle bir ekleme yapmaktan ziyade bu işi ürünler tablosu üzerinden çözmeye çalışıyoruz. Bu konuda yardımınızı bekliyorum.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Ürünler bazında iskonto tanımlarsanız o zaman her müşteriye iskontolu satmanız gerekmez mi, yada şöyle yaparsınız;
Ürün tablosunda iskonto oranını belirlersiniz, müşteri tablosunda iskontolu müşteri olup olmadığını tanımlarsınız.
yada ürün tablosuna boolean tipinde iskonto alanı ekleyip müşteri kartlarında müşteriye iskonto oranını belirlersiniz.
Ama bana göre mantıklı olanı müşteri kartlarında iskonto seçeneği ve iskonto oranını belirlemek. ve varsayılan satış fiyatı üzerinden buna göre satış yapmak.
Ürün tablosunda iskonto oranını belirlersiniz, müşteri tablosunda iskontolu müşteri olup olmadığını tanımlarsınız.
yada ürün tablosuna boolean tipinde iskonto alanı ekleyip müşteri kartlarında müşteriye iskonto oranını belirlersiniz.
Ama bana göre mantıklı olanı müşteri kartlarında iskonto seçeneği ve iskonto oranını belirlemek. ve varsayılan satış fiyatı üzerinden buna göre satış yapmak.
iki tablo ile cozemezsinn bunu.. musterii tablonda bir bolean alann olcak. herhangi bir üründen iskotası varmı yokmu onu , iskoto ürünn diye bir tablo ac musteri kodu ve ürün kodu gelsin buraya işte urunn fiyatını neye gore belirliyorsan artık buradan urun fityaıtı yada üründeki iskonto tutarını aldrıp işlem yaptırabilirsin. ama ürünbazında fiyat iki tablo ile olmaz.
Başlayan Herşey Birgün Bitmek Zorundadır.
Bence ucuncu bir tablo bu tabloda
musteri kodu,urun kodu ve iskonto oranı bulunur.
boylece her urun için ayrı ayrı her musteriye iskonto yapabilirsin..
bunuda inner joinlerle birlestirip sql sorgunda ilgili veriyi alabilirsin.
eger urun gruplarına gore iskonto istersen o zaman urun tablonda urun grubu tutup ona gorede tanımlama yapabilirsin.
musteri kodu,urun kodu ve iskonto oranı bulunur.
boylece her urun için ayrı ayrı her musteriye iskonto yapabilirsin..
bunuda inner joinlerle birlestirip sql sorgunda ilgili veriyi alabilirsin.
eger urun gruplarına gore iskonto istersen o zaman urun tablonda urun grubu tutup ona gorede tanımlama yapabilirsin.
Merhaba,
Ticari programlar genelde fiyatları ayrı bir tabloda tutmaktadır. Bu tabloya fiyatı, fiyatın geçerlilik tarihlerini, fiyatın geçerli olacağı cari hesap/hesaplarını cari hesabın özel ve grup koduna göre fiyatlarını vb. özelliklerde fiyatlarını kaydediyorlar.
Size gelince öyle yapmadığınız için o treni kaçırmışsınız. Bu yüzden sizinkine yakın bir çözüm üretmeye çalışalım.
Verdiğiniz ürün tablosuna isk1,isk2,isk3 gibi 3 iskonto alanı ekledim.
Sizin verilere göre
Ürünler Tablosu
=================
Kodu Adi Fiyatı isk1 isk2 isk3
001 Kalem 10 5 7 10
002 Defter 15 3 5 7
003 Silgi 5 4 6 8
şeklinde veri girdim.
Cari tablosuna ise ürün iskonto durumu için isd1,isd2,isd3 diye alanlar ekledim.
Müşteriler Tablosu
=================
Kodu Adi isd1 isd2 isd3
01 Ahmet 1 0 0
02 Hakan 0 0 0
03 Pelin 1 0 1
şeklinde veriler girdim. Mesela 1. iskonto için peşinat ,2. için vadeli, 3. için özel iskonto denilebilir.
Aşağıdaki kodu kullanarak Carilere göre malların kaça mal olduğu görülebilir.
Yukarıdaki program fiyatı verilen iskontolara göre hesaplayıp vermektedir.
Siz yukarıdaki koddaki 2. selecti alarak ürün ve cariye göre tek rakamı alarak kullanacaksınız. Yani yukarıdaki kodun
kısmını alıp WHERE kısmını uygun şekilde kullanarak istediğinizi alabileceksiniz.
Dikkat ederseniz tek bir deyimle alıyorsunuz ve if kullanmaya da gerek yok.
Kolay gelsin.
Ticari programlar genelde fiyatları ayrı bir tabloda tutmaktadır. Bu tabloya fiyatı, fiyatın geçerlilik tarihlerini, fiyatın geçerli olacağı cari hesap/hesaplarını cari hesabın özel ve grup koduna göre fiyatlarını vb. özelliklerde fiyatlarını kaydediyorlar.
Size gelince öyle yapmadığınız için o treni kaçırmışsınız. Bu yüzden sizinkine yakın bir çözüm üretmeye çalışalım.
Verdiğiniz ürün tablosuna isk1,isk2,isk3 gibi 3 iskonto alanı ekledim.
Sizin verilere göre
Ürünler Tablosu
=================
Kodu Adi Fiyatı isk1 isk2 isk3
001 Kalem 10 5 7 10
002 Defter 15 3 5 7
003 Silgi 5 4 6 8
şeklinde veri girdim.
Cari tablosuna ise ürün iskonto durumu için isd1,isd2,isd3 diye alanlar ekledim.
Müşteriler Tablosu
=================
Kodu Adi isd1 isd2 isd3
01 Ahmet 1 0 0
02 Hakan 0 0 0
03 Pelin 1 0 1
şeklinde veriler girdim. Mesela 1. iskonto için peşinat ,2. için vadeli, 3. için özel iskonto denilebilir.
Aşağıdaki kodu kullanarak Carilere göre malların kaça mal olduğu görülebilir.
Kod: Tümünü seç
SELECT M1.ADI,M1.ISD1,M1.ISD2,M1.ISD3,U1.ADI,U1.ISK1,U1.ISK2,U1.ISK3,
(SELECT
U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100))
-((U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100)))*M.ISD2*U.ISK2/100)
-(U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100))-((U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100)))*M.ISD2*U.ISK2/100))*M.ISD3*U.ISK3/100
FROM CAPPYCLIENT M,CAPPYURUN U
WHERE M.KODU=M1.KODU AND U.KODU=U1.KODU
) AS FİYAT
FROM CAPPYCLIENT M1 , CAPPYURUN U1
Siz yukarıdaki koddaki 2. selecti alarak ürün ve cariye göre tek rakamı alarak kullanacaksınız. Yani yukarıdaki kodun
Kod: Tümünü seç
SELECT
U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100))
-((U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100)))*M.ISD2*U.ISK2/100)
-(U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100))-((U.FIYATI-(M.ISD1*(U.FIYATI*U.ISK1/100)))*M.ISD2*U.ISK2/100))*M.ISD3*U.ISK3/100
FROM CAPPYCLIENT M,CAPPYURUN U
WHERE M.KODU=M1.KODU AND U.KODU=U1.KODU
Dikkat ederseniz tek bir deyimle alıyorsunuz ve if kullanmaya da gerek yok.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis